The Gazebo simulator running on a Noble container :) ** Attachment added: "Image of Gazebo Harmonic on Noble" https://bugs.launchpad.net/ubuntu/+source/ogre-next/+bug/2063359/+attachment/5770080/+files/Screenshot%20from%202024-04-24%2018-36-29.png
** Description changed: Version bump for current ogre on Noble - - Tested on PPA with version: ogre-next - 2.3.3+dfsg-6~202404240955~ubuntu24.04.1 - https://launchpad.net/~j-rivero/+archive/ubuntu/ogre-next-recipe/+packages - - MR: + - Tested on PPA with version: ogre-next - 2.3.3+dfsg-6~202404240955~ubuntu24.04.1 + https://launchpad.net/~j-rivero/+archive/ubuntu/ogre-next-recipe/+packages + - MR: https://code.launchpad.net/~j-rivero/ubuntu/+source/ogre-next/+git/ogre-next-2/+merge/464934 The latest bump in ogre-next for 2.3.3+dfsg-0ubuntu2 version came with an addition in d/rules of: -DCMAKE_CXX_FLAGS="$(CXXFLAGS) -DDEBUG=0 -D_DEBUG=0". See https://git.launchpad.net/ ubuntu/+source/ogre-next/tree/debian/rules#n15. That is generating incompatible ABIs if the 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/install_noble/gz-rendering8/lib/gz-rendering-8/engine-plugins/libgz-rendering-ogre2.so: undefined symbol: _ZThn944_N4Ogre7HlmsPbs19_changeRenderSystemEPNS_12RenderSystemE """ If we demangle that symbol the "T non-virtual thunk to Ogre::HlmsPbs::_changeRenderSystem(Ogre::RenderSystem*)" appears and that method do exists o the current OGRE version. The problem is that the ABI symbol has a different offset after _ZThn: instead of 944 it has 1008. So the symbol is not the same for the loader: - 1. _ZThn944_N4Ogre7HlmsPbs19_changeRenderSystemEPNS_12RenderSystemE (in gz-rendering) - 2. _ZThn1008_N4Ogre7HlmsPbs19_changeRenderSystemEPNS_12RenderSystemE (in 2.3.3+dfsg-0ubuntu2) + 1. _ZThn944_N4Ogre7HlmsPbs19_changeRenderSystemEPNS_12RenderSystemE (in gz-rendering) + 2. _ZThn1008_N4Ogre7HlmsPbs19_changeRenderSystemEPNS_12RenderSystemE (in 2.3.3+dfsg-0ubuntu2) 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-0ubuntu2: --------- 8 ------------------------------------------- [GUI] [Msg] Loading plugin [gz-rendering-ogre2] Error while loading the library [/usr/local/google/home/addisuzt/ws/harmonic/install_noble/gz-rendering8/lib/gz-rendering-8/engine-plugins/libgz-rendering-ogre2.so]: /usr/local/google/home/addisuzt/ws/harmonic/install_noble/gz-rendering8/lib/gz-rendering-8/engine-plugins/libgz-rendering-ogre2.so: undefined symbol: _ZThn944_N4Ogre7HlmsPbs19_changeRenderSystemEPNS_12RenderSystemE [GUI] [Err] [RenderEngineManager.cc:501] Failed to load plugin [gz-rendering-ogre2] : couldn't load library on path [/usr/local/google/home/addisuzt/ws/harmonic/install_noble/gz-rendering8/lib/gz-rendering-8/engine-plugins/libgz-rendering-ogre2.so]. - --------- 8 ------------------------------------------- + --------- 8 ------------------------------------------- With changes in proposed 2.3.3+dfsg-0ubuntu3: - --------- 8 ------------------------------------------- + --------- 8 ------------------------------------------- [GUI] [Wrn] [Application.cc:908] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. failed to create drawable [GUI] [Msg] Loading plugin [gz-rendering-ogre2] [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/offset] [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/shapes/scene/info] [Msg] Serving graph information on [/world/shapes/scene/graph] - --------- 8 ------------------------------------------- + --------- 8 ------------------------------------------- The simulator loads just fine. ** Summary changed: - [FFe] Use of NDEBUG in 2.3.3 on Noble generates an incompatible ABI + [FFe] Use of NDEBUG in d/rules for 2.3.3+dfsg-0ubuntu2 on Noble generates an incompatible ABI ** Description changed: - Version bump for current ogre on Noble + Revision bump for current ogre on Noble - Tested on PPA with version: ogre-next - 2.3.3+dfsg-6~202404240955~ubuntu24.04.1 https://launchpad.net/~j-rivero/+archive/ubuntu/ogre-next-recipe/+packages - - MR: https://code.launchpad.net/~j-rivero/ubuntu/+source/ogre-next/+git/ogre-next-2/+merge/464934 + - MR: The latest bump in ogre-next for 2.3.3+dfsg-0ubuntu2 version came with an addition in d/rules of: -DCMAKE_CXX_FLAGS="$(CXXFLAGS) -DDEBUG=0 -D_DEBUG=0". See https://git.launchpad.net/ ubuntu/+source/ogre-next/tree/debian/rules#n15. That is generating incompatible ABIs if the 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/install_noble/gz-rendering8/lib/gz-rendering-8/engine-plugins/libgz-rendering-ogre2.so: undefined symbol: _ZThn944_N4Ogre7HlmsPbs19_changeRenderSystemEPNS_12RenderSystemE """ If we demangle that symbol the "T non-virtual thunk to Ogre::HlmsPbs::_changeRenderSystem(Ogre::RenderSystem*)" appears and that method do exists o the current OGRE version. The problem is that the ABI symbol has a different offset after _ZThn: instead of 944 it has 1008. So the symbol is not the same for the loader: 1. _ZThn944_N4Ogre7HlmsPbs19_changeRenderSystemEPNS_12RenderSystemE (in gz-rendering) 2. _ZThn1008_N4Ogre7HlmsPbs19_changeRenderSystemEPNS_12RenderSystemE (in 2.3.3+dfsg-0ubuntu2) 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-0ubuntu2: --------- 8 ------------------------------------------- [GUI] [Msg] Loading plugin [gz-rendering-ogre2] Error while loading the library [/usr/local/google/home/addisuzt/ws/harmonic/install_noble/gz-rendering8/lib/gz-rendering-8/engine-plugins/libgz-rendering-ogre2.so]: /usr/local/google/home/addisuzt/ws/harmonic/install_noble/gz-rendering8/lib/gz-rendering-8/engine-plugins/libgz-rendering-ogre2.so: undefined symbol: _ZThn944_N4Ogre7HlmsPbs19_changeRenderSystemEPNS_12RenderSystemE [GUI] [Err] [RenderEngineManager.cc:501] Failed to load plugin [gz-rendering-ogre2] : couldn't load library on path [/usr/local/google/home/addisuzt/ws/harmonic/install_noble/gz-rendering8/lib/gz-rendering-8/engine-plugins/libgz-rendering-ogre2.so]. --------- 8 ------------------------------------------- With changes in proposed 2.3.3+dfsg-0ubuntu3: --------- 8 ------------------------------------------- [GUI] [Wrn] [Application.cc:908] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. failed to create drawable [GUI] [Msg] Loading plugin [gz-rendering-ogre2] [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/offset] [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/shapes/scene/info] [Msg] Serving graph information on [/world/shapes/scene/graph] --------- 8 ------------------------------------------- The simulator loads just fine. ** Description changed: Revision bump for current ogre on Noble - Tested on PPA with version: ogre-next - 2.3.3+dfsg-6~202404240955~ubuntu24.04.1 https://launchpad.net/~j-rivero/+archive/ubuntu/ogre-next-recipe/+packages - - MR: + - MR: https://code.launchpad.net/~j-rivero/ubuntu/+source/ogre-next/+git/ogre-next-2/+merge/464934 The latest bump in ogre-next for 2.3.3+dfsg-0ubuntu2 version came with an addition in d/rules of: -DCMAKE_CXX_FLAGS="$(CXXFLAGS) -DDEBUG=0 -D_DEBUG=0". See https://git.launchpad.net/ ubuntu/+source/ogre-next/tree/debian/rules#n15. That is generating incompatible ABIs if the 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/install_noble/gz-rendering8/lib/gz-rendering-8/engine-plugins/libgz-rendering-ogre2.so: undefined symbol: _ZThn944_N4Ogre7HlmsPbs19_changeRenderSystemEPNS_12RenderSystemE """ If we demangle that symbol the "T non-virtual thunk to Ogre::HlmsPbs::_changeRenderSystem(Ogre::RenderSystem*)" appears and that method do exists o the current OGRE version. The problem is that the ABI symbol has a different offset after _ZThn: instead of 944 it has 1008. So the symbol is not the same for the loader: 1. _ZThn944_N4Ogre7HlmsPbs19_changeRenderSystemEPNS_12RenderSystemE (in gz-rendering) 2. _ZThn1008_N4Ogre7HlmsPbs19_changeRenderSystemEPNS_12RenderSystemE (in 2.3.3+dfsg-0ubuntu2) 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-0ubuntu2: --------- 8 ------------------------------------------- [GUI] [Msg] Loading plugin [gz-rendering-ogre2] Error while loading the library [/usr/local/google/home/addisuzt/ws/harmonic/install_noble/gz-rendering8/lib/gz-rendering-8/engine-plugins/libgz-rendering-ogre2.so]: /usr/local/google/home/addisuzt/ws/harmonic/install_noble/gz-rendering8/lib/gz-rendering-8/engine-plugins/libgz-rendering-ogre2.so: undefined symbol: _ZThn944_N4Ogre7HlmsPbs19_changeRenderSystemEPNS_12RenderSystemE [GUI] [Err] [RenderEngineManager.cc:501] Failed to load plugin [gz-rendering-ogre2] : couldn't load library on path [/usr/local/google/home/addisuzt/ws/harmonic/install_noble/gz-rendering8/lib/gz-rendering-8/engine-plugins/libgz-rendering-ogre2.so]. --------- 8 ------------------------------------------- With changes in proposed 2.3.3+dfsg-0ubuntu3: --------- 8 ------------------------------------------- [GUI] [Wrn] [Application.cc:908] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. failed to create drawable [GUI] [Msg] Loading plugin [gz-rendering-ogre2] [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/offset] [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/shapes/scene/info] [Msg] Serving graph information on [/world/shapes/scene/graph] --------- 8 ------------------------------------------- The simulator loads just fine. ** Tags added: noble -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2063359 Title: [FFe] Use of NDEBUG in d/rules for 2.3.3+dfsg-0ubuntu2 on Noble generates an incompatible ABI To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ogre-next/+bug/2063359/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs