static or dynamic libpgport

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: static or dynamic libpgport
Date: 2011-12-09 16:13:03
Message-ID: 4EE2338F.1040302@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Recently I attempted to build an external package (pg_bulkload) against
the latest Fedora packages. Unfortunately this fails, as pgxs adds
"-lpgport" to any link line for an executable, and the corresponding
libpgport.a isn't there. And in fact, pg_bulkload does use some of the
functionality there (e.g. pg_strncasecmp), so just stripping "-lpgport"
out doesn't work either.

This happened because Fedora packaging guidelines
<http://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Static_Libraries>
are strongly against shipping static libraries, and so all the
PostgreSQL static libraries are excluded from the distribution (and I
believe there are similar restrictions for RHEL). Of these libraries, I
believe the only one that is *only* built as a static library is libpgport.

Is there any good reason why we shouldn't build and install a dynamic
libpgport.so?

(Of course, you could say "use the community RPMs", but that would be a
bit of a cop out. Some organizations have a perfectly reasonable policy
or requiring use of vendor packages wherever possible, since vendors are
naturally only going to support packages they provide. So either we
should be arguing to the Fedora/RedHat people that they should ship the
static library, or we should be providing them with a dynamic one, ISTM.)

cheers

andrew

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2011-12-09 16:35:53 Re: static or dynamic libpgport
Previous Message Tom Lane 2011-12-09 16:11:44 Re: WIP: SP-GiST, Space-Partitioned GiST