[exim] Build exim with DBM in custom path

Top Page
Delete this message
Reply to this message
Author: Robert Steiner
Date:  
To: exim-users
Subject: [exim] Build exim with DBM in custom path

Hello everybody,

I have compiled the Berkeley DB 4.8.30 from source into a custom path
and now try to use that with exim.
I made no changes of any defaults for DB except
"--prefix=/custom_path"
(BTW, the whole documentation does not mention versions 5 and 6 of the
Berkeley DB - are those compatible as well? Are those recommended or
should I use the latest version of 4?)

I have tried the following settings in Local/Makefile:

=== 1:

DBMLIB=/custom_path/lib/libdb-4.8.a

=== Result:

libdb-4.8.a(os_yield.o): In function `__os_yield':
os_yield.c:(.text+0x51): undefined reference to `pthread_yield'
/FALK/sys/ext/lib/libdb-4.8.a(mut_pthread.o): In function
`__db_pthread_mutex_init':
mut_pthread.c:(.text+0x6d): undefined reference to
`pthread_mutexattr_destroy'
mut_pthread.c:(.text+0x106): undefined reference to
`pthread_mutexattr_init'
mut_pthread.c:(.text+0x124): undefined reference to
`pthread_mutexattr_setpshared'
mut_pthread.c:(.text+0x1a1): undefined reference to
`pthread_condattr_setpshared'
[ + more, similar errors ]

Maybe I have to compile Berkeley DB differently?

=== 2:

DBMLIB=-L/custom_path/lib -ldb

=== Result:

Compiles fine, but runs only with LD_LIBRARY_PATH set to
/custom_path/lib, which does not work for setuid-binaries if started
by a non-root user.

=== 3:

CFLAGS=-Wl,-rpath=/custom_path/lib/
DBMLIB=-L/custom_path/lib -ldb

=== Result:

Same as 2.
I have used the -Wl,-rpath trick successfully for other programs,
usually it does the job, but not with exim; maybe CFLAGS is used in
some different way or I need to put the flags into another variable?

=== 4:

CFLAGS += -Wl,-rpath=/custom_path/lib/
DBMLIB=-L/custom_path/lib -ldb

=== Result:

Same as 2.

=== 5:

DBMLIB=/custom_path/lib/libdb-4.8.a -ldb

=== Result:

/usr/bin/ld: cannot find -ldb

=========

Now I am out of ideas.

Thanks a lot for your help,

Best regards,

Robert