[SA-exim] Using SA-Exim with FreeBSD Exim port
Juha Saarinen
juha at futhermucker.net
Sun Sep 5 11:05:41 PDT 2004
Hey Wash,
Odhiambo Washington wrote:
> Welcome to FreeBSD!! I wonder why you decided to cross the floor but
> that is OT.
Well, it's a quiet list so... I never left the floor so to speak, as I
play with just about every OS imaginable in my line of work.
Nevertheless, FreeBSD end up in the "nice, but life's too short"
compartment, as I found myself doing much too much admin'ing with it.
Take the the multiple /etc directories on FreeBSD: I'm sure there's a
reason for it (network mounted volumes e.g.) but enabling system daemons
in /usr/local/etc/rc.d through /etc/rc.conf... aaaaaaaccckkk....
Now OpenBSD... that's another thing entirely, and with hindsight, I
should've used that for the new box :-)
> Get sa-exim-4.1.tar.gz and read the INSTALL file included. Use method
> no 2 to build. I have just run a test on compilation:
>
> tar yxvf exim-4.42.tar.bz2
> bunzip2 exiscan-acl-4.42-27.patch.bz2
> tar xzvf sa-exim-4.1.tar.gz
>
> Then I did
>
> cd exim-4.42
> patch -p1 < ../exiscan-acl-4.42-27.patch
> patch -p1 < ../sa-exim-4.1/localscan_dlopen_exim_4.20_or_better.patch
> cp src EDITME Local/Makefile
>
> # I then edited the Local/Makefile to reflect my desires ;)
>
> make
>
> ... and the make succeeded!
It did here too, after I tweaked this bit:
# If you set DLOPEN_LOCAL_SCAN, then you need to include -rdynamic in the
# linker flags. Without it, the loaded .so won't be able to access any
# functions from exim.
LFLAGS=-rdynamic -ldl
gcc -c -O2 -pipe -funroll-loops -ffast-math -march=pentium4 -o
exim_dbmbuild.o exim_dbmbuild.c
gcc -o exim_dbmbuild -rdynamic -ldl exim_dbmbuild.o -lcrypt
/usr/bin/ld: cannot find -ldl
*** Error code 1
Stop in /home/juha/eximsawork/exim-4.42/build-FreeBSD-i386.
*** Error code 1
Stop in /home/juha/eximsawork/exim-4.42.
-bash-2.05b$ ld -v
GNU ld version 2.15 [FreeBSD] 2004-05-23
$ gcc -v
Using built-in specs.
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 3.4.2 [FreeBSD] 20040728
Tried compiling a few other code examples that use the "-ldl" flag, and
they failed in each case. Looking through the Makefile for Exim 4.42 I
see this:
# You probably need to add -lpam to EXTRALIBS, and in some releases of
# GNU/Linux -ldl is also needed.
... which makes me think "-ldl" is a Linuxism introduced by the
localscan_dlopen patch. Could someone fill me in on what it does, and
whether or not "-ldl" is necessary?
> cd ../sa-exim-4.1
>
> Edited the Makefile and changed the following values:
>
> SACONF=/etc/exim4/sa-exim.conf # I did not touch that, it's okay for me
> SPAMC=/usr/local/bin/spamc # Change this where your spamc is
> # Mine is in /usr/local/bin/
> EXIM_SRC= ../exim-4.42/src # I changed this as well
>
> gmake
>
> ... and the make succeeded....
Yep, I can confirm this.
> The only thing I see you'll miss (even though not so many people
> use it) is the ability to compile SPF and SRS functionality into
> Exim, which is easier done via the ports ....
Not a believer in SPF, so won't miss that or SRS.
Actually, I'll bug the Exim port maintainer to get sa-exim incorporated
there :-).
--
Juha
More information about the SA-Exim
mailing list