mercredi 30 septembre 2009

compilation virtualbox failed

Problème :

La compilation de virtual-box échoue :

...
>>> Failed to emerge app-emulation/virtualbox-modules-1.6.6-r1, Log file:

>>> '/var/tmp/portage/app-emulation/virtualbox-modules-1.6.6-r1/temp/build.log'

* Messages for package app-emulation/virtualbox-modules-1.6.6-r1:

*
* ERROR: app-emulation/virtualbox-modules-1.6.6-r1 failed.
* Call stack:
* ebuild.sh, line 49: Called src_compile
* environment, line 3365: Called linux-mod_src_compile
* environment, line 2605: Called die
* The specific snippet of code:
* eval "emake HOSTCC=\"$(tc-getBUILD_CC)\" CROSS_COMPILE=${CHOST}- LDFLAGS=\"$(get_abi_LDFLAGS)\" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CROSS_COMPILE=${CHOST}- LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}";
* The die message:
* Unable to emake HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS= KERN_DIR=/usr/src/linux KERNOUT=/usr/src/linux all
*
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/tmp/portage/app-emulation/virtualbox-modules-1.6.6-r1/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/app-emulation/virtualbox-modules-1.6.6-r1/temp/environment'.
...


Solution :

La version stable de virtualbox est trop vieille pour ce noyau.Il faut donc récupérer les packets en x86 de virtualbox.
Pour cela, ajoutez dans /etc/portage/package.keywords :

app-emulation/virtualbox-ose ~x86
app-emulation/virtualbox-modules ~x86
app-emulation/virtualbox-ose-additions ~x86
dev-util/kbuild ~x86


Puis emerge app-emulation/virtualbox-ose

lundi 28 septembre 2009

Failed to emerge dev-java/ant-core-1.7.1-r4

Problème

Lorsque je mets à jour ma gentoo, j'ai l'erreur suivante :
Failed to emerge dev-java/ant-core-1.7.1-r4
Le problème vient de java_config qui produit l'erreur suivante :
Traceback (most recent call last):
File "/usr/bin/java-config-2", line 8, in
from java_config_2 import __version__
ImportError: No module named java_config_2

Solution

Il faut re-emerge java-config après une mise à jour.
=> Solution : emerge -l java-config




Exemple d'erreur de compilation :
Traceback (most recent call last):
File "/usr/bin/java-config-2", line 8, in
from java_config_2 import __version__
ImportError: No module named java_config_2
*
* Can't run java-config --help
* Have you upgraded python recently but haven't
* run python-updater yet?
*
* ERROR: dev-java/ant-core-1.7.1-r4 failed.
* Call stack:
* ebuild.sh, line 49: Called pkg_setup
* ebuild.sh, line 1273: Called java-pkg-2_pkg_setup
* java-pkg-2.eclass, line 61: Called java-pkg_init
* java-utils-2.eclass, line 2050: Called die
* The specific snippet of code:
* die "Can't run java-config --help"
* The die message:
* Can't run java-config --help
*
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/tmp/portage/dev-java/ant-core-1.7.1-r4/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/dev-java/ant-core-1.7.1-r4/temp/die.env'.
*
!!! When you file a bug report, please include the following information:
GENTOO_VM= CLASSPATH="." JAVA_HOME=""
JAVACFLAGS="" COMPILER=""
and of course, the output of emerge --info

>>> Failed to emerge dev-java/ant-core-1.7.1-r4, Log file:

>>> '/var/tmp/portage/dev-java/ant-core-1.7.1-r4/temp/build.log'

* Messages for package dev-java/ant-core-1.7.1-r4:

*
* Can't run java-config --help
* Have you upgraded python recently but haven't
* run python-updater yet?
*
* ERROR: dev-java/ant-core-1.7.1-r4 failed.
* Call stack:
* ebuild.sh, line 49: Called pkg_setup
* ebuild.sh, line 1273: Called java-pkg-2_pkg_setup
* java-pkg-2.eclass, line 61: Called java-pkg_init
* java-utils-2.eclass, line 2050: Called die
* The specific snippet of code:
* die "Can't run java-config --help"
* The die message:
* Can't run java-config --help
*
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/tmp/portage/dev-java/ant-core-1.7.1-r4/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/dev-java/ant-core-1.7.1-r4/temp/die.env'.

vendredi 25 septembre 2009

Recherche rapide d'un ebuild : eix

Problème :

Il existe plusieurs manière de rechercher un paquet.La plus connu est : emerge -s monpaquet
Existe t-il un outil plus rapide ?


Solution :

Il existe un outil plus rapide pour rechercher si votre paquet existe sur l'arbre portage
ou sur des arbres non officiel : eix

0) Installation
       $ echo app-portage/eix >> /etc/portage/package.keywords
Puis installez le paquet :
$ emerge -av app-portage/eix


1) Mettre à jour eix (à executer après une mise à jour de votre système : emerge --sync) : update-eix

2) Recherche du packet (mediawiki dans notre cas) : eix -s mediawiki


Plus d'informations sur gentoofr

lundi 21 septembre 2009

Gentoo wiki

Vous recherchez de l'aide sur l'installation et la configuration de votre Gentoo ?
Allez faire un tour du côté du Wiki Gentoo

samedi 19 septembre 2009

equery

