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
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to