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 -- ## List details at https://lists.exim.org/mailman/listinfo/exim-users ## Exim details at http://www.exim.org/ ## Please use the Wiki with this list - http://wiki.exim.org/
