I think this is the problem, libpq.so.4 => /usr/lib/libpq.so.4
If you have PG installed in /u01/... why you link against library in /usr/lib? also, 8.2.x libpq is .5 already, not .4 Bernd Eidenschink wrote: >> Ah well, we found some new bugs anyway... > > Apropos :-) > > I have plenty of bugs that break down to (my) human failure in fact, here's > another... My best friend is the compiling-the-postgres-driver-situation. > Vlad knows, he often helps me with that but it's a neverending story. > > The base of the problem is we always compile Postgres from source and have no > default installation directories. > > Example: > Naviserver in /usr/local/nsroot_production > Postgres in /u01/pgsql8.2.4-dev > > Say I checkout the modules/nsdbpg and try to compile, giving only the > NAVISERVER variable: > > gmake NAVISERVER=/usr/local/nsroot_production/ > gcc -pipe -O2 -fomit-frame-pointer -Wall -Wno-implicit-int -fPIC -pipe > -I/usr/local/nsroot_production//include > -I"/usr/local/nsroot_production/include" -DHAVE_CONFIG_H -c -o > nsdbpg.o nsdbpg.c > In file included from nsdbpg.c:37: > dbpg.h:44:22: error: libpq-fe.h: No such file or directory > In file included from nsdbpg.c:37: > dbpg.h:52: error: expected specifier-qualifier-list before ‘PGconn’ > [... lots of errors following] > > I try to be more specific: > gmake NAVISERVER=/usr/local/nsroot_production \ > CFLAGS="-I/u01/pgsql8.2.4-dev/lib \ > -I/u01/pgsql8.2.4-dev/include \ > -I/usr/local/nsroot_staging/include" > > (Some warnings, but finally:) > gcc -pipe -shared -nostartfiles -L/usr/local/nsroot_production/lib -o > nsdbpg.so nsdbpg.o > tclcmds.o -lnsdb -lpq -lnsthread -lnsd -L/usr/local/nsroot_production/lib > -ltcl8.4 -ldl -lgcc_s -lieee -lm -Wl,--export-dynamic > -L/usr/local/nsroot_production/lib -Wl,-rpath,/usr/local/nsroot_production/lib > /usr/lib/gcc/i586-suse-linux/4.1.0/../../../../i586-suse-linux/bin/ld: cannot > find -lpq > collect2: ld returned 1 exit status > make: *** [nsdbpg.so] Error 1 > > So, after trying various things, I edited the Makefile and changed the line: > MODLIBS = -lnsdb -lpq > > to > MODLIBS > = -L/usr/local/nsroot_production/include/nsdb.h > -L/u01/pgsql8.2.4-dev/lib/libpq.a > (or) > = -lnsdb -L/u01/pgsql8.2.4-dev/lib/libpq.a > > > and hey! that does it - theres the nsdbpg.so > > But: > ldd nsdbpg.so > linux-gate.so.1 => > libnsdb.so => /usr/local/nsroot_production/lib/libnsdb.so > libnsthread.so => /usr/local/nsroot_production/lib/libnsthread.so > libnsd.so => /usr/local/nsroot_production/lib/libnsd.so > libtcl8.4.so => /usr/local/nsroot_production/lib/libtcl8.4.so > libdl.so.2 => /lib/libdl.so.2 > libgcc_s.so.1 => /lib/libgcc_s.so.1 > libm.so.6 => /lib/libm.so.6 > libc.so.6 => /lib/libc.so.6 > libz.so.1 => /lib/libz.so.1 > libcrypt.so.1 => /lib/libcrypt.so.1 > libpthread.so.0 => /lib/libpthread.so.0 > /lib/ld-linux.so.2 > > This one does not work (" undefined symbol: PQsetdbLogin"), because of libpq > et. al. missing. > > If I compare it with this working driver (and I simpy can't tell anymore > what > I made different with that one): > (ignore the "not found" messages as I don't set the LD_LIBRARY_PATH, but this > driver works then): > linux-gate.so.1 => > libnsdb.so => not found > libpq.so.4 => /usr/lib/libpq.so.4 > libnsthread.so => not found > libnsd.so => not found > libtcl8.4.so => /usr/lib/libtcl8.4.so > libdl.so.2 => /lib/libdl.so.2 > libcrypt.so.1 => /lib/libcrypt.so.1 > libz.so.1 => /lib/libz.so.1 > libgcc_s.so.1 => /lib/libgcc_s.so.1 > libm.so.6 => /lib/libm.so.6 > libc.so.6 => /lib/libc.so.6 > libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 > libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 > libkrb5.so.3 => /usr/lib/libkrb5.so.3 > libresolv.so.2 => /lib/libresolv.so.2 > libnsl.so.1 => /lib/libnsl.so.1 > libpthread.so.0 => /lib/libpthread.so.0 > /lib/ld-linux.so.2 > libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 > libcom_err.so.2 => /lib/libcom_err.so.2 > libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 > > Maybe it's something really simple to change? Something obvious? > > Bernd. > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2005. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > naviserver-devel mailing list > naviserver-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/naviserver-devel ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ naviserver-devel mailing list naviserver-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/naviserver-devel