Re: Statically linking against libpq
От | Johnny Yan |
---|---|
Тема | Re: Statically linking against libpq |
Дата | |
Msg-id | BY2PR0301MB066313E9FD8BE2913936D90CC33A0@BY2PR0301MB0663.namprd03.prod.outlook.com обсуждение исходный текст |
Ответ на | Re: Statically linking against libpq (Heikki Linnakangas <hlinnaka@iki.fi>) |
Список | pgsql-odbc |
Cool. That's all I want to know for now. Thank you Heikki. Johnny -----Original Message----- From: Heikki Linnakangas [mailto:hlinnaka@gmail.com] On Behalf Of Heikki Linnakangas Sent: Wednesday, July 06, 2016 2:06 PM To: Johnny Yan <jyan@tableau.com>; pgsql-odbc@postgresql.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 configuretest 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
В списке pgsql-odbc по дате отправления: