On Wed, 2006-02-15 at 20:16 +0100, Jarry wrote: > Jarry wrote: > > > I changed my USE flags (added "hardened hardenedphp lm_sensors) > > and tried "emerge --update --deep --newuse world". Emerge wanted > > to recompile 8 packages, but crushed during the second one > > (glibc) with segmentation fault: > > __________________________________________________________ > > /work/build-default-i686-pc-linux-gnu-linuxthreads/libc.so > > /var/tmp/portage/glibc-2.3.5-r2/work/build-default-i686-pc-linux-gnu-linuxthreads/libc_nonshared.a > > collect2: ld terminated with signal 11 [Segmentation fault] > > /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../../i686-pc-linux-gnu/bin/ld: BFD > > 2.16.1 assertion fail > > /var/tmp/portage/binutils-2.16.1/work/binutils-2.16.1/bfd/elflink.c:2322 > > make[2]: *** > > [/var/tmp/portage/glibc-2.3.5-r2/work/build-default-i686-pc-linux-gnu-linuxthreads/iconvdata/IBM891.so] > > Error 1 > > make[2]: *** Waiting for unfinished jobs.... > > make[2]: Leaving directory > > `/var/tmp/portage/glibc-2.3.5-r2/work/glibc-2.3.5/iconvdata' > > make[1]: *** [iconvdata/others] Error 2 > > make[1]: Leaving directory `/var/tmp/portage/glibc-2.3.5-r2/work/glibc-2.3.5' > > make: *** [all] Error 2 > > > > !!! ERROR: sys-libs/glibc-2.3.5-r2 failed. > > !!! Function toolchain-glibc_src_compile, Line 226, Exitcode 2 > > !!! (no error message) > > ______________________________________________________________ > > > Show must go on. I removed those use-flags (hardened, hardenedphp > and lm_sensors), and tried to put my system to previous clean state > with "emerge --update --deep --newuse world". Now only 1 package has > to be recompiled: gcc-3.4.4-r1, but it fails with following error: > ___________________________________________________________________ > /var/tmp/portage/gcc-3.4.4-r1/work/gcc-3.4.4/libiberty/strsignal.c: In function > `psignal': > /var/tmp/portage/gcc-3.4.4-r1/work/gcc-3.4.4/libiberty/strsignal.c:563: error: > argument "signo" doesn't match prototype > /usr/include/signal.h:141: error: prototype declaration > /var/tmp/portage/gcc-3.4.4-r1/work/gcc-3.4.4/libiberty/strsignal.c:563: error: > argument "message" doesn't match prototype > /usr/include/signal.h:141: error: prototype declaration > /var/tmp/portage/gcc-3.4.4-r1/work/gcc-3.4.4/libiberty/strsignal.c:568: warning: > comparison between signed and unsigned > make[1]: *** [strsignal.o] Error 1 > make[1]: Leaving directory `/var/tmp/portage/gcc-3.4.4-r1/work/build/libiberty' > make: *** [all-libiberty] Error 2 > > !!! ERROR: sys-devel/gcc-3.4.4-r1 failed. > !!! Function gcc_do_make, Line 1339, Exitcode 2 > !!! emake failed with profiledbootstrap > ____________________________________________________________________ > > Frankly, I really have no idea what to do now. If I include those flags > (hardened, hardenedphp and lm_sensors), compilation of glibc-2.3.5-r2 > fails because of some segmentation error. > > If I remove those use-flags, compilation of gcc-3.4.4-r1 fails because > of some other error. Does anybody have any idea how to get out of this > "circulus vitiosus"? Any tips would be really appreciated and welcomed... > > Jarry > Hi, You shouldn't have used "hardened" unless you running a hardened system. Could be done via (hardened + pic IIRC) using normal system profile or w/o any special USE-flags, when using a "hardened" profile. Check the output of: gcc-config -l (what profile is GCC using) and switch to vanilla. Hope your toolchain isn't recompiled too. IIRC 'hardened-php' isn't part of a real "hardened" system (you must be using a hardened kernel too - hardened|selinux|rsbac-sources) it's only a hardening patch for PHP. HTH.Rumen