Gazebo | Ignition | Community
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

I tried to compile and run the presentation example plugin and realized that the entire gazebo::gui namespace was giving undefined symbol errors.

Then I saw this pull request, which reportedly fixes the issue and was merged into Gazebo 2.0.

I will update this post shortly when I upgrade to Gazebo 2.0 and confirm that everything is working.

I tried to compile and run the presentation example plugin and realized that the entire gazebo::gui namespace was giving undefined symbol errors.

Then I saw this pull request, which reportedly fixes the issue and was merged into Gazebo 2.0.

I will update this post shortly when I upgrade to Gazebo 2.0 2.0 2.1 and confirm that everything is working.

UPDATE: The wiki-sourced plugin linked in the original question is out-of-date for Gazebo 2.0+, but the one in examples/plugins/system_gui_plugin compiles and doesn't generate any symbol errors. However, it does result in an error:

gazebo: /usr/include/boost/smart_ptr/shared_ptr.hpp:418: T* boost::shared_ptr<T>::operator->()
const [with T = gazebo::rendering::UserCamera]: Assertion `px != 0' failed.

From what I can tell this is due to the fact that the SystemPlugin's Init() function is called before the scene is created, so this->userCam is NULL when

this->userCam->EnableSaveFrame(true);

is executed. I have not found a way around this.

Much more important to me, the linker error in the presentation example plugin persists. The original question is essentially unchanged, so I'm updating the question with further details.

I tried to compile and run the presentation example plugin and realized that the entire gazebo::gui namespace was giving undefined symbol errors.

Then I saw this pull request, which reportedly fixes the issue and was merged into Gazebo 2.0.

I will update this post shortly when I upgrade to Gazebo 2.0 2.1 and confirm that everything is working.

UPDATE: The wiki-sourced plugin linked in the original question is out-of-date for Gazebo 2.0+, but the one in examples/plugins/system_gui_plugin compiles and doesn't generate any symbol errors. However, it does result in an error:

gazebo: /usr/include/boost/smart_ptr/shared_ptr.hpp:418: T* boost::shared_ptr<T>::operator->()
const [with T = gazebo::rendering::UserCamera]: Assertion `px != 0' failed.

From what I can tell this is due to the fact that the SystemPlugin's Init() function is called before the scene is created, so this->userCam is NULL when

this->userCam->EnableSaveFrame(true);

is executed. I have not found a way around this.

Much more important to me, the linker undefined symbol error in the presentation example plugin persists. The original question is essentially unchanged, so I'm updating the question with further details.