The ubuntu package has been compiled with an additional set of
DEB_CONFIGURE_EXTRA_FLAGS += --with-unicode --enable-threads
The "--with-unicode" will effectivly define -DODBCXX_UNICODE
which in turn will compile with ODBCXX_STRING=std::wstring !!
However neighter odbc++/config.h nor pkgconfig/libodcbc++.pc
will list the define such that ALL programs depending on the
libodbc++ package can not possibly link - the libodbc++-mt.so
does really contain symbol definitions with std_char_traits<wchar_t>.
You can check that by running
objdump -TC /usr/lib/libodbc++-mt.so
All this is completely wrong - a normal Ubuntu user will
not want to compile with wchar_t anyway but using utf8-char
instead. Possibly the Ubuntu package maintainer was mistaken
by the --with-unicode option to enable utf8 but it does really
invoke utf16. The Ubuntu libodbc++ DOES NOT PROVIDE any variant
for common utf8 at all and it is hence improbable to be useful.
A small patch would be to add -DODBCXX_UNICODE into the pkgconfig
file and/or appending "#define ODBCXXX_UNICODE" to the installed
odbc++/config.h such that you would get compile errors instead of
linking errors. That would leave the binary *.so as is. - A better
approach would be to assume that the package is broken beyond all
repair so that bogues --with-unicode should be removed and a working
(but binary incompatible) libodbc++.so to be shipped.
Note that this is Ubuntu-only - the Debian package probably works.
--
libodbc++ linking problems
https://bugs.launchpad.net/bugs/159991
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs