dbm 데이터베이스 파일 컴파일 시 에러에 대한 해결방법좀 알려주세요 ㅠㅠ
Beginning Linux Programming이란 책으로 dbm 데이터베이스 부분을 공부하고 있는데요.
소스를 작성하고 컴파일을 해보니 우분투 환경이라 그런지 ndbm.h파일이 존재하지 않아서
GNU FTP에서 gdbm-1.8.3 파일을 다운 받아서
$ configure
$ make
$ make install
위와 같이 순서대로 옵션없이 환경설정 먼저 하고 소스 컴파일 후 설치를 했고,
파일 목록을 보니까 ndbm.h 헤더 파일이 있어서 /usr/include/로 파일을 옴긴 다음에
$ gcc -o dbm1 -I/usr/include dbm1.c -lgdbm 으로 컴파일을 했는데,
dbm1.c:(.text+0x30): undefined reference to `dbm_open'
dbm1.c:(.text+0x23d): undefined reference to `dbm_store'
dbm1.c:(.text+0x2e4): undefined reference to `dbm_fetch'
dbm1.c:(.text+0x374): undefined reference to `dbm_close'
collect2: error: ld returned 1 exit status
위와 같은 에러가 뜨더라구요. 그래서 인터넷을 찾아봤더니 -lgdbm_compat 옵션을 주면
에러 없이 컴파일이 된다고 해서
$ gcc -o dbm1 -I/usr/include dbm1.c -lgdbm_compat
/usr/bin/ld: cannot find -lgdbm_compat
collect2: error: ld returned 1 exit status
이번엔 위와 같은 에러가 뜨네요.. 해결방법좀 알려주세요 ㅠㅠ
configure를 실행할 때
configure를 실행할 때 --enable-libgdbm-compat 옵션을 주고 빌드해야 하는 것 같습니다.
그럼 libgdbm_compat 라이브러리가 생성될 것입니다.
댓글 달기