Scenario: Bootstrapping with USE=X added in etc/make.conf before the `emerge -e system' step. Platform is SUSE 10 Enterprise SP1. Failure noted with gcc-4.3.3-r1, yesterday bootstrapping was successful with gcc-4.2.4-r1. Console log: /local/scratch/portage/sys-devel/gcc-4.3.3-r1/work/gcc-4.3.3/libstdc++-v3/include/precompiled/stdtr1c++.h:34:25: warning: /local/scratch/portage/sys-devel/gcc-4.3.3-r1/work/build/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu/bits/stdc++.h.gch/O0g.gch: not used because `__NO_INLINE__' not defined mkdir -p ./i686-pc-linux-gnu/bits/extc++.h.gch /local/scratch/portage/sys-devel/gcc-4.3.3-r1/work/build/./gcc/xgcc -shared-libgcc -B/local/scratch/portage/sys-devel/gcc-4.3.3-r1/work/build/./gcc -nostdinc++ -L/local/scratch/portage/sys-devel/gcc-4.3.3-r1/work/build/i686-pc-linux-gnu/libstdc++-v3/src -L/local/scratch/portage/sys-devel/gcc-4.3.3-r1/work/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs -B/local/scratch/nightly/2009-03-27/usr/i686-pc-linux-gnu/bin/ -B/local/scratch/nightly/2009-03-27/usr/i686-pc-linux-gnu/lib/ -isystem /local/scratch/nightly/2009-03-27/usr/i686-pc-linux-gnu/include -isystem /local/scratch/nightly/2009-03-27/usr/i686-pc-linux-gnu/sys-include -Winvalid-pch -x c++-header -O2 -pipe -D_GNU_SOURCE -I/local/scratch/portage/sys-devel/gcc-4.3.3-r1/work/build/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu -I/local/scratch/portage/sys-devel/gcc-4.3.3-r1/work/build/i686-pc-linux-gnu/libstdc++-v3/include -I/local/scratch/portage/sys-devel/gcc-4.3.3-r1/work/gcc-4.3.3/libstdc++-v3/libsupc++ -O2 -g /local/scratch/portage/sys-devel/gcc-4.3.3-r1/work/gcc-4.3.3/libstdc++-v3/include/precompiled/extc++.h -o i686-pc-linux-gnu/bits/extc++.h.gch/O2g.gch make[2]: Leaving directory `/local/scratch/portage/sys-devel/gcc-4.3.3-r1/work/build/i686-pc-linux-gnu/libstdc++-v3/include' make[1]: Leaving directory `/local/scratch/portage/sys-devel/gcc-4.3.3-r1/work/build' make: *** [bootstrap-lean] Error 2 * ERROR: sys-devel/gcc-4.3.3-r1 failed: * emake failed with bootstrap-lean
I only see a warning, not an error in your snippet. Is there any?
This bug probably duplicate: http://bugs.gentoo.org/show_bug.cgi?id=262912
4.3.3-r2 does the same?
Yes, at the end of the console log I get make[2]: Leaving directory `/local/scratch/portage/sys-devel/gcc-4.3.3-r2/work/build/i686-pc-linux-gnu/libstdc++-v3/include' make[1]: Leaving directory `/local/scratch/portage/sys-devel/gcc-4.3.3-r2/work/build' make: *** [bootstrap-lean] Error 2 * ERROR: sys-devel/gcc-4.3.3-r2 failed: * emake failed with bootstrap-lean
that's portage's error, not the error from the gcc build process. You need to search up in the build.log (for "make ***", for example) untill you find the real error/problem.
Could this be it then? checking for RLIMIT_DATA... if /local/tmp/i/bin/bash ./libtool --tag=CC --mode=compile /local/scratch/portage/sys-devel/gcc-4.3.3-r2/work/build/./gcc/xgcc -B/local/scratch/portage/sys-devel/gcc-4.3.3-r2/work/build/./gcc/ -B/local/scratch/nightly/2009-04-04/usr/i686-pc-linux-gnu/bin/ -B/local/scratch/nightly/2009-04-04/usr/i686-pc-linux-gnu/lib/ -isystem /local/scratch/nightly/2009-04-04/usr/i686-pc-linux-gnu/include -isystem /local/scratch/nightly/2009-04-04/usr/i686-pc-linux-gnu/sys-include -DHAVE_CONFIG_H -I. -I/local/scratch/portage/sys-devel/gcc-4.3.3-r2/work/gcc-4.3.3/libgfortran -I. -iquote/local/scratch/portage/sys-devel/gcc-4.3.3-r2/work/gcc-4.3.3/libgfortran/io -I/local/scratch/portage/sys-devel/gcc-4.3.3-r2/work/gcc-4.3.3/libgfortran/../gcc -I/local/scratch/portage/sys-devel/gcc-4.3.3-r2/work/gcc-4.3.3/libgfortran/../gcc/config -I../.././gcc -D_GNU_SOURCE -std=gnu99 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wextra -Wwrite-strings -O2 -g -O2 -pipe -MT compile_options.lo -MD -MP -MF ".deps/compile_options.Tpo" -c -o compile_options.lo `test -f 'runtime/compile_options.c' || echo '/local/scratch/portage/sys-devel/gcc-4.3.3-r2/work/gcc-4.3.3/libgfortran/'`runtime/compile_options.c; \ then mv -f ".deps/compile_options.Tpo" ".deps/compile_options.Plo"; else rm -f ".deps/compile_options.Tpo"; exit 1; fi {standard input}: Assembler messages: {standard input}:414: Error: symbol `pread64' is already defined make[3]: *** [backtrace.lo] Error 1 make[3]: *** Waiting for unfinished jobs....
yep, that's it. what's your current compiler? (gcc --version will do)
ws4941 ~> uname -a Linux ws4941 2.6.16.53-0.16-smp #1 SMP Tue Oct 2 16:57:49 UTC 2007 i686 i686 i38 6 GNU/Linux ws4941 ~> cat /etc/SuSE-release SUSE Linux Enterprise Desktop 10 (i586) VERSION = 10 PATCHLEVEL = 1 ws4941 ~> gcc --version gcc (GCC) 4.1.2 20070115 (prerelease) (SUSE Linux) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
gcc has advanced to 4.3.3-r2 now but the bootstrapping stoppage remains the same on my platform.
Declaring >=sys-devel/gcc-4.3.0 in etc/portage/package.mask can be used as a workaround. This causes gcc 4.2.4-r1 p1.1 to be used instead, with successful bootstrapping.
haubi, with recent problems, should we mask 4.3?
As long as it does not have an inclhack.def to fix >=glibc-2.5/<glibc-2.8 headers to work with _FORTIFY_SOURCE, yes. But this might apply for prefix/linux only.
I cannot fix this appropriately
The same issue with gcc-4.4.2 trying to bootstrap Prefix on Slackware 12.0.0. It fails at the final system recompilation (emerge -e system) before creating startscript (as in Solaris instructions). $ gcc --version gcc (GCC) 4.2.4 (Gentoo 4.2.4-r01.2 p1.1)
The problem with gcc versions is still a stopper when following http://www.gentoo.org/proj/en/gentoo-alt/prefix/bootstrap-solaris.xml (April 5, 2010 version). The `emerge --oneshot' command says to emerge a 4.2 version, which succeeds (4.2.4-r01.2 gets emerged). However, the `emerge -e system' step tries to emerge version 4.4.3, which fails. My workaround for now is to have a line >=sys-devel/gcc-4.3 in etc/portage/package.mask. This line has to be there before the `emerge -e system' step.
darkside: you're the linux dude; should we mask? I seem to have sys-devel/gcc-4.4.3 installed on my Fedora 12 box.
(In reply to comment #16) > darkside: you're the linux dude; should we mask? I seem to have > sys-devel/gcc-4.4.3 installed on my Fedora 12 box. > No. I think the problem all boils down to glibc-2.5. We have bug 290263 & bug 306941 on this subject. Possible fixes: USE=-fortran, CFLAGS+="-std=c99" or USE=vanilla (Some not-yet-identified gentoo patch messes it up too)
(In reply to comment #17) > (In reply to comment #16) > > darkside: you're the linux dude; should we mask? I seem to have > > sys-devel/gcc-4.4.3 installed on my Fedora 12 box. > > > > No. I think the problem all boils down to glibc-2.5. > > We have bug 290263 & bug 306941 on this subject. > > Possible fixes: USE=-fortran, CFLAGS+="-std=c99" or USE=vanilla (Some > not-yet-identified gentoo patch messes it up too) > USE=-fortran helps emerging gcc, but after that, breaks compilation of various packages. The problem seems to be including stdint.h and unistd.h in the same file, should not be the case but it triggers the error: | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif Compiling it brings the following error: {standard input}: Assembler messages: {standard input}:131: Error: symbol `pread64' is already defined CFLAGS+="-std=c99" does not by these packages because configure already uses it: armv7a-softfloat-linux-gnueabi-gcc -c -Os -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -std=c99 conftest.c >&5 In fact removing -std=c99 results in correct compilation. This happens on palm pre using codesourcery-arm-2007q3 glibc, trying to bootstrap prefixed portage.
This is a long-standing bug that may spoil the "out-of-the-box" experience with Gentoo Prefix. I re-checked yesterday, and on my platform (SUSE Enterprise 10 SP2) I now get the following: - The first gcc to be emerged is sys-devel/gcc-4.2.4-r01.2, successfully. - In the 'USE=-git emerge -u system' step gcc-4.4.5 gets emerged, which fails with {standard input}: Assembler messages: {standard input}:458: Error: symbol `pread64' is already defined My workaround is to insert'>=sys-devel/gcc-4.3' into etc/portage/package.mask. Perhaps this is platform dependent. Anyway, I am thinking that the http://www.gentoo.org/proj/en/gentoo-alt/prefix/bootstrap-solaris.xml page could mention that this is a troublesome spot and that something needs to be done, at least on certain platforms.
As it isn't mentioned here yet: This looks like http://gcc.gnu.org/PR42735
This problem appears to be platform dependent. On Debian "lenny" 5.0.7 sys-devel/gcc-4.4.5 is emerged with no problems during bootstrapping. Perhaps the differing glibc versions is the reason: SUSE Enterprise 10 SP2 has glibc 2.4 whereas Debian lenny has glibc 2.7.
and gcc-4.5.*?
I'm having the same 'Error: symbol `pread64' is already defined' during compilation of sys-devel/gcc-4.5.2-r00.1 as part of the 'emerge -e system' command as described in the Solaris bootstrap instructions. I followed the instructions to a T, except that I had to use emerge-webrsync. To finish the installation (except for upgrading gcc), I added '>=sys-devel/gcc-4.3' to '$EPREFIX/etc/portage/package.mask' and executed 'emerge -e --resume system'. Platform: Linux Distribution: CentOS 5.6 GCC version that compiled the bootstrap GCC: 4.1.2 20080704 (Red Hat 4.1.2-50) Bootstrap GCC version: 4.1.2 20080704 (Red Hat 4.1.2-50) GCC that failed to emerge: sys-devel/gcc-4.5.2-r00.1 Full emerge --info output: Portage 2.2.01.19011-prefix (prefix/linux/x86, gcc-4.2.4, unavailable, 2.6.18-238.19.1.el5 i686) ================================================================= System uname: Linux-2.6.18-238.19.1.el5-i686-Intel-R-_Core-TM-2_Quad_CPU_Q9550_@_2.83GHz-with-redhat-5.6-Final Timestamp of tree: Mon, 08 Aug 2011 21:38:32 +0000 app-shells/bash: 4.2_p10 dev-lang/python: 2.7.2 dev-util/pkgconfig: 0.25-r2 sys-devel/autoconf: 2.68 sys-devel/automake: 1.11.1 sys-devel/binutils: 2.21.51.0.7 sys-devel/gcc: 4.2.4-r01.3 sys-devel/gcc-config: 1.4.1-r00.2 sys-devel/libtool: 2.4-r01.1 sys-devel/make: 3.82 Repositories: gentoo_prefix Installed sets: ACCEPT_KEYWORDS="~x86-linux" ACCEPT_LICENSE="* -@EULA" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/portage /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -pipe" DISTDIR="/local/gentoo/usr/portage/distfiles" FEATURES="assume-digests binpkg-logs collision-protect distlocks ebuild-locks fixlafiles fixpackages news parallel-fetch preserve-libs protect-owned sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_US.UTF-8" LDFLAGS="-Wl,-O1" PKGDIR="/local/gentoo/usr/portage/packages" PORTAGE_CONFIGROOT="/local/gentoo/" 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="/local/gentoo/var/tmp" PORTDIR="/local/gentoo/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.prefix.freens.org/gentoo-portage-prefix" USE="berkdb bzip2 cli cracklib crypt cxx dri fortran gdbm iconv ipv6 modules mudflap ncurses nls nptl nptlonly openmp pcre perl pppd prefix python readline session ssl sysfs tcpd unicode x86 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 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" CALLIGRA_FEATURES="braindump flow karbon kexi kpresenter krita tables words" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" 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, INSTALL_MASK, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
(In reply to comment #23) > Platform: Linux > Distribution: CentOS 5.6 > GCC version that compiled the bootstrap GCC: 4.1.2 20080704 (Red Hat 4.1.2-50) > Bootstrap GCC version: 4.1.2 20080704 (Red Hat 4.1.2-50) > GCC that failed to emerge: sys-devel/gcc-4.5.2-r00.1 I should have said: Bootstrap GCC version: 4.2.4 (Gentoo 4.2.4-r01.3 p1.1)
I've gotten sys-devel/gcc-4.5.2-r00.1 to emerge successfully by excluding the offending part of gcc, fortran support, by running 'USE=-fortran emerge sys-devel/gcc'. As indicated on the GCC bug (http://gcc.gnu.org/PR42735), it might be a problem with some versions of glibc. Executing '/lib/libc.so.6' shows that the host system has a glibc version of 2.5, released in 2006, so it is likely that's the cause of this problem. However as I don't have root access I can't upgrade glibc to determine if that is the case.