c++ - libgcc_s.so: undefined reference to `__stack_chk_fail@GLIBC_2.4' -
at first warn i/m not programmer, administrator try understand actions
when installed program made oracle, got log message:
/usr/bin/make -f ins_precomp.mk relink oracle_home=/u01/oracle/orahome_1 exename=proc/linking /u01/oracle/orahome_1/precomp/lib/proc
__stack_chk_fail@glibc_2.4'`
libgcc_s.so: undefined reference to
ls -l
../libgcc_s.so -> /lib/libgcc_s.so.1
so next tried diagnose by:
objdump -t /lib/libgcc_s.so.1 | grep __stack_chk_fail
00000000 df *und* 00000000 glibc_2.4 __stack_chk_fail
and
ldd /lib/libgcc_s.so.1.org
linux-gate.so.1 => (0x00fc5000)
libc.so.6 => /lib/libc.so.6 (0x00110000)
/lib/ld-linux.so.2 (0x00b39000)
and
objdump -t /lib/libc.so.6 |grep __stack_chk_fail
00c52f80 g df .text 0000001a glibc_2.4 __stack_chk_fail
1) don't know why problem occured if symbols inside shared libraries (mabye isn't, please correct me, or how check it)
when put older library libgcc_s.so.1 without symbol __stack_chk_fail
objdump -t /lib/libgcc_s.so.1 |grep __stack_chk_fail
empty output
everything ok
2) linker not check reference __stack_chk_fail, because there isn't inside libgcc_s.so.1 in case?
the problem is:
libgcc_s.so having dependency on libc.so.6. problem starts glibc 2.4 version.
you should add -lc in link line.
this question give more information. in linux stubs used standard libraries. why stubs required?
Comments
Post a Comment