Skip to content
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

build failed with boost 1.57 on OS X Yosemite #835

Closed
furushchev opened this issue Jan 8, 2015 · 30 comments
Closed

build failed with boost 1.57 on OS X Yosemite #835

furushchev opened this issue Jan 8, 2015 · 30 comments

Comments

@furushchev
Copy link

I'm trying to build rviz on OS X Yosemite, and fails on assertion with the message at boost 1.57:
usr/local/Cellar/boost/1.57.0/include/boost/type_traits/detail/has_binary_operator.hp:50: Parse error at "BOOST_JOIN"

It seems the common problem of application which uses "moc" of Qt with boost library.
(refer to http://debugjournal.tumblr.com/post/70395570484/boost-qt-parse-error-about-boost-join )

Gazebo simulator also met this problem, which is now solved.
(ref https://bitbucket.org/osrf/gazebo/issue/1399/build-fails-with-boost-157 )

What should I do to build successfly?

@garaemon
Copy link
Contributor

garaemon commented Jan 8, 2015

I think it's already fixed on indigo-devel branch

@wjwwood
Copy link
Member

wjwwood commented Jan 8, 2015

I agree with @garaemon, this should be fixed on both Indigo and Hydro. What version of rviz are you using?

@furushchev
Copy link
Author

Yes, you're correct, built successfully on indigo-devel.
I used tarball version which is generated by rosinstall_generator in wiki page ( http://wiki.ros.org/indigo/Installation/OSX/Homebrew/Source )

- tar:
    local-name: rviz
    uri: https://github.com/ros-gbp/rviz-release/archive/release/indigo/rviz/1.11.3-1.tar.gz
    version: rviz-release-release-indigo-rviz-1.11.3-1
$ rosinstall_generator desktop_full --rosdistro indigo --deps --wet-only --tar > indigo-desktop-full-wet.rosinstall

Now should I use upstream development versions?

$ rosinstall_generator desktop_full --rosdistro indigo --deps --wet-only --upstream-development > indigo-desktop-full-wet-upstream-devel.rosinstall

@wjwwood
Copy link
Member

wjwwood commented Jan 8, 2015

No, I would just replace the rviz folder with a clone on indigo-devel for now. The --upstream-development option will apply to all of the dependencies as well, which is not what you want.

The change you need has not been released yet, you can see the commits outstanding on the indigo-devel branch:

1.11.4...indigo-devel

There is a commit in that list:

d77a262

Which fixes the issue you are getting. I'll try to do a release of rviz to Indigo soon to prevent others from running into this.

@wjwwood wjwwood closed this as completed Jan 8, 2015
@chien800614
Copy link

sorry, I have the same error. But I still donot know how to change rviz

@chien800614
Copy link

After i change the d77a262, I get the other error:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ext/hash_set:205:5: warning: 
      Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set>
      [-W#warnings]
#   warning Use of the header <ext/hash_set> is deprecated.  Migrate to ...
    ^
/Users/chienyuwu/src/rviz/src/image_view/main.cpp:50:3: warning: 
      'GetCurrentProcess' is deprecated: first deprecated in OS X 10.9
      [-Wdeprecated-declarations]
  GetCurrentProcess(&PSN);
  ^
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/HIServices.framework/Headers/Processes.h:415:1: note: 
      'GetCurrentProcess' has been explicitly marked deprecated here
MacGetCurrentProcess(ProcessSerialNumber * PSN)               AVAILABLE_...
^
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/HIServices.framework/Headers/Processes.h:412:34: note: 
      expanded from macro 'MacGetCurrentProcess'
    #define MacGetCurrentProcess GetCurrentProcess
                                 ^
/Users/chienyuwu/src/rviz/src/image_view/main.cpp:52:3: warning: 
      'SetFrontProcess' is deprecated: first deprecated in OS X 10.9
      [-Wdeprecated-declarations]
  SetFrontProcess(&PSN);
  ^
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/HIServices.framework/Headers/Processes.h:603:1: note: 
      'SetFrontProcess' has been explicitly marked deprecated here
SetFrontProcess(const ProcessSerialNumber * PSN)              AVAILABLE_...
^
2 warnings generated.
4 warnings generated.
2 warnings generated.
Linking CXX executable /Users/chienyuwu/devel_isolated/rviz/lib/rviz/image_view
[ 62%] Built target rviz_image_view
make: *** [all] Error 2

@wjwwood
Copy link
Member

wjwwood commented Jan 25, 2015

@chien800614 That does not appear to be the same error.

@wjwwood
Copy link
Member

wjwwood commented Jan 25, 2015

@chien800614 There is no error in the output you've including in your comment, you need to include more of the output, all of those lines in your output are warnings, not errors.

@chien800614
Copy link

@wjwwood After I success for the rviz, I face the same problem for rviz_plugin_tutorials

Do you know how can i do?

==> make -j4 -l4 in '/Users/chienyuwu/build_isolated/rviz_plugin_tutorials'
[  7%] [ 15%] [ 23%] [ 30%] Generating src/moc_teleop_panel.cxx
Generating src/moc_drive_widget.cxx
Generating src/moc_imu_display.cxx
Generating src/moc_plant_flag_tool.cxx
usr/local/Cellar/boost/1.57.0/include/boost/type_traits/detail/has_binary_operator.hp:50: Parse error at "BOOST_JOIN"
make[2]: *** [src/moc_imu_display.cxx] Error 1
make[1]: *** [CMakeFiles/rviz_plugin_tutorials.dir/all] Error 2
make: *** [all] Error 2
<== Failed to process package 'rviz_plugin_tutorials': 
  Command '/Users/chienyuwu/install_isolated/env.sh make -j4 -l4' returned non-zero exit status 2

@prateek-iiitd
Copy link

I ran into the same issue as @chien800614. I was able to fix the errors while building the rviz package, by cloning the indigo-devel version and placing it in the src directory.

However, the BOOST_JOIN parse error now shows up for the rviz_plugin_tutorial package.

make -j4 -l4 in '/Users/Prateek/Dev/ros_catkin_ws/build_isolated/rviz_plugin_tutorials'
[  7%] [ 15%] [ 23%] [ 30%] Generating src/moc_imu_display.cxx
Generating src/moc_plant_flag_tool.cxx
Generating src/moc_teleop_panel.cxx
Generating src/moc_drive_widget.cxx
usr/local/Cellar/boost/1.57.0/include/boost/type_traits/detail/has_binary_operator.hp:50: Parse error at "BOOST_JOIN"
make[2]: *** [src/moc_imu_display.cxx] Error 1
make[1]: *** [CMakeFiles/rviz_plugin_tutorials.dir/all] Error 2
make: *** [all] Error 2
<== Failed to process package 'rviz_plugin_tutorials': 
  Command '/Users/Prateek/Dev/ros_catkin_ws/install_isolated/env.sh make -j4 -l4' returned non-zero exit status 2

@garaemon
Copy link
Contributor

I think ros-visualization/visualization_tutorials#22 this PR solves the issue of rviz_plugin_tutorial

@prateek-iiitd
Copy link

That fixed the issue.
Thanks @garaemon

@wjwwood
Copy link
Member

wjwwood commented Jan 26, 2015

Yeah, thanks @garaemon. I wasn't watching that repository for some reason, I am now though. I merged your pull request I still need to do a release of rviz and visualization_tutorials's repository.

@garaemon
Copy link
Contributor

thanks!

@chien800614
Copy link

Thank you so much!

@chien800614
Copy link

Application Specific Information:
terminating with uncaught exception of type Ogre::InternalErrorException: OGRE EXCEPTION(7:InternalErrorException): Cannot find serializer implementation for current version [MeshSerializer_v1.8] in MeshSerializer::importMesh at /tmp/ogre-hj9rIA/ogre_src_v1-7-4/OgreMain/src/OgreMeshSerializer.cpp (line 118)
abort() called

...

@wjwwood
Copy link
Member

wjwwood commented Jan 27, 2015

I updated your comment to contain the relevant error, which is at the top: Cannot find serializer implementation for current version [MeshSerializer_v1.8] in MeshSerializer::importMesh.

If I search for that along with the term rviz, I get this as the first result:

http://answers.ros.org/question/186635/rviz-crashes-on-indigo-osx-due-to-serializer-implementation/

Please try to search for solutions to problems before asking new questions. Also if you have a new question don't tack it on to the end of a closed comment, but instead open a new question. Also these types of question are probably best filed on answers.ros.org first then escalated to this issue tracker if it turns out to actually be a bug.

@mikepurvis
Copy link
Member

It would be great to get d77a262 cherry-picked onto the hydro-devel branch, for those of us sticking with Hydro's rviz on Indigo/Jade/Yosemite. Between Gazebo and rviz, anything other than Ogre 1.7.4 seems to just be a huge bag of hurt.

@wjwwood
Copy link
Member

wjwwood commented Jun 19, 2015

@mikepurvis Another work around is to use the newer version of rviz, but use the mesh files from hydro. That should work with Ogre 1.7.4.

@lucbettaieb
Copy link

Currently trying to build indigo on 10.10.3 and am running into this error.

make: *** [all] Error 2
make: INTERNAL: Exiting with 9 jobserver tokens available; should be 8!
<== Failed to process package 'rviz':
  Command '['/Users/luc/indigo/install_isolated/env.sh', 'make', '-j8', '-l8']' returned non-zero exit status 2

Reproduce this error by running:
==> cd /Users/luc/indigo/build_isolated/rviz && /Users/luc/indigo/install_isolated/env.sh make -j8 -l8

I got this after replacing the src/rviz folder with a clone of the current indigo-devel branch.

Am I doing something wrong?

@wjwwood
Copy link
Member

wjwwood commented Aug 5, 2015

@lucbettaieb That doesn't contain the actual error.

@mikepurvis
Copy link
Member

@wjwwood Yes, thanks for the pointer on that— it is indeed what I'm doing here:

https://github.com/mikepurvis/ros-install-osx/blob/master/install#L125

@lucbettaieb
Copy link

@wjwwood All I'm seeing in my terminal aside from that is a bunch of repeated warnings:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ext/hash_set:205:5: warning: Use of the header <ext/hash_set> is
      deprecated. Migrate to <unordered_set> [-W#warnings]
#   warning Use of the header <ext/hash_set> is deprecated.  Migrate to <unordered_set>2
 warnings generated.

@wjwwood
Copy link
Member

wjwwood commented Aug 5, 2015

@lucbettaieb please post all of the output in a gist.github.com.

@lucbettaieb
Copy link

@wjwwood
Copy link
Member

wjwwood commented Aug 5, 2015

@lucbettaieb That's still not all of the output I think and if it is, I can't diagnose the issue based on that. You should include everything including the line you ran on the console to generate that output (e.g. caktin_make ... or whatever).

@lucbettaieb
Copy link

@wjwwood I'll run the command again and pipe the output to a txt file. My terminal truncated the output.

@lucbettaieb
Copy link

@wjwwood
Copy link
Member

wjwwood commented Aug 5, 2015

@lucbettaieb This is the error from your terminal output:

./sipAPIlibrviz_sip.h:13:10: fatal error: 'QMetaType' file not found
#include <QMetaType>
         ^
1 error generated.

You're probably running into this: http://answers.ros.org/question/211546/fatal-error-qmetatype-file-not-found-when-building-ros-indigo-on-os-x-10103/

@lucbettaieb
Copy link

Ah, yes- I thought I had fixed that but as it turns out I neglected to edit the second makefile associated with rviz. Thanks a lot!

130s pushed a commit to 130s/rviz that referenced this issue Aug 21, 2024
* Disable a warning when including Eigen.

As mentioned in the comment here, this is an issue in upstream
Eigen (and in the version shipped in Ubuntu 22.04), so just
disable the warning for now.

Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants