On Thu, 2005-06-02 at 16:13 +0100, Martyn Russell wrote: > Hi, > > I am currently having problems linking in libpq (Postgres client front > end) from PostgreSQL 8.0.2. I downloaded the source and installed it > under MSYS/MinGW (to /usr/local). The .dll and the .a are > in /usr/local/pgsql/lib. > > I have tried using > > -L/usr/local/pgsql/lib -lpq > > but it fails miserably, I get the following: > > *** Warning: linker path does not have real file for library -lpq. > *** I have the capability to make that library automatically link in when > *** you link to this library. But I can only do this if you have a > *** shared version of the library, which you do not appear to have > *** because I did check the linker path looking for a file starting > *** with libpq and none of the candidates passed a file format test > *** using a file magic. Last file checked: > C:/msys/1.0/local/pgsql/lib/libpq.dll > *** The inter-library dependencies that have been dropped here will be > *** automatically added whenever a program is linked with this library > *** or is declared to -dlopen it. > > *** Since this library must not contain undefined symbols, > *** because either the platform does not support them or > *** it was explicitly requested with -no-undefined, > *** libtool will only create a static version of it.
OK, just thought I would post my progress on this. Basically, the reason it didn't work is because I needed the AC_LIBTOOL_DLOPEN macro defined. With this added, all seems to work well. Is this right/wrong? If right, why? > I saw this when trying to link with the Winsock2 library (-lws2_32) > before now and decided to try and update libtool from 1.4.x to 1.5.18. > It worked perfectly especially now I make use of the automatic > import/export feature in gcc, however, this doesn't work for libpq? This was a problem with environment and different versions of libtool, etc. My mistake :) > The only other detail I have noticed about libpq.dll is that the file > format is pe-i386 and my libraries and the Winsock2 library is of format > pei-i386. Does this have an impact on my problem? I am interested in the differences between a pe-i386 format and a pei- i386 are, plus if there are any issues mixing and matching libraries and executables of different types? So basically, I have got it all running. The only other issue I had was using libltdl within a library. For some reason, the symbols were not exported properly so I couldn't link with it. The symbols that were in the library were specifically libltdl functions? -- Regards, Martyn _______________________________________________ http://lists.gnu.org/mailman/listinfo/libtool