I did a source install of Sendmail 8.14.4, and BerkeleyDB.4.1 in ubuntu14.04lts Amazon EC2. The installation was successfully compiled, as far as I know.
With the installation of the source, I made a copy to /usr/sbin/sendmail
the new version of sendmail
using the command cp
.
But I can't find the sendmail
file (below refer). There is no executable file..
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
Is it not compiled properly? Why is it?
==========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')
==========================================================
EDIT #1
I'm assume all binary files compiled successfully, except for the sendmail binary.
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
How do you determine a compilation of normal useless ? debuging file is not the remain ?
======================================================== root@ip-192-168-10-152:~# find . -type f | grep sendmail$ no output
========================================================
– user3792248 Jul 03 '14 at 00:45sendmail
, often times there is a single executable with symbolic links to it. The executable when called interrogates the name of the link that it was called w/ and then behaves differently based on this name. See this Q&A for an example: http://unix.stackexchange.com/questions/77029/why-are-reboot-shutdown-and-poweroff-symlinks-to-systemctl/77030#77030 – slm Jul 03 '14 at 01:31