dx-packages team mailing list archive
-
dx-packages team
-
Mailing list archive
-
Message #16889
[Bug 1329089] Re: g++-4.9 binary incompatibilties with libraries built with g++-4.8
The C++11 support in 4.9 (which is still marked as experimental) did see
some incompatible changes with the unordered associative containers in
<unordered_map> and <unordered_set. There are no other ABI changes in
c++11 mode, maybe except for users of the <future> header. It is not
advised to mix c++11 code built from different major compiler versions
as long as the c++11 mode is still marked as experimental.
There are a few things to do here:
- find out which packages are affected (currently working on that)
- make sure that all packages are built using verbose builds, or else we cannot
scan the build logs for packages built in c++11 mode.
- if this is code ending up in libraries, the soname of the library should be bumped where
the upstream can do that, or the package name of the library should be changed.
- if the code is ending up in leaf packages, just rebuild the package
- Don't use versioned build dependencies for g++-4.x at all (preferred), or use the
same version for all packages within a project.
Packages in main affected are:
dbus-cpp
libcolumbus
firefox
mir
process-cpp
libreoffice (only the clang plugin which is not built)
qtbase-opensource-src
unity
The ubuntu-toolchain-r/test PPA know has a gcc-defaults again defaulting
to 4.9. Please make sure that you have a build dependency on g++ (>=
4:4.9.0-3ubuntu6) when building with 4.9.
** Also affects: process-cpp (Ubuntu)
Importance: Undecided
Status: New
** Also affects: mir (Ubuntu)
Importance: Undecided
Status: New
** Also affects: qtbase-opensource-src (Ubuntu)
Importance: Undecided
Status: New
** Also affects: unity (Ubuntu)
Importance: Undecided
Status: New
** Also affects: firefox (Ubuntu)
Importance: Undecided
Status: New
** Changed in: location-service (Ubuntu)
Status: Confirmed => Invalid
--
You received this bug notification because you are a member of DX
Packages, which is subscribed to unity in Ubuntu.
Matching subscriptions: dx-packages
https://bugs.launchpad.net/bugs/1329089
Title:
g++-4.9 binary incompatibilties with libraries built with g++-4.8
Status in “dbus-cpp” package in Ubuntu:
Confirmed
Status in “firefox” package in Ubuntu:
New
Status in “gcc-4.9” package in Ubuntu:
Confirmed
Status in “gcc-defaults” package in Ubuntu:
Fix Released
Status in “location-service” package in Ubuntu:
Invalid
Status in “mir” package in Ubuntu:
New
Status in “process-cpp” package in Ubuntu:
New
Status in “qtbase-opensource-src” package in Ubuntu:
New
Status in “unity” package in Ubuntu:
New
Bug description:
The location-service 0.0.3+14.10.20140512-0ubuntu1 package in utopic,
when rebuilt against libdbus-cpp3 3.0.0+14.10.20140604-0ubuntu1 (built
with gcc-4.8) and with current gcc-defaults (which makes g++-4.9 the
default), fails the package build in its test suite.
2/14 Test #2: acceptance_tests ..................***Failed 30.54 sec
DBus daemon: unix:abstract=/tmp/dbus-HdW1T5UHNB,guid=188551aa5d797b663dade1425398d71b
task-0: Started with PID: 13031
task-0: [==========] Running 2 tests from 1 test case.
task-0: [----------] Global test environment set-up.
task-0: [----------] 2 tests from LocationServiceStandalone
task-0: [ RUN ] LocationServiceStandalone.SessionsReceiveUpdatesViaDBus
** (dbus-test-runner:13025): WARNING **: Timing out at maximum wait of
30 seconds.
(dbus-test-runner:13025): libdbustest-CRITICAL **: dbus_test_service_run: assertion 'all_tasks(service, all_tasks_finished_helper)' failed
task-0: Shutting down
DBus daemon: Shutdown
This test suite does *not* fail if either dbus-cpp is rebuilt with
g++-4.9, or if location-service is built with g++-4.8.
This implies a binary compatibility problem for C++ libraries in g++
4.9, which is critical to resolve.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dbus-cpp/+bug/1329089/+subscriptions
Follow ups