Hi Gentoo on Vbox with Q6600 512MB RAM. gcc version 4.4.5 cat /etc/make.conf: localhost ~ # cat /etc/make.conf CFLAGS="-fno-strict-aliasing -fomit-frame-pointer -fstack-protector-all -falign-functions=32 -falign-loops=32 -fforce-addr -Os -pipe -march=native" CXXFLAGS="-fno-strict-aliasing -fomit-frame-pointer -fstack-protector-all -falign-functions=32 -falign-loops=32 -fforce-addr -Os -pipe -march=native" CHOST="i686-pc-linux-gnu" FEATURES="metadata-transfer sandbox candy" USE="(multilib) gtk static-libs truetype postgres freetype jpg jpeg png gif imap ttf winscp passwd scp X gnutls mysql v4l2 extras list threads ithreads acpi bash-completion bzip2 crypt cracklib css ctype apache2 curl curlwrappers dbus encode ftp gcj gd geoip udev ipv6 lua ncurses python readline sockets socks5 sqlite sse sse2 ssl suid unicode vim-syntax xml php perlsuid" MAKEOPTS="-j2 -s" INPUT_DEVICES="virtualbox evdev" VIDEO_CARDS="virtualbox" FETCHCOMMAND="/usr/bin/axel -a -n 8 -o /\${DISTDIR}/\${FILE} -a \${URI}" RESUMECOMMAND="/usr/bin/axel -a -n 8 -o /\${DISTDIR}/\${FILE} -a \${URI}" GENTOO_MIRRORS="http://mirror.isoc.org.il/pub/gentoo/" so when I try to emerge -q gpref this is the output with the error below: localhost ~ # emerge -q gperf >>> Verifying ebuild manifests >>> Emerging (1 of 1) dev-util/gperf-3.0.4 >>> Failed to emerge dev-util/gperf-3.0.4, Log file: >>> '/var/tmp/portage/dev-util/gperf-3.0.4/temp/build.log' * Package: dev-util/gperf-3.0.4 * Repository: gentoo * Maintainer: maintainer-needed@gentoo.org * USE: elibc_glibc kernel_linux userland_GNU x86 * FEATURES: sandbox checking whether make sets $(MAKE)... yes configure: creating ./config.status config.status: creating Makefile === configuring in lib (/var/tmp/portage/dev-util/gperf-3.0.4/work/gperf-3.0.4/lib) configure: running /bin/sh ./configure '--prefix=/usr' '--build=i686-pc-linux-gnu' '--host=i686-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' 'build_alias=i686-pc-linux-gnu' 'host_alias=i686-pc-linux-gnu' --cache-file=/dev/null --srcdir=. checking whether make sets $(MAKE)... yes checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether i686-pc-linux-gnu-gcc accepts -g... yes checking for i686-pc-linux-gnu-gcc option to accept ISO C89... none needed checking how to run the C preprocessor... i686-pc-linux-gnu-gcc -E checking for i686-pc-linux-gnu-g++... i686-pc-linux-gnu-g++ checking whether we are using the GNU C++ compiler... yes checking whether i686-pc-linux-gnu-g++ accepts -g... yes checking how to run the C++ preprocessor... i686-pc-linux-gnu-g++ -E checking for i686-pc-linux-gnu-ranlib... i686-pc-linux-gnu-ranlib checking for a BSD compatible install... /usr/bin/install -c configure: creating ./config.status config.status: creating Makefile === configuring in src (/var/tmp/portage/dev-util/gperf-3.0.4/work/gperf-3.0.4/src) configure: running /bin/sh ./configure '--prefix=/usr' '--build=i686-pc-linux-gnu' '--host=i686-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' 'build_alias=i686-pc-linux-gnu' 'host_alias=i686-pc-linux-gnu' --cache-file=/dev/null --srcdir=. checking whether make sets $(MAKE)... yes checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether i686-pc-linux-gnu-gcc accepts -g... yes checking for i686-pc-linux-gnu-gcc option to accept ISO C89... none needed checking how to run the C preprocessor... i686-pc-linux-gnu-gcc -E checking for i686-pc-linux-gnu-g++... i686-pc-linux-gnu-g++ checking whether we are using the GNU C++ compiler... yes checking whether i686-pc-linux-gnu-g++ accepts -g... yes checking how to run the C++ preprocessor... i686-pc-linux-gnu-g++ -E checking for a BSD compatible install... /usr/bin/install -c checking for stack-allocated variable-size arrays... yes checking for rand in -lm... yes configure: creating ./config.status config.status: creating Makefile config.status: creating config.h === configuring in tests (/var/tmp/portage/dev-util/gperf-3.0.4/work/gperf-3.0.4/tests) configure: running /bin/sh ./configure '--prefix=/usr' '--build=i686-pc-linux-gnu' '--host=i686-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' 'build_alias=i686-pc-linux-gnu' 'host_alias=i686-pc-linux-gnu' --cache-file=/dev/null --srcdir=. checking whether make sets $(MAKE)... yes checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether i686-pc-linux-gnu-gcc accepts -g... yes checking for i686-pc-linux-gnu-gcc option to accept ISO C89... none needed checking how to run the C preprocessor... i686-pc-linux-gnu-gcc -E checking for i686-pc-linux-gnu-g++... i686-pc-linux-gnu-g++ checking whether we are using the GNU C++ compiler... yes checking whether i686-pc-linux-gnu-g++ accepts -g... yes checking how to run the C++ preprocessor... i686-pc-linux-gnu-g++ -E configure: creating ./config.status config.status: creating Makefile === configuring in doc (/var/tmp/portage/dev-util/gperf-3.0.4/work/gperf-3.0.4/doc) configure: running /bin/sh ./configure '--prefix=/usr' '--build=i686-pc-linux-gnu' '--host=i686-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' 'build_alias=i686-pc-linux-gnu' 'host_alias=i686-pc-linux-gnu' --cache-file=/dev/null --srcdir=. checking whether make sets $(MAKE)... yes checking for a BSD compatible install... /usr/bin/install -c configure: creating ./config.status config.status: creating Makefile ./output.cc: In member function 'void Output::output()': ./output.cc:2034: warning: ignoring return value of 'size_t fwrite(const void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result ./output.cc:2101: warning: ignoring return value of 'size_t fwrite(const void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/libstdc++.so: undefined reference to `__sync_val_compare_and_swap_4' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/libstdc++.so: undefined reference to `__sync_sub_and_fetch_4' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/libstdc++.so: undefined reference to `__sync_fetch_and_add_4' collect2: ld returned 1 exit status make[1]: *** [gperf] Error 1 make: *** [all] Error 2 emake failed * ERROR: dev-util/gperf-3.0.4 failed (compile phase): * emake failed * * Call stack: * ebuild.sh, line 56: Called src_compile * environment, line 138: Called _eapi2_src_compile * ebuild.sh, line 665: Called die * The specific snippet of code: * emake || die "emake failed" * * If you need support, post the output of 'emerge --info =dev-util/gperf-3.0.4', * the complete build log and the output of 'emerge -pqv =dev-util/gperf-3.0.4'. * The complete build log is located at '/var/tmp/portage/dev-util/gperf-3.0.4/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-util/gperf-3.0.4/temp/environment'. * S: '/var/tmp/portage/dev-util/gperf-3.0.4/work/gperf-3.0.4' * Messages for package dev-util/gperf-3.0.4: * ERROR: dev-util/gperf-3.0.4 failed (compile phase): * emake failed * * Call stack: * ebuild.sh, line 56: Called src_compile * environment, line 138: Called _eapi2_src_compile * ebuild.sh, line 665: Called die * The specific snippet of code: * emake || die "emake failed" * * If you need support, post the output of 'emerge --info =dev-util/gperf-3.0.4', * the complete build log and the output of 'emerge -pqv =dev-util/gperf-3.0.4'. * The complete build log is located at '/var/tmp/portage/dev-util/gperf-3.0.4/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-util/gperf-3.0.4/temp/environment'. * S: '/var/tmp/portage/dev-util/gperf-3.0.4/work/gperf-3.0.4' Reproducible: Always Steps to Reproduce: 1. gcc 4.4.5 2. make sure your /etc/make.conf is same as mine 3. emerge -q gpref will give you an error Actual Results: compile error and package didnt insatll Expected Results: gpref should be insatlled as order build.log: * Package: dev-util/gperf-3.0.4 * Repository: gentoo * Maintainer: maintainer-needed@gentoo.org * USE: elibc_glibc kernel_linux userland_GNU x86 * FEATURES: sandbox checking whether make sets $(MAKE)... yes configure: creating ./config.status config.status: creating Makefile === configuring in lib (/var/tmp/portage/dev-util/gperf-3.0.4/work/gperf-3.0.4/lib) configure: running /bin/sh ./configure '--prefix=/usr' '--build=i686-pc-linux-gnu' '--host=i686-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' 'build_alias=i686-pc-linux-gnu' 'host_alias=i686-pc-linux-gnu' --cache-file=/dev/null --srcdir=. checking whether make sets $(MAKE)... yes checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether i686-pc-linux-gnu-gcc accepts -g... yes checking for i686-pc-linux-gnu-gcc option to accept ISO C89... none needed checking how to run the C preprocessor... i686-pc-linux-gnu-gcc -E checking for i686-pc-linux-gnu-g++... i686-pc-linux-gnu-g++ checking whether we are using the GNU C++ compiler... yes checking whether i686-pc-linux-gnu-g++ accepts -g... yes checking how to run the C++ preprocessor... i686-pc-linux-gnu-g++ -E checking for i686-pc-linux-gnu-ranlib... i686-pc-linux-gnu-ranlib checking for a BSD compatible install... /usr/bin/install -c configure: creating ./config.status config.status: creating Makefile === configuring in src (/var/tmp/portage/dev-util/gperf-3.0.4/work/gperf-3.0.4/src) configure: running /bin/sh ./configure '--prefix=/usr' '--build=i686-pc-linux-gnu' '--host=i686-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' 'build_alias=i686-pc-linux-gnu' 'host_alias=i686-pc-linux-gnu' --cache-file=/dev/null --srcdir=. checking whether make sets $(MAKE)... yes checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether i686-pc-linux-gnu-gcc accepts -g... yes checking for i686-pc-linux-gnu-gcc option to accept ISO C89... none needed checking how to run the C preprocessor... i686-pc-linux-gnu-gcc -E checking for i686-pc-linux-gnu-g++... i686-pc-linux-gnu-g++ checking whether we are using the GNU C++ compiler... yes checking whether i686-pc-linux-gnu-g++ accepts -g... yes checking how to run the C++ preprocessor... i686-pc-linux-gnu-g++ -E checking for a BSD compatible install... /usr/bin/install -c checking for stack-allocated variable-size arrays... yes checking for rand in -lm... yes configure: creating ./config.status config.status: creating Makefile config.status: creating config.h === configuring in tests (/var/tmp/portage/dev-util/gperf-3.0.4/work/gperf-3.0.4/tests) configure: running /bin/sh ./configure '--prefix=/usr' '--build=i686-pc-linux-gnu' '--host=i686-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' 'build_alias=i686-pc-linux-gnu' 'host_alias=i686-pc-linux-gnu' --cache-file=/dev/null --srcdir=. checking whether make sets $(MAKE)... yes checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether i686-pc-linux-gnu-gcc accepts -g... yes checking for i686-pc-linux-gnu-gcc option to accept ISO C89... none needed checking how to run the C preprocessor... i686-pc-linux-gnu-gcc -E checking for i686-pc-linux-gnu-g++... i686-pc-linux-gnu-g++ checking whether we are using the GNU C++ compiler... yes checking whether i686-pc-linux-gnu-g++ accepts -g... yes checking how to run the C++ preprocessor... i686-pc-linux-gnu-g++ -E configure: creating ./config.status config.status: creating Makefile === configuring in doc (/var/tmp/portage/dev-util/gperf-3.0.4/work/gperf-3.0.4/doc) configure: running /bin/sh ./configure '--prefix=/usr' '--build=i686-pc-linux-gnu' '--host=i686-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' 'build_alias=i686-pc-linux-gnu' 'host_alias=i686-pc-linux-gnu' --cache-file=/dev/null --srcdir=. checking whether make sets $(MAKE)... yes checking for a BSD compatible install... /usr/bin/install -c configure: creating ./config.status config.status: creating Makefile ./output.cc: In member function 'void Output::output()': ./output.cc:2034: warning: ignoring return value of 'size_t fwrite(const void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result ./output.cc:2101: warning: ignoring return value of 'size_t fwrite(const void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/libstdc++.so: undefined reference to `__sync_val_compare_and_swap_4' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/libstdc++.so: undefined reference to `__sync_sub_and_fetch_4' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/libstdc++.so: undefined reference to `__sync_fetch_and_add_4' collect2: ld returned 1 exit status make[1]: *** [gperf] Error 1 make: *** [all] Error 2 emake failed * ERROR: dev-util/gperf-3.0.4 failed (compile phase): * emake failed * * Call stack: * ebuild.sh, line 56: Called src_compile * environment, line 138: Called _eapi2_src_compile * ebuild.sh, line 665: Called die * The specific snippet of code: * emake || die "emake failed" * * If you need support, post the output of 'emerge --info =dev-util/gperf-3.0.4', * the complete build log and the output of 'emerge -pqv =dev-util/gperf-3.0.4'. * The complete build log is located at '/var/tmp/portage/dev-util/gperf-3.0.4/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-util/gperf-3.0.4/temp/environment'. * S: '/var/tmp/portage/dev-util/gperf-3.0.4/work/gperf-3.0.4'
set sane CFLAGS, update to the latest gcc version (4.6.x), and see if things start working then