Définition : Equery est un outil d'interrogation sur les packages. Il provient du package gentoolkit.

Installation :

# emerge gentoolkit

Utilisation :

Voici des exemples d'utilisation courantes de la commandes equery :

- Lister tous les packages installés sur votre système : equery l

$ equery l
ou
$ equery list


L'affichage produit par equery est de la forme suivante : [---] [--] package.

Le premier groupe peut avoir les valeurs suivantes ( [---] ) :
I : package installés
P : Portage
O : Overlay

Le deuxième groupe concerne les masques ( [--] ):

~ : par mot clés
- : par achitecture
M : masqué en dur


Exemple :
$ equery l
[ Searching for all packages in all categories among: ]
* installed packages
[I--] [ ] app-admin/eselect-1.1.3 (0)

[I--] [M ] app-admin/eselect-ctags-1.5 (0)

...


- Lister les dépendances d'un paquet : equery depends [packet]

$ equery depends vim
[ Searching for packages depending on vim... ]

app-vim/gentoo-syntax-20070506 (>=app-editors/vim-7.0)

virtual/editor-0 (app-editors/vim)



- Trouver à quel paquet appartient ce fichier. equery b [fichier]

# equery belongs /usr/bin/audacious
ou
# equery b /usr/bin/audacious



Pour de plus amples information sur cette commande, vous pouvez consulter la documentation
officiel gentoo : gentoolkit

samedi 12 septembre 2009

Optimisation gentoo : prelink

Definition :

prelink est un executable qui modifie les fichiers binaires pour intégrer les dépendances externes ("shared libraries") dans celui-ci. prelink vous permet d'optimiser le temps de démarrage de vos executables.

Remarque : Le temps gagné est impressionant.


Installation :

emerge prelink
env-update

Utilisation :

prelink -amR

Il faut executer cette commande à chaque fois que l'on met son système à jour car de nouvelles librairies sont mis à jour et doivent être intégré.


Exemple Utilisation :

# prelink -amR
prelink: /usr/lib/xulrunner/xpcshell: Could not find one of the dependencies
prelink: /usr/lib/xulrunner/TestGtkEmbed: Could not find one of the dependencies
prelink: /usr/lib/xulrunner/regxpcom: Could not find one of the dependencies
prelink: /usr/lib/xulrunner/mozilla-xremote-client: Could not find one of the dependencies
prelink: /usr/lib/xulrunner/xulrunner-stub: Could not find one of the dependencies
prelink: /usr/lib/xulrunner/xulrunner-bin: Could not find one of the dependencies
prelink: /usr/bin/qtdemo: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/kde/3.5/bin/kpendulum.kss: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/bin/tcdecode: Cannot prelink against non-PIC shared library /usr/lib/libavcodec.so.52
prelink: /usr/bin/compiz: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/bin/ffmpeg: Cannot prelink against non-PIC shared library /usr/lib/libavutil.so.49
prelink: /usr/kde/3.5/bin/kwave.kss: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/kde/3.5/bin/kgravity.kss: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/kde/3.5/bin/kflux.kss: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/bin/glxgears: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGLcore.so.1
prelink: /usr/kde/3.5/bin/krotation.kss: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/i686-pc-linux-gnu/gcc-bin/4.1.2/i686-pc-linux-gnu-c++ is no longer hardlink to /usr/i686-pc-linux-gnu/gcc-bin/4.1.2/i686-pc-linux-gnu-g++
prelink: /usr/kde/3.5/bin/kspace.kss: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/kde/3.5/bin/ksolarwinds.kss: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/kde/3.5/bin/keuphoria.kss: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/bin/glxinfo: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/kde/3.5/bin/kdesktop_lock: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/kde/3.5/bin/kfountain.kss: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1

Les différents messages affichés sont des warning et rien de plus.La documentation décrit ces messages http://www.gentoo.org/doc/fr/prelink-howto.xml


REMARQUE :

- Cette commande n'est pas dangereuse cependant, il faut vérifier votre espace disque avant d'utiliser cette commande avec df- h car sinon des executables risques d'être tronqués.

mercredi 2 septembre 2009

Comment mettre à jour sa Gentoo ?

La mise à jour de la gentoo doit se faire régulièrement.Cela en consiste en quelques étapes:

1) Mettre à jour l'arbre portage :

$ emerge --sync

2) Mettre le système à jour

$ emerge -p system

$ emerge -u system

3) Mettre les logiciels à jour.


$ emerge -p world
$ emerge -u world


4) Optimisation (facultatif mais appréciable !):

Pour optimiser le temps de démarrage de vos exécutables, vous devez executer cette commande après chaque démarrage :
$ prelink -amR
Il est possible que cette commande ne soit pas disponible sur votre système.Il vous faudra alors l'installer.Allez voir ma documentation pour plus de details : prelink

5) Optimisation de la recherche(facultatif mais appréciable !) :

update-eix
Vous devez installer eix.

Remarques importantes :
- Il est possible qu'on vous invite à effectuer une mise à jour des fichiers de configuration à l'aide de etc-update.Pour chaque modification, il sera possible d'écraser la configuration, de merger ou de garder l'ancienne.Si vous débutez, je vous conseille d'éviter cette commande du moins avant d'avoir effectuer une sauvegarde.
- L'option -p permet de savoir les paquets qui vont être mis à jour.

PoweredByGento