Thread: dlopen() of libpgsqlodbc.so >= release 7.1 fails on sparc solaris 2.8
Hi all, I've posted this message twice nefore on pgsql-bugs, but I can't seem to get any response. The issue described below is pretty serious (at least as far as my company is concerned): While trying to upgrade Postgres from version 7.0.3 to 7.1.2, I find that a program which dlopens the library mentioned above now produces the following error message: ld.so.1: ./BeeHive: fatal: relocation error: file /opt/pgsql/lib/libpsqlodbc.so: symbol main: referenced symbol not found I compiled Postgres with gcc-2.95.3, and configured with options --enable-odbc and --prefix=/opt/pgsql. The same problem occurs with version 7.1.1, but as mentioned higher does not occur on 7.0.3 or earlier versions. Since the two most recently released versions both show this problem, it must be something which was introduced in the 7.1 release. Our only alternative is to keep using the older releases for now, but this should be fixed ASAP. Sincerely, Bob Deblier Virtual Unlimited
Re: dlopen() of libpgsqlodbc.so >= release 7.1 fails on sparc solaris 2.8
From
Peter Eisentraut
Date:
Bob Deblier writes: > While trying to upgrade Postgres from version 7.0.3 to 7.1.2, I find that a > program which dlopens the library mentioned above now produces the following > error message: > > ld.so.1: ./BeeHive: fatal: relocation error: file > /opt/pgsql/lib/libpsqlodbc.so: symbol main: referenced symbol not found Try using the flag RTLD_GLOBAL in dlopen(). -- Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter
On Monday 11 June 2001 16:56, you wrote: > Bob Deblier writes: > > While trying to upgrade Postgres from version 7.0.3 to 7.1.2, I find that > > a program which dlopens the library mentioned above now produces the > > following error message: > > > > ld.so.1: ./BeeHive: fatal: relocation error: file > > /opt/pgsql/lib/libpsqlodbc.so: symbol main: referenced symbol not found > > Try using the flag RTLD_GLOBAL in dlopen(). That doesn't fix the problem, unfortunately. We've always opened the library with RTLD_LAZY up from the 6 releases up to 7.0.3; now neither RTLD_LAZY, nor RLTD_LAZY | RTLD_GLOBAL works. Bob Deblier Virtual Unlimited