On Wed, Aug 13, 2014 at 2:13 PM, Chris Bunch <chris.bunch@???> wrote:
> If anyone has experience of compiling & installing Exim on Linux your insights would be invaluable.
>
> I have been running Exim (and other servers) on Mac OS X for many years but am now having to migrate them to a cloud system on Linode. I have always compiled from source on Mac OS X rather than using packages (there weren't any back then, and it 'just worked'). I can see that the issue on Linux is going to be where the various libraries are (or aren't), for example (from 'make'):
>
> In file included from exim.h:490:0,
> from exim_dbmbuild.c:31:
> dbstuff.h:371:18: fatal error: gdbm.h: No such file or directory
>
> Yes there are Exim packages available which will install in a breeze but, you know, I prefer to understand what I am installing and where. Any advice or pointers to relevant docs would be appreciated.
Thanks to all of you who have responded very helpfully. The db issue was solved by apt-get install libdb5.1-dev
I am nearly there now and can compile successfully, but for mysql support:
lookups/lookups.a(mysql.o): In function `mysql_tidy':
mysql.c:(.text+0x146): undefined reference to `mysql_close'
lookups/lookups.a(mysql.o): In function `perform_mysql_search':
mysql.c:(.text+0x397): undefined reference to `mysql_init'
...
mysql.c:(.text+0x70b): undefined reference to `mysql_free_result'
lookups/lookups.a(mysql.o): In function `mysql_version_report':
mysql.c:(.text+0x716): undefined reference to `mysql_get_client_info'
collect2: ld returned 1 exit status
make[1]: *** [exim] Error 1
make[1]: Leaving directory `/home/cb/source/exim-4.84/build-Linux-x86_64'
make: *** [all] Error 2
The Linode distro is Ubuntu 12.04 LTS. I have libmysqlclient-dev installed, and mysql-server. I suspect my Makefile is not quite right: I am finding the syntax around EXTRALIBS & INCLUDE rather opaque but I expect I'll get there.
Yes I could (and may well) just go with 'sudo apt-get build-dep exim4'. That sounds a good plan but maybe I'd learn less that way (and would it deal with mysql?). I may also venture into IRC.
Thanks again
Chris