# [emerge] Problème de compilation (Résolu/Solved)

## Max la menace

Bonjour à tous,

J'écris à cause d'un léger problème assez embêtant. J'aurais aimé tester Funtoo donc j'ai commencer à l'installer normal. Mais au moment de la compilation des paquets systèmes avec :

```
emerge --emptytree system
```

Un paquet plante. Ce paquet c'est : libxml2 (en version 2.7.7). J'ai essayé plein de trucs mais en vain. Voilà le message que j'obtiens :

```
make: *** [all] Erreur 2

 * ERROR: dev-libs/libxml2-2.7.7 failed:

 *   emake failed

 * 

 * Call stack:

 *     ebuild.sh, line   47:  Called src_compile

 *   environment, line 5179:  Called _eapi2_src_compile

 *     ebuild.sh, line  635:  Called die

 * The specific snippet of code:

 *         emake || die "emake failed"
```

Donc déjà quand je vois ça... j'ai un peu du mal à comprendre ce qu'il me veut   :Embarassed: 

Enfin quoiqu'il en soit voilà un "support" qui pourrait peut-être vous mettre sur la voie :

```
# emerge --info =dev-libs/libxml2-2.7.7

Portage 2.2_rc67-r2 (default/linux/amd64/2008.0/desktop, gcc-4.4.3, glibc-2.10.1-r1, 2.6.32.16-std158-amd64 x86_64)

=================================================================

                        System Settings

=================================================================

System uname: Linux-2.6.32.16-std158-amd64-x86_64-AMD_Athlon-tm-_X2_Dual-Core_QL-64-with-gentoo-2.1.8

Timestamp of tree: Thu, 16 Sep 2010 05:30:20 +0000

app-shells/bash:     4.0_p37

dev-lang/python:     2.6.5-r3

sys-apps/baselayout: 2.1.8

sys-apps/openrc:     0.6.1-r3

sys-apps/sandbox:    2.2

sys-devel/autoconf:  2.65-r1

sys-devel/automake:  1.11.1

sys-devel/binutils:  2.20.1

sys-devel/gcc:       4.4.3

sys-devel/gcc-config: 1.4.1

sys-devel/libtool:   2.2.6b

sys-devel/make:      3.81-r2

virtual/os-headers:  2.6.32

ACCEPT_KEYWORDS="amd64"

ACCEPT_LICENSE="* -@EULA"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-O2 -march=athlon64 -pipe"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/share/X11/xkb"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"

CXXFLAGS="-O2 -march=athlon64 -pipe"

DISTDIR="/usr/portage/distfiles"

FEATURES="assume-digests distlocks fixpackages mini-manifest news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"

GENTOO_MIRRORS="http://distfiles.gentoo.org/"

LANG="fr_FR.UTF-8"

LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed"

LINGUAS="fr"

MAKEOPTS="-j1 -l1"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="X a52 aac acl acpi alac alsa amd64 berkdb bluetooth branding bzip2 cairo cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr dvdread emboss encode esd exif fam firefox flac fortran gdbm gif gpm gtk hal iconv ipv6 jpeg lame lcms ldap libnotify mad mikmod mmx mng modules mp3 mp4 mpeg mudflap multilib ncurses nls nptl nptlonly ogg opengl openmp pango pcre pdf perl png ppds pppd python qt3 readline reflection sdl session spell sse sse2 ssl startup-notification svg sysfs tcpd tiff truetype unicode usb userlocales vorbis wavpack x264 xcb xml xorg xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="vesa fglrx" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

=================================================================

                        Package Settings

=================================================================

dev-libs/libxml2-2.7.7 was built with the following:

USE="ipv6 (multilib) python readline -debug -doc -examples -test" 

CFLAGS="-O2 -pipe"

CXXFLAGS="-O2 -pipe"
```

Et le make.conf

