[질문] mysql을 이용한 c 프로그래밍에서 컴파일 문제

progamer의 이미지

Paran Linux 와 MySQL 3.23.38 에서 기존에 잘 쓰고 있던 c프로그램을
새로 서버를 구축하면서 옮겨서 컴파일을 하는 도중 문제가 발생했습니다.
새로운 서버는
Red Hat Linux release 9 (Shrike)
Kernel 2.4.20-8smp on an i686 입니다.
MySQL 버젼은 4.0.12 입니다.

# make
gcc -L./lib -L/usr/include  -o snowb snowboard.o  -lcommon -ltrace -lnsl -lm -L/usr/lib/mysql -lmysqlclient
/usr/lib/mysql/libmysqlclient.so(my_compress.o)(.text+0xb4): In function `my_compress_alloc':
: undefined reference to `compress'
/usr/lib/mysql/libmysqlclient.so(my_compress.o)(.text+0x12a): In function `my_uncompress':
: undefined reference to `uncompress'
collect2: ld returned 1 exit status
make: *** [snowb] 오류 1

메시지 그대로 심볼을 못찾는 것같은데요.
nm /usr/lib/mysql/libmysqlclient.so | grep compress
해보니까 아래와 같은 내용이 나오네요.

my_compress.o:
         U compress
00000000 T my_compress
00000068 T my_compress_alloc
000000ec T my_uncompress
         U uncompress
         U my_compress
         U my_uncompress

어떻게 해결해야 할지 모르겟습니다.
고수님들의 도움 부탁드립니다.

jolasen의 이미지

Quote:

gcc -L./lib -L/usr/include -o snowb snowboard.o -lcommon -ltrace -lnsl -lm -L/usr/lib/mysql -lmysqlclient

에 -lz 를 추가해보세요.
gcc -L./lib -L/usr/include -o snowb snowboard.o -lcommon -ltrace -lnsl -lm -L/usr/lib/mysql -lmysqlclient -lz
progamer의 이미지

아... 너무나도 단순한 해법이네요...
시스템 라이브러리에 대한 지식만 있었으면 해결할 수 있었던 것을...

정말 감사합니다. jolasen 님 :)

jolasen의 이미지

별말씀을..
해결이 되신거 같으니 기쁘네요..
전 초보로.. 여기서 배운게 많고 계속 배우고 있답니다..
정말 고마운 커뮤니티에요..