hi, let me explain with an example say i have a 32 bit exceutable called Installer it dynamically links to 4 libraries which are called: libdbx1, it is dependent on (ROOT)/postgres/arch/$(ARCH)d/lib -lpq (specified in the makefile) libdbx2, it is also dependent on (ROOT)/postgres/arch/$(ARCH)d/lib -lpq (specified in the makefile) libdbx3 libdbx4 the above directory (ROOT)/postgres/arch/$(ARCH)d/lib has libpq.so which i got by installing the 32 bit Postgres 8.1.5 on fc4 its sixe is : 116532 now i put these 4 libs and the exe in the target mach and i run the executable Installer the traget m/c is FC4 has Postgres 8.1.5 installed which is 64 bit so it has libpq.so.4 and libpq.so.4.1 in /usr/lib64/ of that machine. rwxrwxrwx 1 root root 12 Nov 16 15:11 libpq.so.4 -> libpq.so.4.1* -rwxr-xr-x 1 root root 135960 Nov 16 00:30 libpq.so.4.1* so when i run the exe it gives me this error: | 2006-11-17 13:56:18.085 | 5659:1436573184 | DMF | 0 | ERROR | [EMAIL PROTECTED] | DMFConcreteRepositoryCreatorFactory.cxx:77 | Can not find library for dbexpress: libpq.so.4: cannot open shared object file: No such file or directory | 2006-11-17 13:56:18.085 | 5659:1436573184 | DMF | 0 | ERROR | [EMAIL PROTECTED] | DMFConcreteRepositoryCreatorFactory.cxx:122 | Un known repository: dbexpress
thanks regards Surabhi ________________________________ From: Albe Laurenz [mailto:[EMAIL PROTECTED] Sent: Thu 11/16/2006 2:54 PM To: surabhi.ahuja; pgsql-general@postgresql.org Subject: RE: [GENERAL] dependency on 32 bit libpq.so on 64 bit Postgres server. > I have downloaded Postgres 8.1.4 for FC4 x86_64 bit arch. > and installed on my m/c > > Earlier this machine had Postgres 8.0.0. However that time It > was the normal 32 bit server. > > I build my project (which has dependency on libpq.so) > and so i have the libraries which i copy onto the above machine. > > The client application then dynamically links to these libraries. > > However now (after upgrading Postgres server) i get this error: > > | 2006-11-16 10:41:50.045 | 21532:1436573184 | DMF | 0 | > ERROR | [EMAIL PROTECTED] | DMFConcreteRepositoryCreatorFactory.cxx:77 | Ca > nnot find library for dbexpress: libpq.so.3: cannot open > shared object file: No such file or directory > > my team has decided that we ll keep the Postgres server as a > 64 bit server. > But the libraries and binaries should be 32 bit ones only. > > I will have to rebuild my project , this time the libpq.so > that i use will be for Postgres 8.1.4 FC 4. > But please tell me , if i should have the 64 bit libpq.so or > the 32 bit one. > > Please help solve my confusion. I cannot quite follow, but I think I can still help you. It depends on the executable that is linked with PostgreSQL. If you have a 64-bit executable that loads libpq.so, you will need the 64-bit libpq.so; similar for 32-bit. libpq.so is part of the client installation. You can access a 64-bit server with a 32-bit client. Does that answer your question? Yours, Laurenz Albe