[fdo-internals] RE: PostgreSQL libpq.a library for Linux

Greg Boone greg.boone at autodesk.com
Thu Sep 16 15:10:53 EDT 2010


If the changes work in 3.5, I am ok with just submitting them there for now and worrying about trunk (3.6) as a secondary effort once 3.5 in out the door.

Greg

-----Original Message-----
From: fdo-internals-bounces at lists.osgeo.org [mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Trevor Wekel
Sent: Thursday, September 16, 2010 2:58 PM
To: FDO Internals Mail List
Subject: [fdo-internals] RE: PostgreSQL libpq.a library for Linux

Hi Greg,

I was trying to get the fixes compiled with trunk on Linux before submitting to 3.5 and trunk.  Haven't had a lot of luck yet.

Regards, 
Trevor


-----Original Message-----
From: fdo-internals-bounces at lists.osgeo.org [mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Greg Boone
Sent: September 16, 2010 12:57 PM
To: FDO Internals Mail List
Subject: [fdo-internals] RE: PostgreSQL libpq.a library for Linux

Any word on getting these changes submitted?

Are you close to publishing a 3.5 build? Can we publish piecemeal? Win64 first then Win32 then Linux?

Greg

-----Original Message-----
From: fdo-internals-bounces at lists.osgeo.org [mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Trevor Wekel
Sent: Monday, September 13, 2010 12:03 PM
To: FDO Internals Mail List
Subject: [fdo-internals] RE: PostgreSQL libpq.a library for Linux

Ok.  I should be able to get the changes in today.

Thanks Greg!
Trevor

-----Original Message-----
From: fdo-internals-bounces at lists.osgeo.org [mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Greg Boone
Sent: September 13, 2010 9:56 AM
To: FDO Internals Mail List
Subject: [fdo-internals] RE: PostgreSQL libpq.a library for Linux

Updating the makefile is OK too.

-----Original Message-----
From: fdo-internals-bounces at lists.osgeo.org [mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Trevor Wekel
Sent: Saturday, September 11, 2010 1:42 AM
To: FDO Internals Mail List
Subject: [fdo-internals] RE: PostgreSQL libpq.a library for Linux

Ok.  I can now create a build of the PostGIS Provider on Linux which contains no "ldd -r" undefined symbol errors.  The second fix was easy.  The dependency on the Expression Engine was not present in Providers/PostGIS/Src/Makefile.am.  And Linux is so lenient that it doesn't even complain about the missing symbols until you try to *use* the library.  Geez.

I would like to submit the build fixes to the FDO 3.5.0 branch and trunk.  Please see http://trac.osgeo.org/fdo/ticket/694 for full details on the fixes required.


Regards,
Trevor


-----Original Message-----
From: fdo-internals-bounces at lists.osgeo.org [mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Trevor Wekel
Sent: September 10, 2010 6:34 PM
To: FDO Internals Mail List
Subject: [fdo-internals] RE: PostgreSQL libpq.a library for Linux

Thought I would post a follow up on this one.  I downloaded source for PostgreSQL 8.4.2 and built it with the default configure settings.  Libpq.a comes out at around 164k and libecpg.a comes out at 91k.  I tried building with the new static libraries and the undefined symbol errors have gone away.  Look as though we have "odd" static libraries in Subversion.

However, when I build the final shared library for libPostGISProvider-3.5.0.so I get the following undefined symbols:

undefined symbol: _ZN12FdoFunctionZ6CreateEv    (./libPostGISProvider-3.5.0.so)
undefined symbol: _ZN12FdoFunctionX6CreateEv    (./libPostGISProvider-3.5.0.so)
undefined symbol: _ZN12FdoFunctionY6CreateEv    (./libPostGISProvider-3.5.0.so)
undefined symbol: _ZN12FdoFunctionM6CreateEv    (./libPostGISProvider-3.5.0.so)

Using c++filt (a name demangler on linux), the following functions are flagged.  Any ideas?

FdoFunctionZ::Create()
FdoFunctionX::Create()
FdoFunctionY::Create()
FdoFunctionM::Create()
FdoExpressionEngine::GetStandardFunctions()


Other than that, the following providers are showing no undefined symbols in Linux (whew!)

libFdoMySQL-3.5.0.so
libFdoODBC-3.5.0.so
libFdoOws-3.5.0.so
libFdoPostgreSQL-3.5.0.so
libGRFPProvider-3.5.0.so
libKingOracleProvider-3.5.0.so
libOGRProvider-3.5.0.so
libPostGISProvider-3.5.0.so
libSDFProvider-3.5.0.so
libSHPProvider-3.5.0.so
libSQLiteProvider-3.5.0.so
libWFSProvider-3.5.0.so
libWMSProvider-3.5.0.so

Regards,
Trevor


-----Original Message-----
From: fdo-internals-bounces at lists.osgeo.org [mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Trevor Wekel
Sent: September 10, 2010 11:08 AM
To: FDO Internals Mail List
Subject: [fdo-internals] PostgreSQL libpq.a library for Linux

Hello,

Does anyone recall how Thirdparty/pgsql/lib/libpq.a was generated?  I am seeing a number of undefined symbol messages when running "ldd -r libPostGISProvider.so" with the FDO 3.5.0 RC1 build.

undefined symbol: PQclear       (./libPostGISProvider.so)
undefined symbol: PQresultStatus        (./libPostGISProvider.so)
undefined symbol: PQgetvalue    (./libPostGISProvider.so)
undefined symbol: PQclear       (./libPostGISProvider.so)
undefined symbol: PQresultErrorMessage  (./libPostGISProvider.so)
undefined symbol: PQexec        (./libPostGISProvider.so)

So I suspect there is something funky going on with libpq.a.  As a side note, the current version of libpq.a is smaller than its predecessor and much smaller than the "standard" libpq.a installed on CentOS 5.4 through "yum install postgresql-devel"

http://trac.osgeo.org/fdo/browser/branches/3.5/Thirdparty/pgsql/lib/libpq.a?rev=5309  (96 kbytes)
http://trac.osgeo.org/fdo/browser/trunk/Thirdparty/pgsql/lib/libpq.a?rev=3499 (137 kbytes) /usr/lib/libpq.a from "yum install postgresql-devel" (755 kbytes)

Regards,
Trevor

_______________________________________________
fdo-internals mailing list
fdo-internals at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/fdo-internals

_______________________________________________
fdo-internals mailing list
fdo-internals at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/fdo-internals



More information about the fdo-internals mailing list