[FFe] Use of NDEBUG in d/rules for 2.3.3+dfsg-0ubuntu2 on Noble generates an incompatible ABI
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ogre-next (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Revision bump for current ogre on Noble
- Tested on PPA with version: ogre-next - 2.3.3+dfsg-
https:/
- MR: https:/
The latest bump in ogre-next for 2.3.3+dfsg-0ubuntu2 version came with an addition in d/rules
of: -DCMAKE_
ubuntu/
same set of flags is not used in third party software. Specially difficult to detect since the problems will appear in the loading of the OGRE plugins not during the building. See the full justification for the long story:
[Justification]
For the current version 2.3.3+dfsg-0ubuntu2 the build process, the test suite and the autopkgtest did not detect any problem in the build or run of the different OGRE components.
However when we (Gazebo simulator team) used the library to build our gazebo-rendering library we found problems with missing symbols at runtime when trying to load plugins.
"""
/ws/harmonic/
"""
If we demangle that symbol the "T non-virtual thunk to Ogre::HlmsPbs:
1. _ZThn944_
2. _ZThn1008_
It is hard to know where this difference in the offset is coming from but I was able to track the problem to the use of -DDEBUG=0 -D_DEBUG=0 in debian/rules added for the 2.3.3 version bump with respect to jammy 2.2.5. Removing it, solves the offset difference.
[Updating details]
The MR linked to the bug just remove the custom NDEBUG flags added to d/rules. ogre-next does not have any reverse dependency at this moment in Ubuntu.
[Testing done]
Using the packages generated with the proposed change keeps the package building in all arches, passing the autopkgtest and allow use to run the Gazebo Simulator with the OGRE-Next libraries for the first time in Noble.
With current 2.3.3+dfsg-
--------- 8 -------
[GUI] [Msg] Loading plugin [gz-rendering-
Error while loading the library [/usr/local/
[GUI] [Err] [RenderEngineMa
--------- 8 -------
With changes in proposed 2.3.3+dfsg-
--------- 8 -------
[GUI] [Wrn] [Application.
failed to create drawable
[GUI] [Msg] Loading plugin [gz-rendering-
[GUI] [Msg] Move to service on [/gui/move_to]
[GUI] [Msg] Follow service on [/gui/follow]
[GUI] [Msg] Move to pose service on [/gui/move_to/pose]
[GUI] [Msg] Camera pose topic advertised on [/gui/camera/pose]
[GUI] [Msg] Follow offset service on [/gui/follow/
[Msg] Found no publishers on /stats, adding root stats topic
[Msg] Found no publishers on /clock, adding root clock topic
[Msg] Serving scene information on [/world/
[Msg] Serving graph information on [/world/
--------- 8 -------
The simulator loads just fine.
Related branches
- Dan Bungert: Pending requested
- git-ubuntu import: Pending requested
-
Diff: 32 lines (+12/-1)2 files modifieddebian/changelog (+12/-0)
debian/rules (+0/-1)
The Gazebo simulator running on a Noble container :)