Rviz does not display image (invalid drawable) on Mac OSX 10.8.3
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.
I'll try to reproduce this.
I thought maybe old Ogre version causes it, so I tried to compile ogre-1.9RC1, but after compilation I could find dylib.
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.@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
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.