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

[meta] OS X support in indigo #4597

Closed
7 of 8 tasks
NikolausDemmel opened this issue Jun 2, 2014 · 34 comments
Closed
7 of 8 tasks

[meta] OS X support in indigo #4597

NikolausDemmel opened this issue Jun 2, 2014 · 34 comments

Comments

@NikolausDemmel
Copy link
Contributor

This is a meta issue to track all the issues around OS X support in indigo (see #4663 for hydro issues).

For now the following issues need to be fixed for desktop_full to build from source on OS X:

The following is a collection of workarounds on top of the install instructions needed to address the above issues (applies to desktop_full builds):


Currently no workarounds


These are install instructions put together by @mikepurvis:

https://gist.github.com/mikepurvis/9837958

Read carefully and understand what is going on rather than just blindly copy/pasting commands. These instructions deal with the cmake FindPythonLibs issue by specifying the lib/include path when compiling (rather than using the patched cmake formula) and installs the hydro version of rviz.

@pgorczak has modified @mikepurvis's install instructions to use system python instead of brewed python:

https://gist.github.com/pgorczak/66f99462bf251afbd2bc

@wjwwood
Copy link
Member

wjwwood commented Jun 2, 2014

Thanks for tracking and working on this @NikolausDemmel.

@dirk-thomas
Copy link
Member

Released rqt_robot_plugins: #4606.

@NikolausDemmel
Copy link
Contributor Author

The gcc issue has been resolved (ros-infrastructure/rosdep#328)

@NikolausDemmel
Copy link
Contributor Author

Just tried the beta 2 the orocos related changes seem to still be the only patches needed to make desktop_full compile (though the theora_image_transport is also still present).

@jmtatsch
Copy link
Contributor

Now in the proper thread

Did you use rosdep to install dependencies? It should have installed console_bridge and urdfdom. If >you didn't use rosdep, could you please uninstall those packages and verify that rosdep does install >them. If it doesn't we should investigate. Thanks.
I am pretty sure I ran rosdep to install those dependencies....
also after removing the console_bridge, rosdep is still happy ...
~/catkin_ws » rosdep install --from-paths src --ignore-src --rosdistro indigo -y
#All required rosdeps installed successfully

@NikolausDemmel
Copy link
Contributor Author

Have you recently called rosdep update?

If that doesn't help, could you please verify that console_bridge is not a package in your src directory / .rosinstall file. It shouldn't be as of recently.

@jmtatsch
Copy link
Contributor

Oops, my rosdeps must have been outdated then, it works now...

@wjwwood
Copy link
Member

wjwwood commented Jul 24, 2014

Fix for robot_model: #5106

@wjwwood
Copy link
Member

wjwwood commented Jul 24, 2014

Fix for robot_state_publisher: #5108

@NikolausDemmel
Copy link
Contributor Author

Great stuff. Now building desktop_full on 10.9 works without patches. Runtime issue for rqt related stuff and rviz remain. And of course the install/setup issues with python/cmake/homebrew

@mikepurvis
Copy link
Member

I'm dealing with the brewed python issue by just passing absolute paths to the find module. These are my installation notes: https://gist.github.com/mikepurvis/9837958

The ogre/rviz issue is extremely frustrating. Am I correct in my understanding that there is no way to have working rviz under Mac Indigo at present? I'm unable to build it at all against 1.9, and 1.7 crashes on startup with the MeshSerializer error.

@wjwwood
Copy link
Member

wjwwood commented Aug 7, 2014

@mikepurvis you can checkout the hydro version of the meshes and get past the crash with 1.7. You would need to "revert" this folder in your indigo source code:

https://github.com/ros-visualization/rviz/tree/indigo-devel/ogre_media/models

Reverting this commit:

ros-visualization/rviz@1aad3d8

@wjwwood
Copy link
Member

wjwwood commented Aug 7, 2014

Also I just fixed a bug with rviz so now I think we should be able to do rviz + ogre1.9 for indigo.

@mikepurvis
Copy link
Member

If the rviz fix is imminent, I'll wait for that. Is it on a branch somewhere?

@wjwwood
Copy link
Member

wjwwood commented Aug 7, 2014

No I'm still cleaning it up.

@wjwwood
Copy link
Member

wjwwood commented Aug 7, 2014

So I definitely fixed an issue, but now a different segfault has come up... as;ldkfjas;lkdfjals;kdfjla;skjdf

I would recommend the revert of the mesh updates and use 1.7 for now I think that works.

@mikepurvis
Copy link
Member

Does it make sense to revert that one change vs. just using the hydro tarball?

@wjwwood
Copy link
Member

wjwwood commented Aug 7, 2014

There are changes with indigo that aren't in hydro, but you likely wont need them, using the hydro version might be an option, though I can't remember if there are any non-backwards compatible changes in other indigo packages which rviz indigo addresses over rviz hydro.

@mikepurvis
Copy link
Member

Okay, that worked great. For now I've updated my gist with the instructions to grab Hydro's rviz release.

Thanks for the hard work you put into keeping this stuff working— it's a thankless job tracking dependencies and debugging other people's breakages.

@jmtatsch
Copy link
Contributor

jmtatsch commented Nov 3, 2014

Rosdep misses libvtk-java on osx yosemite. This breaks the full indigo installation right now.

rosdep install --from-paths src --ignore-src --rosdistro indigo -y
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
pcl_ros: No definition of [libvtk-java] for OS [osx]

@JeremyCade
Copy link
Contributor

Second to @jmtatsch.
pcl_ros: No definition of [libvtk-java] for OS [osx] on Yosemite makes it all that more difficult to have a working install on OS X where simulation packages are needed (e.g. Gazebo).

Any ETA on having this fixed, or any points as to where I can find the source of the packages so that I can fix it.

@pgorczak
Copy link
Contributor

Ran into a rosdep issue:
No definition of [python-lxml]

A background-fix with pip install lxml makes the package (urdfdom_py) work for me on Yosemite.
I tried to do the corresponding pull request #6344 and hope it's in the right place.

@davetcoleman
Copy link
Contributor

I'm not sure where the best place to report this is, or where to ask for help. On a completely new install of Yosemite (hard drive wipe) just now I had to do the following for Indigo Desktop:

I had to manually install pydot with the -H flag:

$ sudo -H pip install -U pydot

After rosdep install completed, I still had to run

$ pip install empy
$ brew install poco pyqt lz4 boost-python assimp
$ brew install https://raw.githubusercontent.com/hgaiser/homebrew-simulation/master/ogre1.9.rb

Changed branch of rviz to https://github.com/ros-visualization/rviz/tree/osx_ogre_1_9


Current Issues

I get this warning message when running catkin_make_isolated:

CMake Warning at cmake/test/nosetests.cmake:97 (message):
  nosetests not found, Python tests can not be run (try installing package
  'python-nose')
Call Stack (most recent call first):
  cmake/all.cmake:146 (include)
  CMakeLists.txt:8 (include)

But I cannot resolve that dependency:

$ pip install python-nose
Collecting python-nose
  Could not find any downloads that satisfy the requirement python-nose
  No distributions at all found for python-nose

I also get this warning many times:

-- catkin 0.6.11
CMake Warning (dev) at /Volumes/Dave/ros/ws_ros/install_isolated/share/geometry_msgs/cmake/geometry_msgsConfig.cmake:94 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.
  Quoted variables like "include" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.

Rviz does not build with error (similar to ros-visualization/rviz#782):

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
OGRE_OV_RVIZ_LIB_OgreMain
    linked by target "executable" in directory /Volumes/Dave/ros/ws_ros/src/rviz/src/rviz
    linked by target "rviz" in directory /Volumes/Dave/ros/ws_ros/src/rviz/src/rviz
    linked by target "default_plugin" in directory /Volumes/Dave/ros/ws_ros/src/rviz/src/rviz/default_plugin
    linked by target "rviz_image_view" in directory /Volumes/Dave/ros/ws_ros/src/rviz/src/image_view
OGRE_OV_RVIZ_LIB_OgreOverlay
    linked by target "executable" in directory /Volumes/Dave/ros/ws_ros/src/rviz/src/rviz
    linked by target "rviz" in directory /Volumes/Dave/ros/ws_ros/src/rviz/src/rviz
    linked by target "default_plugin" in directory /Volumes/Dave/ros/ws_ros/src/rviz/src/rviz/default_plugin
    linked by target "rviz_image_view" in directory /Volumes/Dave/ros/ws_ros/src/rviz/src/image_view

@wjwwood
Copy link
Member

wjwwood commented Jan 30, 2015

@davetcoleman please don't use the quote mechanism to put in code snippets or console output. I've updated your comment.

I'm not sure where the best place to report this is, or where to ask for help.

I would have recommended starting on answers.ros.org, because some of these things may not be bugs.

I had to manually install pydot with the -H flag:
...

The sudo -H problem as been addressed and is in the latest version of rosdep, which is 0.11.1:

ros-infrastructure/rosdep#369

For some reason I don't get that version when I install rosdep myself, though it is listed as the latest version on pypi:

https://pypi.python.org/pypi/rosdep

@tfoote is looking into it.

After rosdep install completed, I still had to run:
...

If rosdep ran successfully you should not have had to do all of that. That's the purpose of the rosdep install ... step from the instructions. I would need to know what exact steps you took to know why it didn't work for you. Simply stating something didn't happen isn't enough information to help. Please consider what you're asking before you post to ensure that you've included enough information for someone to help you.

But I cannot resolve that [python-nose] dependency:
...

@davetcoleman, really? It just has a different name in pip. One small investigation into the problem, e.g. pip search nose or rosdep resolve python-nose or Google'ing "install python-nose on os x", would have revealed the problem. And anyways most users wouldn't have run into the problem normally since rosdep should have installed it for them before they tried to build anything.

I also get this warning many times:
...

This is because Hoembrew installs a really new version of CMake. I haven't had time to make an issue about it nor have I had time to investigate it. However, as far as I can tell it doesn't affect your ability to build the packages on OS X.

Rviz does not build with error (similar to ros-visualization/rviz#782):
...

The original post is already tracking this I think:

rviz does not run with ogre 1.7 and crashes with 1.9: ros-visualization/rviz#782

@wjwwood
Copy link
Member

wjwwood commented Jan 30, 2015

For some reason I don't get that version when I install rosdep myself, though it is listed as the latest version on pypi:

https://pypi.python.org/pypi/rosdep

@tfoote is looking into it.

This has already been resolved, running sudo -H pip install -U rosdep should get you the latest version.

@wjwwood
Copy link
Member

wjwwood commented Jan 30, 2015

Also, for others who come later:

I had to manually install pydot with the -H flag:

Passing -H to sudo is not required to install pydot (or anything with pip install), it's just that the latest version of pip warns if you do not use -H because it cannot store logs correctly. pydot should have been installed regardless.

@davetcoleman
Copy link
Contributor

Sorry, my explanations were brief because I have a clean install of Yosemite (wiped hard drive) and so the background info is pretty simple. Everything is the latest. I ran rosdep and it did not report any errors. I was trying to help by providing some simple feedback - I could also just not report my fixes and keep them to myself.

Also, I did Google something to the effect of "install python-nose on os x" and I did run other methods for install nose. I can't remember why they didn't work and I'm not at the Mac at the moment.

@wjwwood
Copy link
Member

wjwwood commented Jan 30, 2015

I could also just not report my fixes and keep them to myself.

@davetcoleman I'm sorry if you feel I've offended you in some way, that was not my intention, but if you're serious about that comment then I don't think keeping to yourself helps anyone.

I'm not sure what you want me to say. Neither of your follow up comments give anything more to go on. All I can do is push you for more information, like:

  • What commands did you run?
  • Did you have all of your sources you wanted to build checked out before running rosdep?
  • Where did you run rosdep, was it in the same folder as the src folder which contained the packages' source code?
  • Can you go back and run rosdep again but with the -s option and post the result?
  • What did you try when installing python-nose on OS X? Why didn't work?

I'd like to help you and improve the workflow for others but without answers to questions like these I can't.

I know you're smart and capable, I just wish you would take the time required to formulate better feedback. Because the reality is that if you don't do it, then you're forcing me to make a decision to either ignore the feedback or risk a large amount of my own time trying to reproduce something you've reported based on vague feedback. And I, just like you and everyone else, have lots of things to do and not enough time to do them.

If you're displeased with me for asking you to do give better feedback, I won't apologize for that, because I know you're capable of it. An ounce of thoughtful feedback is worth a mountain of unsubstantiated feedback.

@davetcoleman
Copy link
Contributor

I'm afraid we've had some miscommunications - I didn't mean to hijack this thread or get into an argument and again I apologize. I should have prefaced my issues with "These are just some notes I jotted down why reading through a bunch of different Github issues, ROS answers, and many Google Searches." I don't develop on Mac - I'm just trying to help a lab mate whose software is Mac-only that needs to communicate with mine. I don't understand pip, or python dependencies. I was hoping like others before me in this thread I could weight in on my current experience following the all the provided resources I could find.

When I made the silly remark "I could also just not report my fixes and keep them to myself." it was because I was a little offended when you corrected me 3 times in my original post. In my mind I was just trying to help, this isn't high priority to me, and I know this current Github issue is posted as "meta" and not the best place for tons of details. I'd be happy to open separate issues for the things I mentioned, I just couldn't figure out where to do so, as I explained in the first sentence of my issue. I understand that you were doing your best to address my issues, and your help so far has been thorough.

I haven't been back on my Mac yet so have no extra details to provide.

@pgorczak
Copy link
Contributor

pgorczak commented Feb 6, 2015

Just adding another data point here. I built indigo successfully on Yosemite using system Python and hydro rviz. I forked @mikepurvis installation notes to document my build process (tl;dr I wrote a shell script that installs brew dependencies against system Python and I had to patch rviz headers that get processed by the Qt MOC).

@crazyorc
Copy link
Contributor

The latest robot_model (1.11.7) has an unresolved dependency on 'pcre-dev' (was pcrecpp). I've added a mapping for that key into osx-homebrew and created a pull request for it.

@tfoote
Copy link
Member

tfoote commented Jan 24, 2018

In light of the qt4 qt5 hard transition on osx are we still expecting qt based things to work on osx from indigo? http://wiki.ros.org/indigo/Installation/OSX/Homebrew/Source if not we can probably close this ticket.

@mikepurvis
Copy link
Member

Indigo is dead to me on OS X— Homebrew isn't supporting QT4, so it's basically a non-starter.

Lunar + QT5 works fine though: https://github.com/mikepurvis/ros-install-osx

@tfoote
Copy link
Member

tfoote commented Jan 24, 2018

Ok, since the remaining todo on this is rviz on indigo for osx, I'm going to close this.

@tfoote tfoote closed this as completed Jan 24, 2018
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

10 participants