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

Trevor Wekel trevor_wekel at otxsystems.com
Fri Sep 10 20:34:20 EDT 2010


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



More information about the fdo-internals mailing list