Incompatible builds of libodb and libodb-mysql
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libodb (Ubuntu) |
Fix Released
|
Undecided
|
Dimitri John Ledkov | ||
Xenial |
Fix Released
|
Undecided
|
Dimitri John Ledkov | ||
Yakkety |
Fix Released
|
Undecided
|
Dimitri John Ledkov | ||
Zesty |
Fix Released
|
Undecided
|
Dimitri John Ledkov | ||
libodb-boost (Ubuntu) |
Fix Released
|
Undecided
|
Dimitri John Ledkov | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned | ||
Yakkety |
Fix Released
|
Undecided
|
Unassigned | ||
Zesty |
Fix Released
|
Undecided
|
Dimitri John Ledkov | ||
libodb-pgsql (Ubuntu) |
Fix Released
|
Undecided
|
Dimitri John Ledkov | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned | ||
Yakkety |
Fix Released
|
Undecided
|
Unassigned | ||
Zesty |
Fix Released
|
Undecided
|
Dimitri John Ledkov | ||
libodb-qt (Ubuntu) |
Fix Released
|
Undecided
|
Dimitri John Ledkov | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned | ||
Yakkety |
Fix Released
|
Undecided
|
Unassigned | ||
Zesty |
Fix Released
|
Undecided
|
Dimitri John Ledkov | ||
libodb-sqlite (Ubuntu) |
Fix Released
|
Undecided
|
Dimitri John Ledkov | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned | ||
Yakkety |
Fix Released
|
Undecided
|
Unassigned | ||
Zesty |
Fix Released
|
Undecided
|
Dimitri John Ledkov |
Bug Description
Only release all packages together!
[Impact]
* libodb stack changes abi when build with new enough g++ (due to c++11 abi tagging)
* things that are compiled with new abi are ok (libodb-mysql); linking against mixed build things does not work (e.g. 3rd party apps, like odb-tests building against new libodb-mysql and old libodb)
[Solution]
* In debian, simply binNMUs were done without bumping the ABI =/
* Whilst libodb-boost and libodb-qt do not appear to be affected, imho it is best to rebuild them too.
[Testcase]
* download odb-tests
* autoreconf -fi
* Build and link with following configs (./configure; make clean; make)
+ ./configure --with-
+ ./configure --with-
+ ./configure --with-
There appears to be some incompatibility between libodb and libodb-mysql in that the latter cannot resolve symbols from the former. More details are in this odb-users mailing list thread:
http://
My suspicion (discussed in the second post of the above thread) is that libodb is built in the C++11 mode while the rest of the ODB runtimes (libodb-mysql and libodb-pgsql were confirmed by the users) -- C++98. I, however, couldn't find the package build logs (neither on Ubuntu nor on Debian) to confirm this.
no longer affects: | libodb-mysql (Ubuntu) |
Changed in libodb-sqlite (Ubuntu): | |
status: | New → Confirmed |
description: | updated |
Changed in libodb (Ubuntu Zesty): | |
assignee: | nobody → Dimitri John Ledkov (xnox) |
milestone: | none → ubuntu-17.02 |
Changed in libodb-boost (Ubuntu Zesty): | |
assignee: | nobody → Dimitri John Ledkov (xnox) |
milestone: | none → ubuntu-17.02 |
Changed in libodb-pgsql (Ubuntu Zesty): | |
assignee: | nobody → Dimitri John Ledkov (xnox) |
milestone: | none → ubuntu-17.02 |
Changed in libodb-qt (Ubuntu Zesty): | |
assignee: | nobody → Dimitri John Ledkov (xnox) |
milestone: | none → ubuntu-17.02 |
Changed in libodb-sqlite (Ubuntu Zesty): | |
assignee: | nobody → Dimitri John Ledkov (xnox) |
milestone: | none → ubuntu-17.02 |
Changed in libodb (Ubuntu Yakkety): | |
assignee: | nobody → Dimitri John Ledkov (xnox) |
Changed in libodb (Ubuntu Xenial): | |
assignee: | nobody → Dimitri John Ledkov (xnox) |
Changed in libodb-boost (Ubuntu Xenial): | |
status: | New → In Progress |
Changed in libodb-boost (Ubuntu Yakkety): | |
status: | New → In Progress |
I believe the problem is caused by the GCC dual ABI fiasco that is described
here:
https:/ /gcc.gnu. org/onlinedocs/ libstdc+ +/manual/ using_dual_ abi.html
My current guess is that some libodb* packages (I think libodb) were built
with an older version of the compiler and are still using the old ABI.
Can someone trigger the rebuild of all ODB packages?