에 정의되지 않은 참조 나는, 나는/프로그래머하고 있지 않다 있다고 경고하지만 오라클에 의해 만들어진 프로그램을 설치하면 관리자는 좀 행동libgcc_s.so :`[email protected]_2.4 '처음에는
을 이해하려고 노력 메시지를 기록되었다 :
/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
나는에 의해 진단을 시도 그래서 다음 :
objdump -T /lib/libgcc_s.so.1 | 그렙
00000000 DF *UND* 00000000 GLIBC_2.4 __stack_chk_fail
및
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)
및
objdump를 -T/lib에 __stack_chk_fail /libc.so.6 | grep __ 이 문제가 발생하는 이유 모든 기호 내부 라이브러리를 공유하는 경우 나도 몰라)
00c52f80 g DF .text 0000001a GLIBC_2.4 __stack_chk_fail
1 stack_chk_fail (mabye는,
때를) 저를 수정하거나 확인하는 방법하시기 바랍니다 아니다
objdump를 -T의 /lib/libgcc_s.so.1 __stack_chk_fail 기호없이 오래된 라이브러리 libgcc_s.so.1를 넣어 | 그렙
empty output
모든 경우에 내부 libgcc_s.so.1이 없기 때문에
2) 링커, __stack_chk_fail 참조를 확인하지 마십시오 확인했다?
은 그렇게 실패에 실행할 때 때문에 정의해야하는 위치를 설명 할 수있다 : objdump를 -T /lib/libgcc_s.so.1 | 그렙 UND, 내가 좋아하는, 훨씬 더 얻을 : 00000000 DF * 싶게 * 00000000 GLIBC_2합니다. 0 realloc – martin
물론 __stack_chk_fail 기호는 libgcc_so.1에서는 정의되지 않았지만 libc.so.6에서 정의되었으므로 경고가 발생하는 이유를 알 수 없습니다 – martin