[Bug 1765762] Re: Undefined reference to SQLCancelHandle
ChristianEhrhardt
1765762 at bugs.launchpad.net
Tue Apr 24 10:34:14 UTC 2018
Hmm,
I see that sql.h indeed has that define:
605 #if (ODBCVER >= 0x0380)
606 SQLRETURN SQL_API SQLCancelHandle(SQLSMALLINT HandleType, SQLHANDLE InputHandle);
607 #endif·
And while makefile as well as DriverManager/SQLCancelHandle.c look as if
they'd provide that they don't.
On build it is compiled and linked:
/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -pthread -c -o SQLCancelHandle.lo SQLCancelHandle.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I../include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -pthread -c SQLCancelHandle.c -fPIC -DPIC -o .libs/SQLCancelHandle.o
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I../include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -pthread -c SQLCancelHandle.c -o SQLCancelHandle.o >/dev/null 2>&1
I never used this lib on my own, so I might something trivial as "this
has to be used differently" that I miss.
It is not shown in the symbols file either.
Wait - doesn't this depend on the target actually supporting it.
I think you can run "SQLGetFunctions" to list if that is supposed to work after you have set up your connection.
Let me fall back ignoring myself trying to understand.
Just checking the lib indeed does not list the function.
root at b:~# nm -D /usr/lib/x86_64-linux-gnu/libodbc.so.2 | grep -i handle
00000000000078f0 T SQLAllocHandle
0000000000007900 T SQLAllocHandleStd
0000000000018620 T SQLFreeHandle
root at b:~# nm -D /usr/lib/x86_64-linux-gnu/libodbc.so.1 | grep -i handle
00000000000078f0 T SQLAllocHandle
0000000000007900 T SQLAllocHandleStd
0000000000018620 T SQLFreeHandle
Also with debug symbols installed and objdump -dgS on the .so I can't
find it.
So yes, it is defined but not there.
But since I lack to see yet why (as it is built and linked) I fail to suggest a good solution.
I found [1] which calls it a bug as well in Ubuntu/Debian - hmm.
But there is no clear call what should be different.
And OTOH some comments refer to driver dependencies as well as need to set odbc version.
Per Name I'd assume that is your entry there - which "better deb packages" do you mean.
As by checking what is different there we could derive what is wrong.
So which other .deb did you mean?
[1]: https://stackoverflow.com/questions/49771613/undefined-reference-
to-sqlcancelhandle
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to unixodbc in Ubuntu.
https://bugs.launchpad.net/bugs/1765762
Title:
Undefined reference to SQLCancelHandle
Status in unixodbc package in Ubuntu:
Incomplete
Bug description:
The header file of the package got the definition of the
SQLCancelHandle function but the linkable library doesn't implement
it.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/unixodbc/+bug/1765762/+subscriptions
More information about the foundations-bugs
mailing list