libz.so.1, needed by ..., may conflict with libz.so.0 --> 이 에러는 왜 발생하는건가요?
솔라리스에서 개발하던 프로그램을 리눅스에서 컴파일 했더니 이런 에러가 나오는군요.. 산 넘어 산이라고.. 구글에서 검색을 해봤는데 관련된 질문을 몇개 있는데 답변이 없네요.
gcc -I/usr/local/mysql/include/mysql -I/home/ktkim/libcurl/include/curl -Wall -g -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DCONFIG_FILE_PATH="\"/usr/local/etc\"" -L/usr/local/mysql/lib/mysql -L/home/ktkim/libcurl/lib -o msn_bot main.o config_file.o connection.o global.o md5.o show_msg.o -lnsl -lm -lmysqlclient -lz -lcurl
/usr/bin/ld: warning: libz.so.1, needed by /home/ktkim/libcurl/lib/libcurl.so, may conflict with libz.so.0
생성된 바이너리 파일을 ldd로 살펴보면..
root@development:~/msn_bot# ldd src/msn_bot
....
libmysqlclient.so.14 => /usr/lib/libmysqlclient.so.14 (0xb7e6d000)
libz.so.0 => not found
libz.so.1 => /usr/lib/libz.so.1 (0xb7ccc000)
....
libz.so.1은 제대로 연결되어 있는데 libz.so.0 이라는 놈이 이상하게 되어있네요.
그리고 libmysqlclient.so 파일을 ldd로 확인해봤습니다.
root@development:/usr/local/mysql/lib/mysql# ldd libmysqlclient.so
...
libz.so.0 => /usr/local/mysql/lib/mysql/libz.so.0 (0xb7e84000)
...
컴파일된 프로그램을 실행시키면 바로 죽어버립니다...
src/msn_bot: error while loading shared libraries: libz.so.0: cannot open shared object file: No such file or directory
/usr/local/mysql/lib/mysql/libz.so.0 이 파일이 존재하는데 제 프로그램 바이너리에서는 없는걸로 나오네요. 이게 문제인것 같은데 어떻게 해야할지를 모르겠습니다. :-(
안녕하세요, 혹시
안녕하세요, 혹시 mysql이 /usr/lib/libz.so.1에 링크되게 재컴파일 하실 수 있는 상황이시라면 한번 해보시면 어떨까요?
음.. LD_LIBRARY_PATH에
음.. LD_LIBRARY_PATH에 디렉토리 지정이 안되서 라이브러리를 못찾는걸 생각을 못했네요.. 역시 잠을 안자니 사소한 문제에서도 버벅거리네요.. 쩝..
======================
BLOG : http://superkkt.com
======================
BLOG : http://superkkt.com
댓글 달기