View previous topic :: View next topic |
Author |
Message |
Picani Apprentice
Joined: 05 Jul 2009 Posts: 180
|
Posted: Wed Sep 16, 2009 2:09 pm Post subject: [emerge] Problème de compilation pour GCC |
|
|
Bonjour à tous !!
Après 2 mois relativement loin de mon ordi, je me suis dit que faire des mises à jour serait un bon début. Dans la liste je vois GCC-4.4.1 (actuellement j'ai 4.3.2-r3). Impossible de le compiler, sa plante tjrs sur le même fichier : insn-attrtab.c. Je me suis mis en MAKEOPTS="-j1", -march=i686 (plutôt que core2) et j'ai même installer un binaire de GCC-4.3.2-r3 ... [Je sais ça sent le déjà vu.]
Voici les dernières lignes des 2 derniers build.log :
Code: |
i686-pc-linux-gnu-gcc -c -O -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition -Wc++-compat -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -I. -I/var/tmp/portage/sys-devel/gcc-4.4.1/work/gcc-4.4.1/gcc -I/var/tmp/portage/sys-devel/gcc-4.4.1/work/gcc-4.4.1/gcc/. -I/var/tmp/portage/sys-devel/gcc-4.4.1/work/gcc-4.4.1/gcc/../include -I/var/tmp/portage/sys-devel/gcc-4.4.1/work/gcc-4.4.1/gcc/../libcpp/include -I/var/tmp/portage/sys-devel/gcc-4.4.1/work/gcc-4.4.1/gcc/../libdecnumber -I/var/tmp/portage/sys-devel/gcc-4.4.1/work/gcc-4.4.1/gcc/../libdecnumber/bid -I../libdecnumber insn-attrtab.c -o insn-attrtab.o
/var/tmp/portage/sys-devel/gcc-4.4.1/temp/ccBF6dwB.s: Assembler messages:
/var/tmp/portage/sys-devel/gcc-4.4.1/temp/ccBF6dwB.s:122349: Error: junk at end of line, first unrecognized character valued 0x8
/var/tmp/portage/sys-devel/gcc-4.4.1/temp/ccBF6dwB.s:143807: Error: bad register name `%erp)'
make[3]: *** [insn-attrtab.o] Erreur 1
make[3]: quittant le répertoire « /var/tmp/portage/sys-devel/gcc-4.4.1/work/build/gcc »
make[2]: *** [all-stage1-gcc] Erreur 2
make[2]: quittant le répertoire « /var/tmp/portage/sys-devel/gcc-4.4.1/work/build »
make[1]: *** [stage1-bubble] Erreur 2
make[1]: quittant le répertoire « /var/tmp/portage/sys-devel/gcc-4.4.1/work/build »
make: *** [bootstrap-lean] Erreur 2
ERROR: sys-devel/gcc-4.4.1 failed.
Call stack:
ebuild.sh, line 49: Called src_compile
environment, line 4833: Called toolchain_src_compile
environment, line 5359: Called gcc_src_compile
environment, line 3059: Called gcc_do_make
environment, line 2849: Called die
The specific snippet of code:
emake LDFLAGS="${LDFLAGS}" STAGE1_CFLAGS="${STAGE1_CFLAGS}" LIBPATH="${LIBPATH}" BOOT_CFLAGS="${BOOT_CFLAGS}" ${GCC_MAKE_TARGET} || die "emake failed with ${GCC_MAKE_TARGET}";
The die message:
emake failed with bootstrap-lean
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/sys-devel/gcc-4.4.1/temp/build.log'.
The ebuild environment file is located at '/var/tmp/portage/sys-devel/gcc-4.4.1/temp/environment'.
|
et
Code: |
/var/tmp/portage/sys-devel/gcc-4.4.1/work/build/./prev-gcc/xgcc -B/var/tmp/portage/sys-devel/gcc-4.4.1/work/build/./prev-gcc/ -B/usr/i686-pc-linux-gnu/bin/ -c -O2 -march=i686 -pipe -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition -Wc++-compat -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -DHAVE_CONFIG_H -I. -I. -I/var/tmp/portage/sys-devel/gcc-4.4.1/work/gcc-4.4.1/gcc -I/var/tmp/portage/sys-devel/gcc-4.4.1/work/gcc-4.4.1/gcc/. -I/var/tmp/portage/sys-devel/gcc-4.4.1/work/gcc-4.4.1/gcc/../include -I/var/tmp/portage/sys-devel/gcc-4.4.1/work/gcc-4.4.1/gcc/../libcpp/include -I/var/tmp/portage/sys-devel/gcc-4.4.1/work/gcc-4.4.1/gcc/../libdecnumber -I/var/tmp/portage/sys-devel/gcc-4.4.1/work/gcc-4.4.1/gcc/../libdecnumber/bid -I../libdecnumber insn-attrtab.c -o insn-attrtab.o
/var/tmp/portage/sys-devel/gcc-4.4.1/work/gcc-4.4.1/gcc/config/i386/i386.md: In function ‘internal_dfa_insn_code’:
/var/tmp/portage/sys-devel/gcc-4.4.1/work/gcc-4.4.1/gcc/config/i386/i386.md:335: internal compiler error: Erreur de segmentation
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugs.gentoo.org/> for instructions.
make[3]: *** [insn-attrtab.o] Erreur 1
make[3]: quittant le répertoire « /var/tmp/portage/sys-devel/gcc-4.4.1/work/build/gcc »
make[2]: *** [all-stage3-gcc] Erreur 2
make[2]: quittant le répertoire « /var/tmp/portage/sys-devel/gcc-4.4.1/work/build »
make[1]: *** [stage3-bubble] Erreur 2
make[1]: quittant le répertoire « /var/tmp/portage/sys-devel/gcc-4.4.1/work/build »
make: *** [bootstrap-lean] Erreur 2
ERROR: sys-devel/gcc-4.4.1 failed.
Call stack:
ebuild.sh, line 49: Called src_compile
environment, line 4833: Called toolchain_src_compile
environment, line 5359: Called gcc_src_compile
environment, line 3059: Called gcc_do_make
environment, line 2849: Called die
The specific snippet of code:
emake LDFLAGS="${LDFLAGS}" STAGE1_CFLAGS="${STAGE1_CFLAGS}" LIBPATH="${LIBPATH}" BOOT_CFLAGS="${BOOT_CFLAGS}" ${GCC_MAKE_TARGET} || die "emake failed with ${GCC_MAKE_TARGET}";
The die message:
emake failed with bootstrap-lean
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/sys-devel/gcc-4.4.1/temp/build.log'.
The ebuild environment file is located at '/var/tmp/portage/sys-devel/gcc-4.4.1/temp/environment'.
|
Et emerge --info :
Code: |
Portage 2.1.6.13 (default/linux/x86/2008.0, gcc-4.3.2, glibc-2.9_p20081201-r2, 2.6.29-gentoo-r6 i686)
=================================================================
System uname: Linux-2.6.29-gentoo-r6-i686-Intel-R-_Core-TM-2_CPU_6300_@_1.86GHz-with-gentoo-1.12.11.1
Timestamp of tree: Wed, 16 Sep 2009 10:45:02 +0000
app-shells/bash: 3.2_p39
dev-java/java-config: 2.1.8-r1
dev-lang/python: 2.6.2-r1
dev-util/cmake: 2.6.4
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox: 1.6-r2
sys-devel/autoconf: 2.13, 2.63-r1
sys-devel/automake: 1.9.6-r2, 1.10.2
sys-devel/binutils: 2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool: 1.5.26
virtual/os-headers: 2.6.29
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://ftp.free.fr/mirrors/ftp.gentoo.org/ "
LANG="fr_FR.utf8"
LDFLAGS="-Wl,-O1"
LINGUAS="fr"
MAKEOPTS="-j1"
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.europe.gentoo.org/gentoo-portage"
USE="X aac acl alsa berkdb bzip2 cairo cdio cli cracklib crypt dbus dri dvd dvdnav emacs flac fortran fr gdbm gtk iconv id3tag ipv6 isdnlog java jpeg mmx mp3 mudflap ncurses nls nptl nptlonly ogg opengl openmp pam pch pcre perl png pppd python qt4 readline reflection sdl session slit spl sqlite sse sse2 ssl ssse3 sysfs tcpd theora tiff toolbar truetype unicode vorbis wavpack wma x86 xft xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 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 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" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr" USERLAND="GNU" VIDEO_CARDS="radeon"
Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
|
|
|
Back to top |
|
|
netfab Veteran
Joined: 03 Mar 2005 Posts: 1897 Location: 127.0.0.1
|
Posted: Wed Sep 16, 2009 4:38 pm Post subject: |
|
|
Tu as vérifié ta ram ? Même fichier, mais erreurs différentes, je pense qu'un memtest ne serait pas superflu. |
|
Back to top |
|
|
elyes Tux's lil' helper
Joined: 27 Apr 2008 Posts: 121 Location: Calvados Normandie France
|
Posted: Wed Sep 16, 2009 4:44 pm Post subject: |
|
|
également, vérifier s'il te reste de la place sur ton disque. |
|
Back to top |
|
|
boozo Advocate
Joined: 01 Jul 2004 Posts: 3193
|
|
Back to top |
|
|
Picani Apprentice
Joined: 05 Jul 2009 Posts: 180
|
Posted: Thu Sep 17, 2009 5:33 pm Post subject: |
|
|
Houlala plein de questions d'un coup !!! (dsl je sors de 2h de sport et 1h d'histoire avec ensuite 1 petite heure de transport en commun ...)
Alors la ram je vais tester mais j'ai jamais eu de problème, le swap c'est pas ça (4Go) et pour le passage à 4.4.1, ben je dirais que le projet GCC est sérieux et qu'il considère cette version comme stable, donc c'est qu'elle dois l'être (en clair pas vraiment de raison, juste une envie ... ) |
|
Back to top |
|
|
boozo Advocate
Joined: 01 Jul 2004 Posts: 3193
|
|
Back to top |
|
|
Picani Apprentice
Joined: 05 Jul 2009 Posts: 180
|
Posted: Thu Sep 17, 2009 6:40 pm Post subject: |
|
|
Non c'est "une compilation brut de fonderie" lol. Et les 4Go de swap c'était pour faire des vm, mais, jje veux que tout marche bien (y comprit gcc) avant de m'y mettre. |
|
Back to top |
|
|
Picani Apprentice
Joined: 05 Jul 2009 Posts: 180
|
Posted: Mon Sep 21, 2009 8:21 pm Post subject: |
|
|
C'est bon, le problème venait bien de la mémoire, une barette qui marche plus ... mais le sytème marche nickel maintenant !
Sinon j'ai juste une petite question : en recompilant la Glibc, je me suis apperçut que c'est -march=i686 qui est utilisé alors que dans mon make.conf ya -march=core2. D'ailleurs toutes les autres compilations se font avec. Ya une bonne raisons ? Parce que c'est quand même un gros truc super utilisé, donc si on peut pas l'optimiser complètement c'est moyen. |
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8708 Location: ~Brussels - Belgique
|
Posted: Tue Sep 22, 2009 6:10 am Post subject: |
|
|
hem, il vaut mieux une lib hyper importante bien compilée, que "optimisée" et potentiellement instable.
Beaucoup d'ebuilds filtrent les CFLAGS et remplacent parfois même le "-march".
En fait, un Core2 n'est qu'un 8086 légèrement amélioré. Pas besoin de SSE4 pour glibc _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
kwenspc Advocate
Joined: 21 Sep 2003 Posts: 4954
|
Posted: Tue Sep 22, 2009 6:37 am Post subject: |
|
|
XavierMiller wrote: | En fait, un Core2 n'est qu'un 8086 légèrement amélioré. Pas besoin de SSE4 pour glibc |
Au contraire, mieux vaut que les fonctions mathématiques utilisent des instructions dédiées et performantes plutôt que les génériques!
Et mettre un -march=core2 n'a jamais rien bousillé en stabilité. Ça permet justement de tirer partis des jeux d'instructions de son processeur là où il faut. C'est utiliser des flags spécifiques à l'optimisation du code (gcc ça va transformer le déroulement des algos) qui amènent à des instabilités. |
|
Back to top |
|
|
Picani Apprentice
Joined: 05 Jul 2009 Posts: 180
|
Posted: Tue Sep 22, 2009 8:01 pm Post subject: |
|
|
D'accord avec kwenspc. Mais bon si on peut pas ... |
|
Back to top |
|
|
Mike Hunt Watchman
Joined: 19 Jul 2009 Posts: 5287
|
Posted: Wed Sep 23, 2009 1:04 am Post subject: |
|
|
Picani wrote: | Sinon j'ai juste une petite question : en recompilant la Glibc, je me suis apperçut que c'est -march=i686 qui est utilisé alors que dans mon make.conf ya -march=core2. D'ailleurs toutes les autres compilations se font avec. Ya une bonne raisons ? Parce que c'est quand même un gros truc super utilisé, donc si on peut pas l'optimiser complètement c'est moyen. |
Ça semble être tout à fait normal, ici j'ai: Code: | # grep CFLAGS /etc/make.conf
CFLAGS="-march=native -O2 -pipe"
CXXFLAGS="${CFLAGS}"
# cat /var/db/pkg/sys-libs/glibc-2.9_p20081201-r2/CFLAGS
-march=i686 -pipe -O2 -fno-strict-aliasing |
|
|
Back to top |
|
|
kwenspc Advocate
Joined: 21 Sep 2003 Posts: 4954
|
Posted: Wed Sep 23, 2009 8:17 am Post subject: |
|
|
l'option -march dépend totalement de ton CPU. Si c'est pas un core2duo forcément que tu vas pas mettre core2. Le mot clé native pour -march permet de laisser à gcc le soin de prendre le mieux (depuis gcc 4.2 je crois?). Chez moi il sélectionne nocona (j'ai un quad core2, et je reste en 64 bits) pour la glibc.
Mais la glibc est un paquet spécial, pas étonnant que le CFLAGS du make.conf est adapté par la suite. Donc Picani c'est pas parce que la glibc prend i686 qu'il te faut pas mettre core2 (ou native) dans ton make.conf, la plupart des autres paquets utiliseront ça. |
|
Back to top |
|
|
Picani Apprentice
Joined: 05 Jul 2009 Posts: 180
|
Posted: Wed Sep 23, 2009 10:51 am Post subject: |
|
|
Ok merci pour les infos. |
|
Back to top |
|
|
freezby Tux's lil' helper
Joined: 07 Sep 2006 Posts: 103 Location: Angers, France
|
Posted: Wed Sep 23, 2009 10:54 am Post subject: |
|
|
@kwenspc, question à 2 francs : comment sais-tu quel "march" est sélectionné lorsque tu as mis native ?? |
|
Back to top |
|
|
guilc Bodhisattva
Joined: 15 Nov 2003 Posts: 3326 Location: Paris - France
|
|
Back to top |
|
|
nemo13 Veteran
Joined: 08 Oct 2004 Posts: 1016 Location: France/Istres
|
Posted: Wed Sep 23, 2009 4:23 pm Post subject: |
|
|
guilc wrote: | Code: | gcc -march=native -Q --help=target |
|
Merci guilc,
C'est un plaisir de fréquenter ce forum , on y apprend en permanence.
A+ |
|
Back to top |
|
|
|