Hi Sheldon,
Thus wrote Sheldon Hearn (sheldonh@???):
> On Tue, 14 Jan 2003 11:04:37 +0100, Martin Kaiser wrote:
> > I'm using exim 4.12 on FreeBSD 4.1, compiling Exim from the sources
> > (using the port is not an option on this machine).
> That's unfortunate, because the port is intended to protect you from
> exactly this sort of problem.
I know - and I'm very happy with the port on a lot of other FreeBSD
boxes.
> In that case, it looks like you have a Berkeley DB version conflict.
DB code is included in the libc on FreeBSD, right? Is there a way to
figure out what version is included (other than cvsupping the complete 4.1
sources)?
> > Exim can't keep track of the retry times, undeliverable mails will never
> > be expunged from the queue.
> > I tried both the DBM that comes with FreeBSD and the latest Berkeley
> > DB4. However, I still get the same message.
> You got the same message, but possibly for two different reasons.
> You didn't supply your EDITME / Makefile, and you didn't supply the
> output from ldd /usr/local/sbin/exim, so I can only guess.
Shame on me ;-)
The changes I made in Local/Makefile look like this:
BIN_DIRECTORY=/usr/local/exim/bin
CONFIGURE_FILE=/usr/local/exim/etc/configure
EXIM_USER=mailnull
EXIM_GROUP=mail
SPOOL_DIRECTORY=/var/spool/exim
ROUTER_ACCEPT=yes
ROUTER_DNSLOOKUP=yes
ROUTER_IPLITERAL=yes
ROUTER_MANUALROUTE=yes
ROUTER_QUERYPROGRAM=yes
ROUTER_REDIRECT=yes
TRANSPORT_APPENDFILE=yes
TRANSPORT_AUTOREPLY=yes
TRANSPORT_PIPE=yes
TRANSPORT_SMTP=yes
LOOKUP_DBM=yes
LOOKUP_LSEARCH=yes
AUTH_CRAM_MD5=yes
AUTH_PLAINTEXT=yes
LOG_FILE_PATH=/var/log/exim/%slog
EXICYCLOG_MAX=14
COMPRESS_COMMAND=/usr/bin/gzip
COMPRESS_SUFFIX=gz
ZCAT_COMMAND=/usr/bin/zcat
SYSTEM_ALIASES_FILE=/etc/mail/aliases
For compiling with Berkeley DB4, I changed OS/Makefile-FreeBSD (there
might be better ways to do this):
# FreeBSD always ships with Berkeley DB
USE_DB=yes
DBMLIB= -L/usr/local/BerkeleyDB.4.0/lib/ -ldb-4
For the standard DB, there's just the USE_DB=yes line.
The ldd output for the standard DB settings:
root@???# ldd /usr/local/exim/bin/exim
/usr/local/exim/bin/exim:
libcrypt.so.2 => /usr/lib/libcrypt.so.2 (0x280d5000)
libc.so.4 => /usr/lib/libc.so.4 (0x280d8000)
And for the Berkeley DB4 version:
root@???# ldd /usr/local/src/exim-4.12/build-FreeBSD-i386/exim
/usr/local/src/exim-4.11/build-FreeBSD-i386/exim:
libcrypt.so.2 => /usr/lib/libcrypt.so.2 (0x280d5000)
libdb-4.0.so => /usr/local/BerkeleyDB.4.0/lib/libdb-4.0.so (0x280d8000)
libc.so.4 => /usr/lib/libc.so.4 (0x2815d000)
> I hope that your reason for not using the FreeBSD port for Exim isn't "I
> can't use CVSup to update my ports tree". If that's the reason, you're
> in _REAL_ trouble, running an unpatched FreeBSD 4.1 host connected to
> the Internet. :-)
You're very right about that point ;-)
Martin