-
Notifications
You must be signed in to change notification settings - Fork 912
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
Building on OSX 10.9 #307
Comments
@wjwwood Any idea? |
Sorry, should have mentioned it, but this comes from this answers.ros.org topic: http://answers.ros.org/question/95056/building-rosconsole-osx-109/ |
@dirk-thomas nope, I haven't yet had the time to update to 10.9, I'll try to look into this as soon as I can reproduce it and I have time. |
I have compiled rosconsole by now. I had to install the latest brew of boost and recompile log4cxx using this brew scheme : Homebrew/legacy-homebrew#23798 I also had to compile octomap without libstdc++ (so I had to fix some includes and namespaces that had changed). As a general note, many ros packages now fail due to the use of libc++ instead of libstdc++ because of forward declaring classes, something like this : class A; class A{ will now fail on libc++. The vector requires a defined type since some version and thus it should be something like std::vector<A*> or std::vectorstd::unique_ptr This sort of errors seem to happen in multiple ros packages, for now I am just simply adding these cmake arguments: SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libstdc++") |
Just a follow up from the macports side, with the move to the new command line tools it looks like XCode is defaulting to libc++ by default (different behavior than before) so there's some issues. This thread was very useful helping us debug. |
I am happy to hear that. Do you mean that some macports installations now use libstdc++ to compile though? Because I had gotten nothing but trouble actually, compiling some libraries with libstdc++ and others with libc++. Eventually I managed to get it all to compile using libc++, which I think should be the preference for OSX 10.9+ |
@hgaiser The big issue is that by default, 10.9 uses libc++ for all the ports it installs. In order to get some of the ports to build, we were using macports' gcc, which only links against libstdc++, so we were eventually running into the issues you mention. RIght now we're having some issues trying to get roscpp to compile with clang/libc++, but we can talk about those offline if you want to. |
Perhaps this will help you : For further discussions you can contact me, perhaps I am able to help. |
Fix viewer plugin relocation issue (ros#306)
Hi,
When building rosconsole on OSX 10.9 it gives the following undefined references:
For getting this far I had to manually compile log4cxx to use libstdc++ instead of libc++.
Best regards,
Hans
The text was updated successfully, but these errors were encountered: