-
Notifications
You must be signed in to change notification settings - Fork 463
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RViz (indigo-devel) catkin unable to find Ogre 1.9 libs (MacOSX10.9.3) #782
Comments
This is output of
|
Yeah, so rviz in Indigo needs Ogre 1.8+ because of the mesh file versions. I ran into this exact problem on OS X, and I'm not sure how I fixed it. I'll try to reproduce the problem and come up with a proper fix. If I remember correctly it is because the Ogre 1.9 installation puts their CMake files in weird locations. |
For now, i added to set(OGRE_OV_RVIZ_LIB_OgreMain "/usr/local/lib/macosx/Release/Ogre.framework/Versions/1.9.0/Ogre")
set(OGRE_OV_RVIZ_LIB_OgreOverlay "/usr/local/lib/macosx/Release/OgreOverlay.framework/Versions/1.9.0/OgreOverlay")
set(OGRE_OV_LIBRARIES_ABS "${OGRE_OV_RVIZ_LIB_OgreMain};${OGRE_OV_RVIZ_LIB_OgreOverlay}") |
This is not complete solution though :( > rosrun rviz rviz
dyld: Library not loaded: @executable_path/../Frameworks/Ogre.framework/Versions/1.9.0/Ogre
Referenced from: /usr/local/lib/macosx/Release/OgreOverlay.framework/Versions/1.9.0/OgreOverlay
Reason: image not found
Trace/BPT trap: 5 |
The solution will be, I believe, to fix how Ogre is installing its framework, i.e. |
Is https://ogre3d.atlassian.net/browse/OGRE-265 related? Does the fix mentioned towards the end help? |
@MrTatsch I believe that would address the issue, but I haven't tried it. |
Nope this patch does not help. There is quite some non-standard stuff going on with the way ogre is built. I just had a look at how debian packages it, and they do a bit of shifting around, also. One problem is that the rviz uses the pkg-config files and those known nothing about frameworks, so even if we install the frameworks in I wounder if we should try to patch up ogre to achieve a layout similar to the one on debian/ubuntu (no frameworks etc)?
|
So here is a ogre 1.9 formula (note the comments): osrf/homebrew-simulation#24 Rviz hydro builds against it, but crashes immediately after start with a segfault in There is also some effort to make gazebo2 work with ogre 1.9: https://bitbucket.org/osrf/gazebo/pull-request/1098/fix-gzclient-startup-crash-with-ogre-19/diff#comment-2444888 Edit: rviz indigo has the same crash in Edit2: verbose log of rviz before crashing: http://pastebin.com/KXshtnU9 |
I didn't get to this on the weekend, I'll try to do it in the background today. |
Best try |
@NikolausDemmel where are you getting ogre1.9 from? |
How do you mean? Which Ogre source do I download, or which formula am I using? I updated (and renamed) the ogre formula from the osrf/simulation tap, see my pull request osrf/homebrew-simulation#24, which has some comments for whats going on (this is also linked above). |
Sorry, I meant the formula, I see the pull request now. Thanks. |
I pushed that formula to
or just manually check out the ( |
Weird, I did this in the mean time:
|
Ok, so I am currently building indigo from source with your formulae for ogre1.9 and gazebo2. I also noticed that for some stupid reason gtk+'s bottle brings in Homebrew's version of python... So frustrating. |
If had success so far with my custom cmake formula and brewed python. I think this combination is the way to go. But you'd need to reinstall all formulae with python bindings and all pip packages.
|
Unless, like boost, they do not build it with Python support, so if |
Ok, I can now reproduce the segfault in rviz, I'll start looking into it. |
Yeah, that sucks. They'd argue that is simply a user error, but the whole python situation is a real bummer. rosdep/xylem could implement dealing with that by detecting the used python version and making sure to supply |
That's the tricky part,
|
There is a difference between a dependency on |
I see, that's changed from how it was just recently. I can hardly keep up with Homebrew at this point. Either way I am starting to drill into the segfault, I'll hopefully have a fix soon. |
I just noticed that Great stuff about the segfault. |
Man, Ogre's lib/framework stuff along side its pkg-config and CMake stuff it installs is Soooooo broken. I'm still working on getting a debug version of Ogre installed with sources available to dig into the Ogre functions (the problem appears to be in Obj-C). |
Yeah indeed that is broken :-/. Are you building the debug version with homebrew or manually? In any case I believe including the patch that makes it not build as frameworks is the way to go. |
I am still not able to track down the segfault, it is clear that for some reason the Qt window which is passed around as a |
Did anything come of this? I'm currently revamping my install instructions, and wondering if I should be continuing to recommend building Jade and Indigo with Ogre 1.7 and the Hydro meshes? |
I haven't had time to resolve this. There is a related ticket here now: |
Hi! i'm trying to update ogre from 1.74 to 1.9 to use it with ros indigo on OS X 10.10. I'm following the steps on this post, but i'm having some problems. MacBook-Pro-de-Jorge:Cellar jdeleon$ brew install https://raw.githubusercontent.com/hgaiser/homebrew-simulation/master/ogre1.9.rb READ THIS: https://git.io/brew-troubleshooting Also I tried this: But I have a mismatch error. Has anyone solve this problem? |
@grafoteka : had ran into the second problem myself. The SHA1 has to be changed from the "expected" to the "actual" one in the /usr/local/Library/Taps/nikolausdemmel/homebrew-simulation/ogre1.9.rb . |
@grafoteka This requires a change in @hgaiser's homebrew repo: https://github.com/hgaiser/homebrew-simulation |
FWIW, I don't believe it's possible to build a usable Gazebo 5 from Ogre 1.9 yet on OS X— as of a month or two ago, gzclient segfaults on startup. What's the motivation for jumping off of Ogre 1.7 (short of the mesh issue, which you can easily hack around)? |
@mikepurvis, based on what I remember and on the first post it had something to do with the MeshSerializer in Ogre. Based on the first post it seems it requires the serializer from 1.8 or higher. But its been almost a year ago so my memory isn't that clear. @grafoteka Could you compile ogre1.9 with the -v flag and post the output here? What OSX are you running?
EDIT: @grafoteka Ah, it seems Nikolaus already updated his ogre formula, you can use his or mine, I updated mine now too.
Worked for me. |
Just so you know this issue is also present on Debian Jessie where both 1.8 and 1.9 dev libs for Ogre are present in the repos and none is detected as installed when building ROS. |
@aleksandaratanasov this issue is for OS X, where the packing is pretty different. If it is not working on Debian, then you should open a new issue. If Debian can install both at the same time, then I'm not surprised that rviz cannot find it correctly since that would have required the Debian packagers to change how the CMake/pkg-config infrastructure is setup in Ogre. |
I know it's for MacOS. I just added it as a proof that it's actually more wide-spread then one would think reading this issue here. |
@aleksandaratanasov I figured that you knew that, but I was just trying to point out that the packaging is very different between the two systems (in particular OS X's is sort of hacked together), so it's likely to be a different root cause, hence my suggestion to open a new issue. Thanks. |
Ah, okay. Yeah, I was going to do that but for some reason it doesn't complain anymore. Go figure... |
Hi,
And keep on getting:
at the step
I've tried compiling boost 1.58 from source both with and without the --c++11 option with the same result. Looking at various forums it seems that most people who ran into these symbol issues with boost uses a -lc++ compiler flag. Is there some obvious I can do about this? If not I'll go ahead and try to clone and see if the flag fixes my issue. Thanks. |
I ended up modifying the latest ogre's cmake to use libc++ and c++11. Ugly hack but finally have it built and installed:
|
@Cescante so your formula |
@jmtatsch The ogre web page says to use But my machine cached the packages. So I untared it, explicitly altered the set CMAKE_CXX_FLAGS line to what I mentioned above, repackaged and put back into homebrew's cache directory, updated the checksum in the formula to match the new package, and re-ran brew install. But then |
@Cescante did you install boost with C++11 or without? |
@mgrrx With. |
@Cescante Did you compile Ogre on OS X El Capitan? I managed to get around the libc++ and c++11 issues as you proposed, but I'm stuck after building OgreRTShaderSystem without any meaningful errors https://gist.github.com/jmtatsch/fb8efb7e96e475424697 |
@jmtatsch The error from your gist is this:
I'd recommend asking about it on the Ogre issue tracker. |
I didn't dare to upgrade to El Capitan, yet ;) |
Seems I was a little too brave then :( |
@jmtatsch @wjwwood Well, what I did is simply casted return value of
Yeap, pity, but I have built P. S.. I've used this formula |
The CGLError issue is fixed. However, on El Capitan (10.11.2), the libc++ issue remains. Changing CMAKE_OSX_DEPLOYMENT_TARGET as suggested in another ogre issue did not work for me. The reason might be that I'm not using Xcode. As mentioned before, I had to explicitly add the Try as a PatchI put the one-line patch that fixed it for me into a gist. You can
Rebuild Rviz After PatchingStill working on this. Will fill in later. As of now, it brings back the issue with
Error Message for Reference (libc++/libstdc++ Issue)
|
Taken from https://github.com/smits/ros-install-osx/blob/new-testing-matrix/install Grabbing these older meshes allows rviz to run with Ogre 1.7 rather than Ogre 1.8+. Some details here: ros-visualization#782. Commands were: cd ogre_media/models curl https://raw.githubusercontent.com/ros-visualization/rviz/hydro-devel/ogre_media/models/rviz_cone.mesh > rviz_cone.mesh curl https://raw.githubusercontent.com/ros-visualization/rviz/hydro-devel/ogre_media/models/rviz_cube.mesh > rviz_cube.mesh curl https://raw.githubusercontent.com/ros-visualization/rviz/hydro-devel/ogre_media/models/rviz_cylinder.mesh > rviz_cylinder.mesh curl https://raw.githubusercontent.com/ros-visualization/rviz/hydro-devel/ogre_media/models/rviz_sphere.mesh > rviz_sphere.mesh
Hello,
i used this gist as a start https://gist.github.com/mikepurvis/9837958 to build ROS.
I also added to
src/geometry/tf/CMakeLists.txt
:Then built workspace:
In my case, i also installed manually:
Brew has Ogre 1.7 by default, rviz compiles, but failing to start, as it requires Ogre>= 1.8:
I installed Ogre from HEAD:
But,
Despite that, as i understood from discussions in rviz issues and source of
CMakeLists.txt
files, support for new Ogre>=1.9 already integrated inindigo-devel
branch.The same both for rviz-release-release-indigo-rviz-1.11.2-1 retrieved by rosinstall and for current indigo-devel branch from git.
The text was updated successfully, but these errors were encountered: