Обсуждение: libpq related crash
Hello.
I apologise if this is the incorrect list.
I successfully built the latest pgAdmin3 source from git. However,
when I try to connect a a db after launching, I get the following
error:
./pgadmin3: symbol lookup error: ./pgadmin3: undefined symbol: PQconninfoParse
I did refer to the previous thread that carried this exact error and
checked if I am indeed building against a libpq 8.4+ version.
"configure" confirms this:
...
checking for PQexec in -lpq... yes
checking for PQconninfoParse in -lpq... yes
checking for SSL_connect in -lpq... no
...
PostgreSQL directory: /usr/local/pgsql
PostgreSQL pg_config binary: /usr/local/pgsql/bin/pg_config
PostgreSQL version: PostgreSQL 8.4.4
PostgreSQL SSL support: Missing
I did have a 8.3 version before but I have removed that including any
remnants of it. I am running an 8.4.4 and can connect to it without
problems from psql:
kono@yam:~/pg/pgadmin/pgadmin3$ /usr/local/pgsql/bin/psql -U postgres test3
psql (8.4.4)
Type "help" for help.
test3=# select version();
version
--------------------------------------------------------------------------------------------------
PostgreSQL 8.4.4 on i686-pc-linux-gnu, compiled by GCC gcc (Ubuntu
4.3.3-5ubuntu4) 4.3.3, 32-bit
(1 row)
test3=# \set
...
VERSION = 'PostgreSQL 8.4.4 on i686-pc-linux-gnu, compiled by GCC gcc
(Ubuntu 4.3.3-5ubuntu4) 4.3.3, 32-bit'
DBNAME = 'test3'
USER = 'postgres'
PORT = '5432'
ENCODING = 'UTF8'
Can anyone please let me know how this can be resolved?
Thanks.
Ramanujam
Le 26/08/2010 07:35, Ramanujam a écrit : > [...] > I apologise if this is the incorrect list. > You won't need to, it is the correct list :) > I successfully built the latest pgAdmin3 source from git. However, > when I try to connect a a db after launching, I get the following > error: > > ./pgadmin3: symbol lookup error: ./pgadmin3: undefined symbol: PQconninfoParse > > I did refer to the previous thread that carried this exact error and > checked if I am indeed building against a libpq 8.4+ version. > "configure" confirms this: > ... > checking for PQexec in -lpq... yes > checking for PQconninfoParse in -lpq... yes > checking for SSL_connect in -lpq... no > ... > > PostgreSQL directory: /usr/local/pgsql > PostgreSQL pg_config binary: /usr/local/pgsql/bin/pg_config > PostgreSQL version: PostgreSQL 8.4.4 > PostgreSQL SSL support: Missing > > I did have a 8.3 version before but I have removed that including any > remnants of it. I am running an 8.4.4 and can connect to it without > problems from psql: > > kono@yam:~/pg/pgadmin/pgadmin3$ /usr/local/pgsql/bin/psql -U postgres test3 > psql (8.4.4) > Type "help" for help. > > test3=# select version(); > version > -------------------------------------------------------------------------------------------------- > PostgreSQL 8.4.4 on i686-pc-linux-gnu, compiled by GCC gcc (Ubuntu > 4.3.3-5ubuntu4) 4.3.3, 32-bit > (1 row) > > test3=# \set > ... > VERSION = 'PostgreSQL 8.4.4 on i686-pc-linux-gnu, compiled by GCC gcc > (Ubuntu 4.3.3-5ubuntu4) 4.3.3, 32-bit' > DBNAME = 'test3' > USER = 'postgres' > PORT = '5432' > ENCODING = 'UTF8' > > Can anyone please let me know how this can be resolved? > I'm pretty sure you have an old libpq library around, and that pgAdmin uses this one. Be careful that libpq is a different package on Ubuntu (I mean, not a postgresql-*, but a libpq*). Try "ldd $(which pgadmin3) | grep libpq" to find which one library file it uses. To launch pgAdmin, you can try this on a terminal: export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH pgadmin3 After the export, if /usr/local/pgsql is the location of your 8.4 PostgreSQL binaires, then pgAdmin should connect to your databases if you launch if from the same terminal. Tell us how it goes. I have probably to work on this today, and I would like to hear from you so that we get the best fix. Thanks. -- Guillaume http://www.postgresql.fr http://dalibo.com
On Thu, Aug 26, 2010 at 2:48 PM, Guillaume Lelarge <guillaume@lelarge.info> wrote: > Le 26/08/2010 07:35, Ramanujam a écrit : > I'm pretty sure you have an old libpq library around, and that pgAdmin > uses this one. Be careful that libpq is a different package on Ubuntu (I > mean, not a postgresql-*, but a libpq*). Try "ldd $(which pgadmin3) | > grep libpq" to find which one library file it uses. > > To launch pgAdmin, you can try this on a terminal: > > export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH > pgadmin3 > > After the export, if /usr/local/pgsql is the location of your 8.4 > PostgreSQL binaires, then pgAdmin should connect to your databases if > you launch if from the same terminal. You were right. There was an old libpq that was getting referred to ahead of the intended one. Works great now. Thanks.