Re: Statically linking against libpq

From: Johnny Yan <jyan(at)tableau(dot)com>
To: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, "pgsql-odbc(at)postgresql(dot)org" <pgsql-odbc(at)postgresql(dot)org>
Subject: Re: Statically linking against libpq
Date: 2016-07-06 21:20:06
Message-ID: BY2PR0301MB066313E9FD8BE2913936D90CC33A0@BY2PR0301MB0663.namprd03.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

Cool. That's all I want to know for now. Thank you Heikki.

Johnny

-----Original Message-----
From: Heikki Linnakangas [mailto:hlinnaka(at)gmail(dot)com] On Behalf Of Heikki Linnakangas
Sent: Wednesday, July 06, 2016 2:06 PM
To: Johnny Yan <jyan(at)tableau(dot)com>; pgsql-odbc(at)postgresql(dot)org
Subject: Re: [ODBC] Statically linking against libpq

On 07/06/2016 11:01 PM, Johnny Yan wrote:
> Hi,
>
> We're building the postgres odbc driver by ourselves for our customers
> on Linux. It builds against hence depends on libpq.so.
> We're wondering if there is a secret configure flag to statically link
> against libpq such that the final psqlodbcw.so has less dependencies
> and in particular doesn't depend on libpq.so.

There's no such flag, currently.

One option is to create a temporary installation of libpq, with just the static library. The linker will use the static library, if it can't find a shared one. Something along the lines of:

mkdir static-libpq
mkdir static-libpq/lib
ln -s `pg_config --libdir`/libpq.a static-libpq/lib/libpq.a ln -s `pg_config --includedir` static-libpq/include

./configure --with-libpq=static-libpq ...

Assuming your libpq is built with OpenSSL, though, you'll also need to pass LDFLAGS="-lssl -lcrypto" to make the configure test pass. The resulting ODBC driver will still need libssl and libcrypto as shared libraries, if built that way.

There might be a more straightforward way to do that, with suitable linked flags, but I don't know how.

> Also if there is no such config flag yet, are you guys planning to add
> one?

No such plans. If you want to write a patch, and it's not too complicated, I wouldn't mind adding it, thouhg.

- Heikki

In response to

Browse pgsql-odbc by date

  From Date Subject
Next Message Tsunakawa, Takayuki 2016-07-07 01:51:36 Re: psqlODBC 09.05.0300 (x86) - problem with SQL_QUERY_TIMEOUT
Previous Message Heikki Linnakangas 2016-07-06 21:06:21 Re: Statically linking against libpq