[Dovecot] Dovecot configure script for 1.0b8 not including SQL drivers?
On 6/5/06, grant beattie grant@grunta.com wrote:
On Mon, Jun 05, 2006 at 05:57:36PM -0400, Will Buik wrote:
I am having a problem with the configure script for Dovecot 1.0b8. It doesn't seem to be compiling in sql engine driver support. I have specified --with-sql and --with-pgsql but when the script is done it says "Building with SQL drivers ..............:" but lists no drivers afterwards. I tried compiling it anyway but it logs the error " auth(default): Unknown database driver 'pgsql' " so the it defiantly didn't get compiled in. My pgsql includes and libs are in a non standard location but I specified that in the CPPFLAGS and LDFLAGS before the ./configure invocation. What have I done wrong here, or is there a bug in the script?
The whole invocation is: CPPFLAGS='-I/usr/local/openssl-0.9.8b/include -I/usr/local/pgsql-8.1.4/include' LDFLAGS='-L/usr/local/openssl-0.9.8b/lib -L/usr/local/pgsql-8.1.4/lib' ./configure --prefix=/usr/local/dovecot-1.0b8 --sysconfdir=/etc/dovecot --localstatedir=/var --with-ioloop=eooll --with-notify=dnotify --without-pop3d --with-storages=maildir --with-sql --with-pgsql --with-gnu-ld
what does config.log say? and does it report any problems with finding openssl?
the problem may be that the shared libraries can't be found at runtime, in which case you will need to set the rpath in the binaries that are built. you didn't mention which platform/compiler you're using, but this is done using the -Wl,-R<directory> argument for gcc and Sun Studio compiler/Solaris ld, at least (-Wl passes the next argument to the linker, -R tells the linker to include this path in the binary's rpath).
grant.
I looked at the config.log file and it doesn't look like it's having any problems with openssl, but when I looked for pgsql I got what looked like some errors.
configure:29296: checking for PQconnectdb in -lpq | char PQconnectdb (); | PQconnectdb (); ac_cv_lib_pq_PQconnectdb=no
/usr/local/pgsql-8.1.4/lib/libpq.so: undefined reference to dlerror' /usr/local/pgsql-8.1.4/lib/libpq.so: undefined reference to
dlclose'
/usr/local/pgsql-8.1.4/lib/libpq.so: undefined reference to dlopen' /usr/local/pgsql-8.1.4/lib/libpq.so: undefined reference to
dlsym'
On Tue, Jun 06, 2006 at 07:56:59AM -0400, Will Buik wrote:
the problem may be that the shared libraries can't be found at runtime, in which case you will need to set the rpath in the binaries that are built. you didn't mention which platform/compiler you're using, but this is done using the -Wl,-R<directory> argument for gcc and Sun Studio compiler/Solaris ld, at least (-Wl passes the next argument to the linker, -R tells the linker to include this path in the binary's rpath).
I looked at the config.log file and it doesn't look like it's having any problems with openssl, but when I looked for pgsql I got what looked like some errors.
interesting, do you have a static or dynamic openssl? I wonder what the rpath looks like.
what platform is this?
configure:29296: checking for PQconnectdb in -lpq | char PQconnectdb (); | PQconnectdb (); ac_cv_lib_pq_PQconnectdb=no
/usr/local/pgsql-8.1.4/lib/libpq.so: undefined reference to
dlerror' /usr/local/pgsql-8.1.4/lib/libpq.so: undefined reference to
dlclose' /usr/local/pgsql-8.1.4/lib/libpq.so: undefined reference todlopen' /usr/local/pgsql-8.1.4/lib/libpq.so: undefined reference to
dlsym'
for some reason, your postgresql install is broken, and requires symbols from libdl but libpq isn't linked against libdl.
a quick hack would be to add "-ldl" to your LDFLAGS, but the proper fix would be having postgresql link against libdl at build time.
grant.
participants (2)
-
grant beattie
-
Will Buik