sendmail 실행 파일을 찾을 수 없나요?

sendmail 실행 파일을 찾을 수 없나요?

ubuntu14.04lts Amazon EC2에 Sendmail 8.14.4 및 BerkeleyDB.4.1의 소스 설치가 있습니다. 내가 아는 한 설치가 성공적으로 컴파일되었음을 알 수 있습니다. 소스가 설치된 상태에서 명령을 사용하여 /usr/sbin/sendmail새 버전으로 복사합니다.sendmailcp

하지만 파일을 찾을 수 없습니다 sendmail(아래 참조). 실행파일이 없습니다..

root@ip-192-168-10-152:/usr/local/sendmail/sendmail-8.14.4/obj.Linux.3.13.0-24-generic.x86_64/sendmail# ll sendmail*

lrwxrwxrwx 1 root root 25 Jun 30 08:15 sendmail.0.dist -> ../../sendmail/sendmail.0    
lrwxrwxrwx 1 root root 25 Jun 30 08:15 sendmail.8 -> ../../sendmail/sendmail.8    
lrwxrwxrwx 1 root root 25 Jun 30 08:15 sendmail.h -> ../../sendmail/sendmail.h

잘못 컴파일된 걸까요? 왜?

==========The environment set at compile ==============

root@ip-192-168-10-152:/usr/local/sendmail/sendmail-8.14.4/devtools/Site# cat site.config.m4

APPENDDEF(`confINCDIRS', `-I/usr/local/BerkeleyDB.4.1/include')    
APPENDDEF(`confLIBDIRS', `-L/usr/local/BerkeleyDB.4.1/lib')    
APPENDDEF(`confLIBS', `-ldb -lpthread')

==========================================================

편집 #1

sendmail 바이너리를 제외한 모든 바이너리가 성공적으로 컴파일되었다고 가정합니다.

root@ip-192-168-10-172:/usr/local/sendmail/sendmail-8.14.9/sendmail# ./makesendmail

Configuration: pfx=, os=Linux, rel=3.2.0-58-virtual, rbase=3, rroot=3.2, arch=x86_64, sfx=, variant=optimized
Making in /usr/local/sendmail/sendmail-8.14.9/obj.Linux.3.2.0-58-virtual.x86_64/sendmail
cc -o sendmail  -L/usr/local/BerkeleyDB.4.1/lib main.o alias.o arpadate.o bf.o collect.o conf.o control.o convtime.o daemon.o deliver.o domain.o envelope.o err.o headers.o macro.o map.o mci.o milter.o mime.o parseaddr.o queue.o ratectrl.o readcf.o recipient.o sasl.o savemail.o sfsasl.o shmticklib.o sm_resolve.o srvrsmtp.o stab.o stats.o sysexits.o timers.o tls.o trace.o udb.o usersmtp.o util.o version.o      /usr/local/sendmail/sendmail-8.14.9/obj.Linux.3.2.0-58-virtual.x86_64/libsmutil/libsmutil.a /usr/local/sendmail/sendmail-8.14.9/obj.Linux.3.2.0-58-virtual.x86_64/libsm/libsm.a  -ldb -ldl -ldb -lpthread

domain.o: In function `getmxrr':    
domain.c:(.text+0x1f0): undefined reference to `__res_search'    
domain.c:(.text+0x200): undefined reference to `__res_query'    
domain.c:(.text+0x2a5): undefined reference to `__dn_skipname'    
domain.c:(.text+0x4f4): undefined reference to `__dn_expand'    
domain.c:(.text+0x5be): undefined reference to `__dn_expand'    
domain.o: In function `dns_getcanonname':    
domain.c:(.text+0x1017): undefined reference to `__res_querydomain'    
domain.c:(.text+0x10ab): undefined reference to `__dn_skipname'    
domain.c:(.text+0x1213): undefined reference to `__dn_expand'    
domain.c:(.text+0x12a1): undefined reference to `__dn_expand'    
sm_resolve.o: In function `dns_lookup_int':    
sm_resolve.c:(.text+0x21d): undefined reference to `__res_search'    
sm_resolve.c:(.text+0x313): undefined reference to `__dn_expand'    
sm_resolve.c:(.text+0x42e): undefined reference to `__dn_expand'    
sm_resolve.c:(.text+0x598): undefined reference to `__dn_expand'    
sm_resolve.c:(.text+0x6d8): undefined reference to `__dn_expand'    
sm_resolve.c:(.text+0x799): undefined reference to `__dn_expand'    
sm_resolve.c:(.text+0x99f): undefined reference to `__res_search'    
collect2: ld returned 1 exit status    
make: *** [sendmail] Error 1

답변1

make경고나 오류가 있는지 빌드할 때 출력을 다시 확인합니다. 현재 바이너리 가 없으면 sendmail올바르게 빌드되지 않습니다. 또한 소스 트리에서 사용법을 찾아보세요 sendmail. find일반적으로 바이너리는 다른 디렉터리에 배치됩니다.

$ find . -type f | grep sendmail$

컴파일 문제

최근 편집 내용에 따르면 이 두 줄은 컴파일이 실패했음을 알려줍니다.

collect2: ld returned 1 exit status    
make: *** [sendmail] Error 1

생성된 바이너리를 찾는 것에 대해 걱정하기 전에 이러한 오류가 발생하는 이유를 파악해야 합니다 sendmail. 아직 존재하지 않기 때문에 찾을 수 없습니다.

관련 정보