Ask Your Question
4

Rviz does not display image (invalid drawable) on Mac OSX 10.8.3

asked 2013-06-04 21:45:02 -0600

Artem gravatar image

updated 2014-01-28 17:16:46 -0600

ngrennan gravatar image

When I rosrun rviz rviz, and add image. At the bottom left a video stream should appear that is coming from /image_raw topic . However, the image window freezes. In the console I am getting this

rosrun rviz rviz 
[ INFO] [1370417297.135309000]: rviz version 1.9.30
[ INFO] [1370417297.135369000]: compiled against OGRE version 1.7.4 (Cthugha)
2013-06-05 16:28:17.144 rviz[33669:f0b] *** WARNING: Method userSpaceScaleFactor in class NSView is deprecated on 10.7 and later. It should not be used in new applications. Use convertRectToBacking: instead. 
2013-06-05 16:28:17.813 rviz[33669:f0b] invalid drawable
[ INFO] [1370417297.847879000]: OpenGl version: 2.1 (GLSL 1.2).
2013-06-05 16:28:17.921 rviz[33669:f0b] invalid drawable
2013-06-05 16:28:31.311 rviz[33669:f0b] invalid drawable
2013-06-05 16:28:31.376 rviz[33669:f0b] invalid drawable
...

I know this is an old problem, however I am asking if there is some progress has been done recently? I am using mac osx 10.8.3, groovy.

  • UPDATE

If I rosrun rviz rviz -l after adding image, I get the following console output

    [ INFO] [1371039331.242585000]: Texture: ROSImageTexture0: Loading 1 faces(PF_A8R8G8B8,420x300x1) with  hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,420x300x1.
    [ INFO] [1371039331.256845000]: GLRenderSystem::_createRenderWindow "OgreWindow(2)", 720x382 windowed  miscParams: externalGLControl= externalWindowHandle=140700326980512 macAPI=cocoa macAPICocoaUseNSView=true 
    [ INFO] [1371039331.256900000]: Creating a Cocoa Compatible Render System
    [ INFO] [1371039331.257431000]: Mac Cocoa Window: Rendering on an external plain NSView*
    2013-06-12 21:15:31.257 rviz[21491:f0b] invalid drawable
    2013-06-12 21:15:31.338 rviz[21491:f0b] invalid drawable
    2013-06-12 21:15:31.382 rviz[21491:f0b] invalid drawable
...
  • UPDATE 2

I’ve built ogre-1.8.1, and linked libOgreRTShaderSystem.dylib to /usr/local/lib/libOgreMain.dylib due to the fact that the latest versions of ogre do not have libOgreMain.dylib. Then I was able to begin building rviz, however at 87% I got many linking errors

Linking CXX shared library /Users/artemlenskiy/Documents/Research/ros/mycatkin/devel/lib/libdefault_plugin.dylib
Undefined symbols for architecture x86_64:
  "Ogre::Quaternion::FromAngleAxis(Ogre::Radian const&, Ogre::Vector3 const&)", referenced from:
      Ogre::Quaternion::Quaternion(Ogre::Radian const&, Ogre::Vector3 const&) in camera_display.cpp.o
      Ogre::Vector3::getRotationTo(Ogre::Vector3 const&, Ogre::Vector3 const&) const in interactive_marker_control.cpp.o
      Ogre::Quaternion::Quaternion(Ogre::Radian const&, Ogre::Vector3 const&) in interactive_marker_control.cpp.o
      Ogre::Vector3::getRotationTo(Ogre::Vector3 const&, Ogre::Vector3 const&) const in arrow_marker.cpp.o
      Ogre::Quaternion::Quaternion(Ogre::Radian const&, Ogre::Vector3 const&) in shape_marker.cpp.o
      Ogre::Quaternion::Quaternion(Ogre::Radian const&, Ogre::Vector3 const&) in odometry_display.cpp.o
      Ogre::Quaternion::Quaternion(Ogre::Radian const&, Ogre::Vector3 const&) in pose_display.cpp.o
      ...

So, unfortunately I couldn’t test whether ogre 1.8.1 solves rviz problem or not. The latest Ogre 1.9.1RC1 does come as a framework in a dmg, I didn’t want to mess up with it.

edit retag flag offensive close merge delete

Comments

I'll try to reproduce this.

William gravatar imageWilliam ( 2013-06-05 04:14:54 -0600 )edit

I thought maybe old Ogre version causes it, so I tried to compile ogre-1.9RC1, but after compilation I could find dylib.

Artem gravatar imageArtem ( 2013-06-12 02:10:18 -0600 )edit

Sorry I haven't had time to reproduce this, if you can find the dylib manually you can add it to the DYLD_LIBRARY_PATH, this is likely caused by something not properly setting the rpath for the dylib.

William gravatar imageWilliam ( 2013-06-12 07:17:48 -0600 )edit

@Art if you use ogre-1.8.1, for the missing libOgreMain.dylib create a symbolic link form the Ogre.framework/Ogre , after that rviz should be able to compile with orge 1.8.1. ex. ln -s /usr/local/Cellar/ogre/1.8.1/lib/Release/Ogre.framework/Ogre /usr/local/Cellar/ogre/1.8.1/lib/libOgreMain.dylib

bombilee gravatar imagebombilee ( 2013-07-14 21:17:32 -0600 )edit

I came to conclusion that it's not Ogre, there is something else what causes image view in rviz to freeze. I think it is something to do with OpenGL support in Cocoa. For now Im using rosrun image_view, everything else works fine in rviz.I hope @William or somebody else will come up with a solution.

Artem gravatar imageArtem ( 2013-07-14 21:48:53 -0600 )edit

1 Answer

Sort by » oldest newest most voted
1

answered 2013-06-13 17:41:48 -0600

William gravatar image

I can reproduce this, I opened a ticket: https://github.com/ros-visualization/rviz/issues/646

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2013-06-04 21:45:02 -0600

Seen: 1,293 times

Last updated: Jun 13 '13