1 |
On Wed, 2006-02-15 at 20:16 +0100, Jarry wrote: |
2 |
> Jarry wrote: |
3 |
> |
4 |
> > I changed my USE flags (added "hardened hardenedphp lm_sensors) |
5 |
> > and tried "emerge --update --deep --newuse world". Emerge wanted |
6 |
> > to recompile 8 packages, but crushed during the second one |
7 |
> > (glibc) with segmentation fault: |
8 |
> > __________________________________________________________ |
9 |
> > /work/build-default-i686-pc-linux-gnu-linuxthreads/libc.so |
10 |
> > /var/tmp/portage/glibc-2.3.5-r2/work/build-default-i686-pc-linux-gnu-linuxthreads/libc_nonshared.a |
11 |
> > collect2: ld terminated with signal 11 [Segmentation fault] |
12 |
> > /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../../i686-pc-linux-gnu/bin/ld: BFD |
13 |
> > 2.16.1 assertion fail |
14 |
> > /var/tmp/portage/binutils-2.16.1/work/binutils-2.16.1/bfd/elflink.c:2322 |
15 |
> > make[2]: *** |
16 |
> > [/var/tmp/portage/glibc-2.3.5-r2/work/build-default-i686-pc-linux-gnu-linuxthreads/iconvdata/IBM891.so] |
17 |
> > Error 1 |
18 |
> > make[2]: *** Waiting for unfinished jobs.... |
19 |
> > make[2]: Leaving directory |
20 |
> > `/var/tmp/portage/glibc-2.3.5-r2/work/glibc-2.3.5/iconvdata' |
21 |
> > make[1]: *** [iconvdata/others] Error 2 |
22 |
> > make[1]: Leaving directory `/var/tmp/portage/glibc-2.3.5-r2/work/glibc-2.3.5' |
23 |
> > make: *** [all] Error 2 |
24 |
> > |
25 |
> > !!! ERROR: sys-libs/glibc-2.3.5-r2 failed. |
26 |
> > !!! Function toolchain-glibc_src_compile, Line 226, Exitcode 2 |
27 |
> > !!! (no error message) |
28 |
> > ______________________________________________________________ |
29 |
> |
30 |
> |
31 |
> Show must go on. I removed those use-flags (hardened, hardenedphp |
32 |
> and lm_sensors), and tried to put my system to previous clean state |
33 |
> with "emerge --update --deep --newuse world". Now only 1 package has |
34 |
> to be recompiled: gcc-3.4.4-r1, but it fails with following error: |
35 |
> ___________________________________________________________________ |
36 |
> /var/tmp/portage/gcc-3.4.4-r1/work/gcc-3.4.4/libiberty/strsignal.c: In function |
37 |
> `psignal': |
38 |
> /var/tmp/portage/gcc-3.4.4-r1/work/gcc-3.4.4/libiberty/strsignal.c:563: error: |
39 |
> argument "signo" doesn't match prototype |
40 |
> /usr/include/signal.h:141: error: prototype declaration |
41 |
> /var/tmp/portage/gcc-3.4.4-r1/work/gcc-3.4.4/libiberty/strsignal.c:563: error: |
42 |
> argument "message" doesn't match prototype |
43 |
> /usr/include/signal.h:141: error: prototype declaration |
44 |
> /var/tmp/portage/gcc-3.4.4-r1/work/gcc-3.4.4/libiberty/strsignal.c:568: warning: |
45 |
> comparison between signed and unsigned |
46 |
> make[1]: *** [strsignal.o] Error 1 |
47 |
> make[1]: Leaving directory `/var/tmp/portage/gcc-3.4.4-r1/work/build/libiberty' |
48 |
> make: *** [all-libiberty] Error 2 |
49 |
> |
50 |
> !!! ERROR: sys-devel/gcc-3.4.4-r1 failed. |
51 |
> !!! Function gcc_do_make, Line 1339, Exitcode 2 |
52 |
> !!! emake failed with profiledbootstrap |
53 |
> ____________________________________________________________________ |
54 |
> |
55 |
> Frankly, I really have no idea what to do now. If I include those flags |
56 |
> (hardened, hardenedphp and lm_sensors), compilation of glibc-2.3.5-r2 |
57 |
> fails because of some segmentation error. |
58 |
> |
59 |
> If I remove those use-flags, compilation of gcc-3.4.4-r1 fails because |
60 |
> of some other error. Does anybody have any idea how to get out of this |
61 |
> "circulus vitiosus"? Any tips would be really appreciated and welcomed... |
62 |
> |
63 |
> Jarry |
64 |
> |
65 |
Hi, |
66 |
You shouldn't have used "hardened" unless you running a hardened system. |
67 |
Could be done via (hardened + pic IIRC) using normal system profile or |
68 |
w/o any special USE-flags, when using a "hardened" profile. |
69 |
Check the output of: gcc-config -l (what profile is GCC using) and |
70 |
switch to vanilla. Hope your toolchain isn't recompiled too. |
71 |
IIRC 'hardened-php' isn't part of a real "hardened" system (you must be |
72 |
using a hardened kernel too - hardened|selinux|rsbac-sources) it's only |
73 |
a hardening patch for PHP. |
74 |
HTH.Rumen |