| From: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi> |
|---|---|
| To: | Johnny Yan <jyan(at)tableau(dot)com>, "pgsql-odbc(at)postgresql(dot)org" <pgsql-odbc(at)postgresql(dot)org> |
| Subject: | Re: Statically linking against libpq |
| Date: | 2016-07-06 21:06:21 |
| Message-ID: | e1200439-c336-0d60-e384-ee86941dd551@iki.fi |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-odbc |
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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Johnny Yan | 2016-07-06 21:20:06 | Re: Statically linking against libpq |
| Previous Message | Johnny Yan | 2016-07-06 20:01:15 | Statically linking against libpq |