Re: Is the linking with -lodbc necessary? (--with-odbc)
От | Nick Gorham |
---|---|
Тема | Re: Is the linking with -lodbc necessary? (--with-odbc) |
Дата | |
Msg-id | 52835E91.2090509@lurcher.org обсуждение исходный текст |
Ответ на | Re: Is the linking with -lodbc necessary? (--with-odbc) (Pavel Raiskup <praiskup@redhat.com>) |
Список | pgsql-odbc |
On 13/11/13 10:41, Pavel Raiskup wrote: > [+cc back psqlodbc] > [+cc unixODBC] > > On Tuesday, November 12, 2013 11:46:39 Nick Gorham wrote: >> On 11/11/13 17:50, Pavel Raiskup wrote: >>> Hello all! >>> >>> Long story short: Is there a need to link psqlodbcw.so plugin against >>> libodbc.so? Principal problem: That library provides ABI for applications >>> - not for plugins; at least it seem to be like that. >>> >>> I tried to remove this linking by following tweak: >> Hi, >> >> As you have noticed, there is code in the DM to try and avoid what you >> describe. But AFAIK, a driver would normally link against -lodbcinst to >> gain access to the ini functions SQLGetPrivateProfileString and so on, >> no need to link to the driver manager (-lodbc) that is for application >> land use. > Hello Nick, thanks for looking at the problem from unixODBC perspective! > > Would not there be better rather block loading badly linked plugins rather > than just try to expect that the linking is done the same way on all arches? > I attached possible solution. > > Pavel Yes, I see your solution. Possible though that the driver is linked against libiodbc.so or other non unixODBC version of ODBC driver manager and so has entry point for SQLAllocStmt (for example) that is not in the driver (as in this case). There are also situations I have seen where a driver decides to call itself (say SQLAllocStmt() in the driver makes a call to SQLAllocHandle() expecting the driver version) but finds the driver manager entry point. Anyway you have the good solution for your driver in linking against libodbcinst -- Nick Gorham
В списке pgsql-odbc по дате отправления: