ros-install-osx icon indicating copy to clipboard operation
ros-install-osx copied to clipboard

ROS melodic updates

Open berkaydeniz opened this issue 6 years ago • 13 comments

This current version requires intervention for force linking pyyaml. No intervention needed on catkin build.

berkaydeniz avatar Aug 05 '18 22:08 berkaydeniz

Looks fantastic, thank you very much for getting this all into one place!

mikepurvis avatar Aug 07 '18 13:08 mikepurvis

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

asimonov avatar Aug 08 '18 21:08 asimonov

You shouldn’t need to skip those keys, the changes on rosdeps.yaml should take care of that.

berkaydeniz avatar Aug 08 '18 21:08 berkaydeniz

also, I would recommend moving your personal changes on .profile back into .bash_profile

berkaydeniz avatar Aug 08 '18 21:08 berkaydeniz

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 installations yaml-cpp fails to link. Run:
brew link --overwrite yaml-cpp

and then run ./install again

berkaydeniz avatar Aug 09 '18 04:08 berkaydeniz

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.

berkaydeniz avatar Aug 09 '18 04:08 berkaydeniz

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

Which I solved from:

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

grafoteka avatar Oct 02 '18 03:10 grafoteka

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

kdorsel avatar Oct 08 '18 17:10 kdorsel

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.

https://github.com/vsajip/python-gnupg

grafoteka avatar Oct 08 '18 23:10 grafoteka

@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 avatar Oct 09 '18 02:10 kdorsel

@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

packages installed

I don't know where is the problem...

grafoteka avatar Oct 09 '18 02:10 grafoteka

Can you maybe make a gist of the all the terminal output when running this scrript?

kdorsel avatar Oct 09 '18 13:10 kdorsel

@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

grafoteka avatar Oct 09 '18 13:10 grafoteka