3 messages in net.sourceforge.lists.courier-users[courier-users] Authlib Configure/Com...
FromSent OnAttachments
Steve ManningApr 27, 2005 2:13 pm 
Gordon MessmerApr 27, 2005 4:11 pm 
Steve ManningApr 28, 2005 1:11 pm 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:[courier-users] Authlib Configure/Compile Errors - Mandrake 10.1Actions...
From:Steve Manning (ste@manning.net)
Date:Apr 27, 2005 2:13:36 pm
List:net.sourceforge.lists.courier-users

Hi

I'm trying to compile courier-authlib-0.55 on Mandrake 10.1 (with a 2.6 kernel). I have Sleepycat 4.1.25 installed and working (Exim is using it). When I try to compile as follows:

export LDFLAGS="-L /usr/local/db-4.1.25/lib" export CPPFLAGS="-I /usr/local/db-4.1.25/include" ./configure --prefix=/usr/local/courier-imap --without-authuserdb --with-authpgsql --with-redhat --with-db=db

I get the "Cannot find either the gdbm or the db library." error. A quick check of the config log shows the following:

configure:20932: checking for db_env_create configure:20989: gcc -o conftest -g -O2 -Wall -I.. -I./.. -I /usr/local/db-4.1.25/include -L /usr/local/db-4.1.25/lib conftest.c

&5

/home/steve/tmp/ccgd0Ejy.o(.text+0x11): In function `main': /usr/local/src/courier-authlib-0.55/conftest.c:60: undefined reference to `db_env_create' /home/steve/tmp/ccgd0Ejy.o(.data +0x0):/usr/local/src/courier-authlib-0.55/conftest.c:59: undefined reference to `db_env_create' collect2: ld returned 1 exit status

Which to my untrained eye would suggest that the flags are being passed in correctly and I have confirmed that libdb.a, libdb.so and db.h are in those paths. So I was about to post this message when I remembered that I had a problem compiling Exim which failed until I passed in the -lpthreads switch in its config. The reason given on the Exim forum is that Mandrake 10.1 is a NPTL based distro and so it needs to be linked against libpthread http://www.exim.org/mail-archives/exim-users/Week-of-Mon-20040329/msg00199.html
. So I thought I'd give it a try:

export LDFLAGS="-L /usr/local/db-4.1.25/lib" export CPPFLAGS="-I /usr/local/db-4.1.25/include" export CFLAGS="-lpthread" ./configure --prefix=/usr/local/courier-imap --without-authuserdb --with-authpgsql --with-redhat --with-db=db

It now completes configure without error but fails on make with:

Linking libbdbobj.la Linking libbdbobjs.la Compiling testbdb.C Linking testbdb /usr/local/db-4.1.25/lib: file not recognized: Is a directory collect2: ld returned 1 exit status make[3]: *** [testbdb] Error 1

Am I on the right lines? I'm not a C guru so any suggestions on where to go from here would be gratefully received.

- Steve

________________________________________________________________________ There are only 10 types of people in this world Those who understand binary and those who don't