Linux/Tip&Tech2008. 10. 9. 07:51



출처 : superuser.co.kr 게시판  글쓴이 고명호

이런 메시지로 고생했었기에 해결방안을 올립니다.제
우선 저는 linux 이고 sendmail-8.12.10 과 버클리DB4.1.24를 사용한 경우입니다.

makemap: Need to recompile with -DNEWDB for hash support
이 메시지는 버클리DB를 sendmail에서 탑재하지 못했기 때문이라고 합니다. (저도 허접이지만)

설치되어 있는 분은 상관없구요.  설치되지 않았으면 먼저 버클리DB를 설치하셔야 합니다.

설치되어 있는지 확인하는 방법 :
보통은 /usr/local/BerkeleyDB.4.1입니다. 만약 /usr/local에 BerkeleyDB.4.1이 없다면 설치되지 않은 것이죠. 서버마다 경로가 다를 수 있으니 상황에 맞게 확인하세요. 그리고 디렉토리명도 버전에 따라 다르니 BerkeleyDB.x.x  알아서 확인하시길...

(중요) 저는 sendmail8.12.10으로 깔면서 위와 같은 에러가 떠서 버클리DB 4.1.25를 다운받아 설치했는데, sendmail8.12.10(이전버전의 경우는 모름)은 버클리DB 4.1.24버전이나 그 이전버전을 사용해야 한다는 군요.  www.sendmail.org에서 그러는데 최신버전인 4.1.25버전은 안된다네요..(ㅜㅜ)
그래서 다시 4.1.24를 다운받아 설치 했습니다.


컴파일시 sendmail data base (smdb : 아마도 약자겠죠?)를 디폴트로 하는데,
버클리DB가 디폴트인지(?)....
컴파일때, /usr/lib/libdb.a 와 /usr/include/db.h 파일을 필요로 하더군요.
버클리 DB를 설치하신분은 아래와 같이 두 파일을 복사/심볼릭 링크를 해주고
  /usr/local/Sendmail-8.12.10 디렉토리에서 (경로는 각자 서버상황에 맞게 생각하시고)
  sh Build 만 치면 되네요.


두 파일을 연결하는 방법은...
우선 버클리DB의 경로가 /usr/local/BerkeleyDB.4.1 이라고 가정하구요.

생성된  include/db.h 와 lib/libdb-4.1.a 파일을 적당하게 복사 / 심볼릭 링크를 해줍니다.
즉 db.h 파일을 /usr/include 에 복사해 넣고
예) cp /usr/local/BerkeleyDB.4.1/include/db.h /usr/include
또 libdb-4.1.a 파일을 /usr/lib/libdb.a 로 심볼릭 링크를 해줍니다.
예) # cd /usr/lib
     # ln -s ../local/BerkeleyDB.4.1/lib/libdb-4.1.a libdb.a
이렇게 하고
컴파일을 하면 에러없이 잘 넘어갑니다.

그리고 센드메일을 시작하면 에러가 안뜹니다. ^^
제 경험이니 다른분들의 경우 다를 수도 있을 겁니다.

고생하는 분들에게 도움이 되길..

'Linux > Tip&Tech' 카테고리의 다른 글

ip_conntrack: table full, dropping packet  (0) 2008.10.09
bash sell 오류 해결  (0) 2008.10.09
Sendmail에서 makemap 생성시 Berkeley DB 문제  (0) 2008.10.09
rsync 설정  (0) 2008.10.09
SSL 페이지적용을 간단하게 하기위한 스크립트  (0) 2008.10.09
mysql 사용자 추가  (0) 2008.10.09
Posted by 이름따위사치다 Grub

댓글을 달아 주세요