ros-install-osx
ros-install-osx copied to clipboard
ROS melodic updates
This current version requires intervention for force linking pyyaml. No intervention needed on catkin build.
Looks fantastic, thank you very much for getting this all into one place!
works for me, but I have deleted line
echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile
because it would completely disable my handcrafted .profile.
also my version has two extra options at the end of this line:
rosdep install --from-paths . --ignore-src --rosdistro ${ROS_DISTRO} -y --as-root pip:no --skip-keys google-mock --skip-keys gtest
You shouldn’t need to skip those keys, the changes on rosdeps.yaml
should
take care of that.
also, I would recommend moving your personal changes on .profile
back into .bash_profile
DRAFT WALKTHROUGH:
- Start with uninstalling your homebrew:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
- Remove everything inside /usr/local with sudo privileges:
sudo rm -rf /usr/local/*
- Remove the following lines from your
~/.bash_profile
export PATH=/usr/local/bin:$PATH
source /opt/ros/melodic/setup.bash # or any previous distribution
- close the terminal and open a new one
- go to the repository and run
./install
- during
rosdep
installationsyaml-cpp
fails to link. Run:
brew link --overwrite yaml-cpp
and then run ./install
again
Unfortunately there is a quite recently emerged problem: https://github.com/ros-infrastructure/catkin_pkg/issues/234 I will have a commit with a temporary fix while this issue is resolved.
Hi @berkaydeniz, I'm trying to use your script on a fresh installation of OS X High Sierra.
First I had this error: Collecting pycurl
sudo pip uninstall pycurl
export PYCURL_SSL_LIBRARY=openssl
export LDFLAGS=-L/usr/local/opt/openssl/lib;export CPPFLAGS=-I/usr/local/opt/openssl/include;pip install pycurl --compile --no-cache-dir
Then I run again your script but I have the next error:
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
rosbag: No definition of [python-gnupg] for OS [osx]
gazebo_dev: No definition of [libgazebo9-dev] for OS [osx]
rosbag_storage: No definition of [libgpgme-dev] for OS [osx]
But I don't know how to solve it.
Thank you, Jorge
I ran through this this weekend and a few comments which might help someone: Before installing pycurl I did this:
brew install openssl
export PYCURL_SSL_LIBRARY=openssl
I also had to manually link the openssl headers for cmake to find them during the build.
$ cd /usr/local/include
$ ln -s ../opt/openssl/include/openssl .
I had an issue with yaml-cpp and gtest conflicts. yaml-cpp tried installing its own version of gtest.
I had to modify the yaml-cpp homebrew formula:
option "without-tests", "Do not include gtest"
...
if build.without? "tests"
args << "-DYAML_CPP_BUILD_TESTS=OFF"
end
and build from source:
brew install --build-from-source yaml-cpp --without-tests
Hi @kdorsel, didn't you have any problem with:
rosbag: No definition of [python-gnupg] for OS [osx]
gazebo_dev: No definition of [libgazebo9-dev] for OS [osx]
rosbag_storage: No definition of [libgpgme-dev] for OS [osx]
I try to install again today, and still getting stuck here.
Also, if I try to install manually python-gnupg, it says that I have it already install it.
Jorges-MacBook-Pro:ros-install-osx jorge$ pip install python-gnupg
Requirement already satisfied: python-gnupg in /usr/local/lib/python2.7/site-packages (0.4.3)
Finally, I tried to install python-gnupg, but still having the same error.
@grafoteka No, I did not have any of those issues. I had other smaller errors of brew/pip conflicting and not linking, but that's a quick fix.
Do you have the following packages installed in brew? gnupg, gazebo9, gpgme
@grafoteka No, I did not have any of those issues. I had other smaller errors of brew/pip conflicting and not linking, but that's a quick fix.
Do you have the following packages installed in brew? gnupg, gazebo9, gpgme
@kdorsel, yes I have installed those packages
I don't know where is the problem...
Can you maybe make a gist of the all the terminal output when running this scrript?
@kdorsel, here is the terminal output
Also, I don't know if I should have a problem with CMake, I have this warnings when installing Gazebo and gnupg:
==> Caveats
==> gettext
gettext is keg-only, which means it was not symlinked into /usr/local,
because macOS provides the BSD gettext library & some software gets confused if both are in the library path.
If you need to have gettext first in your PATH run:
echo 'export PATH="/usr/local/opt/gettext/bin:$PATH"' >> ~/.bash_profile
For compilers to find gettext you may need to set:
export LDFLAGS="-L/usr/local/opt/gettext/lib"
export CPPFLAGS="-I/usr/local/opt/gettext/include"
==> Pouring hdf5-1.10.3.high_sierra.bottle.tar.gz
Warning: hdf5 dependency gcc was built with a different C++ standard
library (libstdc++ from clang). This may cause problems at runtime.
🍺 /usr/local/Cellar/hdf5/1.10.3: 262 files, 15MB
==> Pouring flann-1.9.1_5.high_sierra.bottle.tar.gz
Warning: flann dependency gcc was built with a different C++ standard
library (libstdc++ from clang). This may cause problems at runtime.
🍺 /usr/local/Cellar/flann/1.9.1_5: 64 files, 11.5MB
==> Pouring icu4c-62.1.high_sierra.bottle.tar.gz
==> Caveats
icu4c is keg-only, which means it was not symlinked into /usr/local,
because macOS provides libicucore.dylib (but nothing else).
If you need to have icu4c first in your PATH run:
echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/icu4c/sbin:$PATH"' >> ~/.bash_profile
For compilers to find icu4c you may need to set:
export LDFLAGS="-L/usr/local/opt/icu4c/lib"
export CPPFLAGS="-I/usr/local/opt/icu4c/include"
For pkg-config to find icu4c you may need to set:
export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig"
==> Pouring dartsim-6.6.1_2.high_sierra.bottle.tar.gz
Warning: dartsim dependency gcc was built with a different C++ standard
library (libstdc++ from clang). This may cause problems at runtime.
🍺 /usr/local/Cellar/dartsim/6.6.1_2: 1,368 files, 46.1MB
==> Pouring gazebo9-9.4.1.high_sierra.bottle.tar.gz
Warning: osrf/simulation/gazebo9 dependency gcc was built with a different C++ standard
library (libstdc++ from clang). This may cause problems at runtime.
🍺 /usr/local/Cellar/gazebo9/9.4.1: 1,238 files, 125.8MB