[Pgpool-general] cont. configure: error: libpq is not installed or libpq is old

Yoshiyuki Asaba y-asaba at sraoss.co.jp
Thu Oct 5 07:34:04 UTC 2006


Hi,

From: gurkan at resolution.com
Subject: [Pgpool-general] cont. configure: error: libpq is not installed or libpq is old
Date: Wed, 04 Oct 2006 11:17:38 -0400 (EDT)

> Hi,
> > > I have to clear out three things.
> > > -----------------------------------------------------
> > > 1)On our cluster we are using pgpool3.1, and testing shows that say
> > logging
> > > takes 6-10sec
> > > without pgpool, and 30-40sec with pgpool. I have told this is not good
> > eneough.
> > > Is this difference
> > > expected? (then I am trying to use pgpool-II to see speed difference)
> > > -----------------------------------------------------
> > 
> > What a kind of query did you test? SELECT only?
> Yes, login runs SELECT query.

Hmm...
What driver did you use? JDBC or psql?

I see that your configuration is only connection pooling. Normally,
this difference does not appear under your configuration... 
Did you output debug log?


> > > 2)Our servers running FC5-64bit with 32bit-enterprisedb. I am not able
> > to
> > > configure it at all
> > > with or without options.
> > 
> > Hmm...
> > Could you compile this code?
> > 
> > --------------------------------
> > extern int PQprepare();
> > int main(void)
> > {
> > 	int (*f)() = PQprepare;
> > 	return 0;
> > }
> > ---------------------------------
> > 
> > compile:
> >   % gcc -L/opt/EnterpriseDB/8.1.4.17/dbserver/lib -lpq x.c
> > 
> These from my 64bitmachine. Before confused you guys even further, I really need to
> installed it on my 64bitmachine. Here is the output
> [root at baba1 pgpool-II-1.0.1]# vi x.c (pasted the sample you gave me)
> [root at baba1 pgpool-II-1.0.1]# gcc -L/opt/EnterpriseDB/8.1.4.17/dbserver/lib -lpq x.c
> /usr/bin/ld: skipping incompatible
> /opt/EnterpriseDB/8.1.4.17/dbserver/lib/libpq.so when searching for -lpq
> /usr/bin/ld: skipping incompatible
> /opt/EnterpriseDB/8.1.4.17/dbserver/lib/libpq.a when searching for -lpq
> /usr/bin/ld: cannot find -lpq
> collect2: ld returned 1 exit status

OK. I think libpq is 32bit binary. And your machine is 64bit
machine. Could you test the following command?

  % CFLAGS='-m32 -O2 -g' ./configure --with-pgsql=...


> > > -----------------------------------------------------
> > > 3)Just to give and idea, I have tried it on my actual host which is
> > not 64bit.
> > > It configures only with option, but make gives error;
> > (snip)
> > > gcc -O3 -mcpu=pentium4 -march=pentium4 -mmmx -msse -msse2 -mfpmath=sse
> > -o
> > > .libs/pgpool -Wl,-L -Wl,/opt/EnterpriseDB/8.1.4.17/dbserver/lib
> > -Wl,-rpath
> > > -Wl,/opt/EnterpriseDB/8.1.4.17/dbserver/lib main.o child.o
> > pool_auth.o
> > > pool_config.o pool_error.o pool_process_query.o pool_stream.o
> > > pool_connection_pool.o pool_params.o pool_signal.o pcp_child.o md5.o
> > > pool_shmem.o pool_sema.o pool_system.o pool_rewrite_query.o
> > > pool_rewrite_outfuncs.o pool_query_cache.o  -lpq
> > parser/libsql-parser.a
> > > pcp/.libs/libpcp.so -lresolv -lnsl -lm -Wl,--rpath -Wl,/usr/local/lib
> > > pool_system.o(.text+0xcec): In function `pool_get_id':
> > > : undefined reference to `PQprepare'
> > > pool_query_cache.o(.text+0x103a): In function
> > `pool_query_cache_register':
> > > : undefined reference to `PQprepare'
> > > collect2: ld returned 1 exit status
> > 
> > It is link error. Could you show me the result of the following
> > command?
> > 
> >   % find /usr/local/lib -name libpq.a -print
> >   % find /usr/lib -name libpq.a -print
> >   % echo $LD_LIBRARY_PATH
> These outputs from by 32bit machine, which has enterprisedb and postgresql
> installed.
> But even if I installed on my 32bit machine(host), it wont matter, I really need to
> insatlled it on my 64bit(server) where I tried to compile x.c above. Only reason
> I try
> it is that to see 64bitmachine-edb, 32bitmachine-edb differences. I do not have to
> solve(install) the issue here on 32bit.
> [root at gurkan pgpool-II-1.0.1]# find /usr/local/lib -name libpq.a -print
> [root at gurkan pgpool-II-1.0.1]# find /usr/lib -name libpq.a -print
> /usr/lib/libpq.a

Could you test the following command?

  % nm /usr/lib/libpq.a | grep PQprepare

Regards,
--
Yoshiyuki Asaba
y-asaba at sraoss.co.jp


More information about the Pgpool-general mailing list