Table of Contents
Installing Python Milter
Intro
Since I ran into a couple of minor hangups with this, I figured I would pass along a little info to help out anyone who also ran into snags getting this working. I have to say, the Python Milter module put together by Jim Niemira and Stuart D. Gathman is really quite good once you get it up and running.
Note: This is geared towards people out there who are not running Sendmail. Personally, I would rather run my hands through a wood chipper than use Sendmail, so this is for those of you running Postfix, like I do.
Install libmilter
This was a straightforward process on my Gentoo machine. There is a libmilter
package in Portage, albeit masked, so it was just a matter of:
# ACCEPT_KEYWORDS="~x86" emerge libmilter
That was easy.
Installing Python Milter
First, download a copy of Python Milter from sourceforge: http://sourceforge.net/project/showfiles.php?group_id=139894&package_id=243476&release_id=688263
I downloaded the source, and that's what I'm going to be dealing with here. Once you have it downloaded, untar it and move into that directory:
# tar -xvzf pymilter-<version>.tar.gz # cd pymilter-<version>
Now, here is where I ran into problems. When I ran the installer, I got the following error:
# python setup.py install running install running build running build_py running build_ext building 'milter' extension i686-pc-linux-gnu-gcc -pthread -shared build/temp.linux-i686-2.4/miltermodule.o -lmilter -lsmutil -o build/lib.linux-i686-2.4/milter.so /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/../../../../i686-pc-linux-gnu/bin/ld: cannot find -lsmutil collect2: ld returned 1 exit status error: command 'i686-pc-linux-gnu-gcc' failed with exit status 1
Taking a look at it reveals that gcc
can't find the smutil
library. I took a guess and figured that smutil
was probably “Sendmail Utilities”. The fix is next.
The Fix
The fix for me was quite simple. I just downloaded the source for Sendmail itself matching the version of libmilter
that I had installed (in this case, it was 8.14.3). Once I had it downloaded, I just built it and added libsmutil.a
to to my lib directory, /usr/lib
.
# tar -xvzf sendmail.8.14.3.tar.gz # cd sendmail-8.14.3 # ./Build # cp obj.Linux.2.6.19-gentoo-r5.i686/libsmutil/libsmutil.a /usr/lib
After that, I reran the install for Python Milter and it installed and worked without a hitch.
Hope this helps someone else out there because the Python Milter library works really well.