Indescribable Place

에러 모음 : 64비트 32비트 공존, errno 관련 본문

WORK

에러 모음 : 64비트 32비트 공존, errno 관련

거울노을 2011. 11. 14. 15:57
/usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.so when searching for -lmysqlclient
만약 위와 비슷한 메시지들을 뿌려댈때...
원인은 64비트 라이브러리와 32비트 라이브러리가 공존하고 있을 경우...
링커는 기본적으로 /usr/lib에서 먼저 라이브러리를 검색하게 되는데서 발생하는 오류이다.


 /usr/bin/ld: errno: TLS definition in /lib/libc.so.6 section .tbss mismatches non-TLS reference in my_malloc.lo
errno와 관련해서 링크 에러가 날 때 가장 흔한 원인은 #include 대신 extern int errno; 를 사용한 경우입니다.
소스코드에서 extern int errno; 를 찾아서 errno.h를 #include하도록 바꿔보세요.