arm-linux-gcc 오류 입니다.
제가 크로스 컴파일을 하는데 이러한 오류가 뜹니다.
arm-linux-gcc wclient.o client.o common.o -o wclient -L/usr/local/openssl-arm/lib -lssl -lcrypto
/usr/cross-tools/arm-linux/bin/ld: warning: libgcc_s.so.1, needed by /usr/local/openssl-arm/lib/libssl.so, not found (try using -rpath or -rpath-link)
/usr/local/openssl-arm/lib/libcrypto.so: undefined reference to `__ctype_b_loc@GLIBC_2.3'
/usr/local/openssl-arm/lib/libssl.so: undefined reference to `__modsi3@GCC_3.0'
/usr/local/openssl-arm/lib/libssl.so: undefined reference to `__udivsi3@GCC_3.0'
/usr/local/openssl-arm/lib/libcrypto.so: undefined reference to `__udivdi3@GLIBC_2.0'
/usr/local/openssl-arm/lib/libssl.so: undefined reference to `__divsi3@GCC_3.0'
/usr/local/openssl-arm/lib/libcrypto.so: undefined reference to `__umoddi3@GLIBC_2.0'
/usr/local/openssl-arm/lib/libssl.so: undefined reference to `__ashldi3@GCC_3.0'
/usr/local/openssl-arm/lib/libcrypto.so: undefined reference to `__ctype_tolower_loc@GLIBC_2.3'
/usr/local/openssl-arm/lib/libssl.so: undefined reference to `__umodsi3@GCC_3.0'
어떻게 해결할 수 없을까요?
조그마한 관심이라도 부탁드립니다.
libgcc_s.so.1이 파일을 찾을수 없다는데야
즐린
arm용 libgcc_s.so.1 파일을 링크시켜보세여
즐린
답변 감사합니다.
근데 ,, 링크시키는 법좀 자세히 알려주시면 감사하겠습니다. ㅜㅜ
libgcc_x.xx이 파일은 원래 gcc에 포함되어있는건데여
즐린
우선 이 파일이 arm=gcc패키지에 있는지 확인하세여
없으면 arm=gcc다시 깔아보세여
원래 따로 링크할 필요는 없는거로 압니다.
원래 gcc에서 자동으로 링크시켜주는거라서
즐린
그 파일이 arm 폴더에 존재 합니다.
/usr/local/arm/3.3.2/lib/libgcc_s.so.1 과 /usr/local/arm/3.3.2/arm-linux/lib/libgcc_s.so.1 에 존재 합니다.
아마 답변 해주신분으 말처럼 링크가 되어 있지 않은것 같은데 ,, 어떻게 링크를 시켜야 할지 ,, ㅜㅡ 알려주시면 감사하겠습니다.
-rpath /usr/local/arm/3.3.2/lib -lgcc_s 해보세여
즐린
그 전에 ln -s libgcc_s.so.1 libgcc_s.so
해보세여
즐린
소스 명령어부분을 조금 수정 하였습니다.
--rpath-link /usr/local/arm/3.3.2/lib/libgcc_s.so.1
이렇게 추가를 시켜 링크를 해주었습니다. 덕분에(?) 링크가 잘 된것인지 다른 오류가 발생합니다. ㅜㅡ
arm-linux-gcc wclient.o client.o common.o -o wclient -L/usr/local/openssl-arm/lib -lssl -lcrypto --rpath-link /usr/local/arm/3.3.2/lib/libgcc_s.so.1
/usr/local/openssl-arm/lib/libcrypto.so: undefined reference to `__ctype_b_loc@GLIBC_2.3'
/usr/local/arm/3.3.2/lib/libgcc_s.so.1: undefined reference to `dl_iterate_phdr@GLIBC_2.2.4'
/usr/local/openssl-arm/lib/libcrypto.so: undefined reference to `__ctype_tolower_loc@GLIBC_2.3'
collect2: ld returned 1 exit status
make: *** [wclient] 오류 1
오류가 줄어서 기쁘긴 하지만 계속 산넘어 산이라는 말을 실감합니다. ,,, ㅜㅜ
번거롭게 계속 질문해서 죄송합니다. 고수분들의 관심 부탁 드립니다.
답변을 성실히 해주신 hys545님 정말 감사합니다.
아마 이건 glibc를 링크시켜주어야 할거 같은데여
즐린
-lc
해보세여
그런데 여기 링크시키는 glibc는 반드시! arm용 glibc이어야 합니다.
즐린
댓글 달기