```
# These settings were set by the metro build script that automatically built th$

# Please consult /etc/make.conf.example for a more detailed example.

ACCEPT_KEYWORDS="amd64"

FEATURES="${FEATURES} mini-manifest"

CHOST="x86_64-pc-linux-gnu"

CFLAGS="-O2 -march=native -pipe"

CXXFLAGS="${CFLAGS}"

MAKEOPTS="-j1 -l1"

USE="nls userlocales unicode -pam -qt4 -qt3support -kde"

GENTOO_MIRRORS="http://distfiles.gentoo.org/"

INPUT_DEVICES="keyboard mouse evdev"

LINGUAS="fr"

VIDEO_CARDS="vesa fglrx"

PORTAGE_ELOG_CLASSES="log warn error info"

PORTAGE_ELOG_SYSTEM="echo:log,warn save:log,warn,error,info syslog:error"
```

Voilà ! Si vous avez une idée... Je vous en remercie d'avance

PS : Dans le wiki de gentoo-quebec ils disent de lancer la commande emerge --emptytree @system. Or j'ai essayé avec et sans @ et je ne vois aucune différence. Y en a t'il une ? Ou le @ est juste pour faire joli ?

----------

## Poussin

Sans nous coller le veritable message d'erreur, c'est dur :s

----------

## Max la menace

Comment ça ? Moi la seule chose que j'ai c'est :

```
make[3]: *** [libxml2mod.la] Erreur 1

make[3]: quittant le répertoire « /var/tmp/portage/dev-libs/libxml2-2.7.7/work/l

ibxml2-2.7.7/python »

make[2]: *** [all-recursive] Erreur 1

make[2]: quittant le répertoire « /var/tmp/portage/dev-libs/libxml2-2.7.7/work/l

ibxml2-2.7.7/python »

make[1]: *** [all-recursive] Erreur 1

make[1]: quittant le répertoire « /var/tmp/portage/dev-libs/libxml2-2.7.7/work/libxml2-2.7.7 »

make: *** [all] Erreur 2

 * ERROR: dev-libs/libxml2-2.7.7 failed:

 *   emake failed

 * 

 * Call stack:

 *     ebuild.sh, line   47:  Called src_compile

 *   environment, line 5179:  Called _eapi2_src_compile

 *     ebuild.sh, line  635:  Called die

 * The specific snippet of code:

 *              emake || die "emake failed"

 * 

 * If you need support, post the output of 'emerge --info =dev-libs/libxml2-2.7.7',

 * the complete build log and the output of 'emerge -pqv =dev-libs/libxml2-2.7.7'.

 * The complete build log is located at '/var/tmp/portage/dev-libs/libxml2-2.7.7/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/dev-libs/libxml2-2.7.7/temp/environment'.

 * S: '/var/tmp/portage/dev-libs/libxml2-2.7.7/work/libxml2-2.7.7'
```

----------

## xaviermiller

encore plus haut STP  :Wink: 

----------

## Max la menace

```
libtool: link: x86_64-pc-linux-gnu-gcc -shared  .libs/libxml.o .libs/types.o .li

bs/libxml2-py.o   -Wl,-rpath -Wl,/var/tmp/portage/dev-libs/libxml2-2.7.7/work/li

bxml2-2.7.7/.libs -Wl,--as-needed ../.libs/libxml2.so /usr/bin /usr/sbin /bin /s

bin -ldl -lz -lm  -march=athlon64 -Wl,-O1 -Wl,--sort-common   -Wl,-soname -Wl,li

bxml2mod.so -o .libs/libxml2mod.so

/usr/bin: file not recognized: Is a directory

collect2: ld returned 1 exit status
```

Ca ? :-°

----------

## brubru

 *Quote:*   

> libtool: link: x86_64-pc-linux-gnu-gcc -shared  .libs/libxml.o .libs/types.o .li
> 
> bs/libxml2-py.o   -Wl,-rpath -Wl,/var/tmp/portage/dev-libs/libxml2-2.7.7/work/li
> 
> bxml2-2.7.7/.libs -Wl,--as-needed ../.libs/libxml2.so /usr/bin /usr/sbin /bin /s
> ...

 

Je ne sais pas d'où ça sort mais ça n'a rien à faire à cet endroit.

Ça ressemble à un PATH sans en être un (pas de : pour séparer les chemins)

Vérifie ta config, y compris les variables d'environnement (commande env) pour voir si quelque chose sans rapproche, où alors ça vient peut-être d'un fichier pkgconfig foireux   :Sad: 

----------

## Max la menace

Bon...

J'ai vu effectivement que path n'avez pas de ":" entre les répertoires. Donc :

export path=/usr/bin:/usr/sbin:/bin:/sbin

Mais ça ne marche pas :

```
libtool: link: x86_64-pc-linux-gnu-gcc -shared  .libs/libxml.o .libs/types.o .libs/libxml2-py.o   -Wl,-rpath -Wl,/var/tmp/portage/dev-libs/libxml2-2.7.7/work/libxml2-2.7.7/.libs -Wl,--as-needed ../.libs/libxml2.so /usr/bin:/usr/sbin:/bin:/sbin -ldl -lz -lm  -march=athlon64 -Wl,-O1 -Wl,--sort-common   -Wl,-soname -Wl,libxml2mod.so -o .libs/libxml2mod.so

x86_64-pc-linux-gnu-gcc: /usr/bin:/usr/sbin:/bin:/sbin: No such file or directory

make[3]: *** [libxml2mod.la] Error 1

make[3]: Leaving directory `/var/tmp/portage/dev-libs/libxml2-2.7.7/work/libxml2-2.7.7/python'

make[2]: *** [all-recursive] Error 1

make[2]: Leaving directory `/var/tmp/portage/dev-libs/libxml2-2.7.7/work/libxml2-2.7.7/python'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/var/tmp/portage/dev-libs/libxml2-2.7.7/work/libxml2-2.7.7'

make: *** [all] Error 2

 * ERROR: dev-libs/libxml2-2.7.7 failed:

 *   emake failed

 * 

 * Call stack:

 *     ebuild.sh, line   47:  Called src_compile

 *   environment, line 5179:  Called _eapi2_src_compile

 *     ebuild.sh, line  635:  Called die

 * The specific snippet of code:

 *         emake || die "emake failed"

 * 

 * If you need support, post the output of 'emerge --info =dev-libs/libxml2-2.7.7',

 * the complete build log and the output of 'emerge -pqv =dev-libs/libxml2-2.7.7'.

 * The complete build log is located at '/var/tmp/portage/dev-libs/libxml2-2.7.7/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/dev-libs/libxml2-2.7.7/temp/environment'.

 * S: '/var/tmp/portage/dev-libs/libxml2-2.7.7/work/libxml2-2.7.7'

>>> Failed to emerge dev-libs/libxml2-2.7.7, Log file:

>>>  '/var/tmp/portage/dev-libs/libxml2-2.7.7/temp/build.log'

 * IMPORTANT: 1 news items need reading for repository 'funtoo'.

 * Use eselect news to read news items.
```

De plus j'ai une variable path et PATH. Je sais pas trop si c'est normal. Mais j'ai essayé avec export path=${PATH}, rien non plus...

----------

## guilc

Tu builderais pas à partir d'un livecd systemrescuecd ? J'ai déjà eu ce problème avec ce livecd justement  :Wink: 

Il a ce défaut là, la variable "path" fout la grouille. Seule la variable PATH est nécessaire, l'autre perturbe certains makefiles.

"unset path" et ça devrait rentrer dans l'ordre.

----------

## Max la menace

... Alors là... chapeau !

(bon faut avouer que j'y connais pas grand chose encore sur Gentoo et Funtoo... :p )

Mais merci mille fois ^^

----------

## xaviermiller

Oui, la meilleure solution est de faire le chroot ainsi

```
chroot /mnt/gentoo /bin/env -i TERM=$TERM /bin/bash
```

En insérant un "/bin/env -i", on supprime toutes les variables d'environnement de l'hôte, et c'est mieux ainsi.

Source : LinuxFromScratch: http://www.linuxfromscratch.org/lfs/view/stable/chapter06/chroot.html .

----------

## Max la menace

C'est bon à savoir !

Merci

----------

## geekounet

Peux-tu mettre ton titre du topic en conformité avec les conventions de notre forum s'il te plait ? Merci  :Smile: 

----------

