gazebosim / gazebosim/gz-rendering

Undefined Symbol in libgz-rendering-7(or 9)-ogre2 on Ubuntu 22.04.4 LTS

Open
#999 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
C++
Stars
81
Forks
90
Avg merge
1d 13h
Merged PRs (30d)
10

Description

## Environment
* OS Version: Ubuntu 22.04.4 LTS
* Source, on branch gz-rendering7, commit f95826fb52355bb4388c37b6bac6de8430224f98
* Rendering Plugin: Ogre2
* Ogre Versions:
```
libogre-next-2.3-dev/unknown,now 2.3.1-9osrf~jammy amd64 [installed]
libogre-next-2.3.0/unknown,now 2.3.1-9osrf~jammy amd64 [installed,automatic]
libogre-next-dev/jammy,now 2.2.5+dfsg3-0ubuntu2 amd64 [installed]
```
I am fairly positive this was caused by a change in the Hlms setupRootLayout interface in this commit of Ogre-next: https://github.com/OGRECave/ogre-next/commit/ea9c99a1ec0210396d48dd28b3bf266e778fd8f3#diff-ddd79ccfa4b6debd7d7161129f18e9b52196690bb885d32736be9bb72f403d1fR225

You can see setupRootLayout got a new signature which is not used in the gz-rendering codebase.

## Description
* Expected behavior: Gazebo should start and successfully load the libgz-rendering7-ogre2 engine plugin.
* Actual behavior: Gazebo crashes with:
```
[ruby $(which gz) sim-15] Error while loading the library [install/lib/gz-rendering-7/engine-plugins/libgz-rendering-ogre2.so]: install/lib/gz-rendering-7/engine-plugins/libgz-rendering-ogre2.so: undefined symbol: _ZN4Ogre7HlmsPbs15setupRootLayoutERNS_10RootLayoutE
[ruby $(which gz) sim-15] [GUI] [Err] [RenderEngineManager.cc:534] Failed to load plugin [gz-rendering-ogre2] : couldn't load library on path [install/lib/gz-rendering-7/engine-plugins/libgz-rendering-ogre2.so].
```
## Steps to reproduce

1. Try and build Gz-Garden from source on Ubuntu 22.04.4 LTS
2. Run `gz sim` and load up any simulation world.

Contributor guide

Open the contributing guide

Research direction

Start by locating the Ogre2 rendering implementation that calls Hlms setupRootLayout, then compare its usage with the changed Ogre-next interface linked in the issue and the installed Ogre versions. Reproduce the Garden build and run on Ubuntu 22.04.4. Done means the Ogre2 plugin loads without the undefined-symbol error and a simulation starts successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.