본문
db_185.h, cannot find -ldb 컴파일 문제 해결하기
fedora 18 x64에서 iproute2(iproute2-2.6.38.tar.bz2)를 make하려 할때 아래와 같은 오류가 발생하였다.
gcc -fpic -D_GNU_SOURCE -O0 -U_FORTIFY_SOURCE -I../include -DRESOLVE_HOSTNAMES -DLIBDIR=\"/usr/lib/\" -I/usr//usr/include -pie -o arpd arpd.c ../lib/libnetlink.a ../lib/libutil.a -ldb -lpthread
arpd.c:19:20: fatal error: db_185.h: No such file or directory
db_185.h가 없다는 것이므로 find / -name 'db_185.h'으로 검색해보니 /usr/include/libdb4/db_185.h 여기에 있었다.
그래서 include path에 등록하기 위해 Makefile을 열었더니 떡하니 이렇게 있었다.
# Path to db_185.h includeDBM_INCLUDE:=$(ROOTDIR)/usr/include
따라서 위 경로를 /usr/include/libdb4로 변경하였더니 컴파일이 진행되었다... 라고 생각했는데
/usr/bin/ld: cannot find -ldb
문제가 발생했다. 그래서 이번에는 find / -name 'libdb.so' 을 해보니
/usr/lib64/libdb4/libdb.so
라이브러리 파일이 여기에 있었다. 그래서 뒤에 라이브러리 옵션(-L/usr/lib64/libdb4)을 덧붙여주니 잘 컴파일이 되었다!! 64비트의 폐혜인가..
댓글