-
-
Save jmtatsch/3aa268d41ae40c89b35a to your computer and use it in GitHub Desktop.
# NOTE: These instructions do not represent a robust, self-troubleshooting install; they | |
# are definitely not suitable for dumping to a giant script and running as one. If you | |
# use them, they should be run one at a time, with an eye out for errors or problems | |
# along the way. | |
# | |
# The #1 issue you are likely to encounter is with Homebrew or Python packages whose | |
# binary components link against system Python. This will result in runtime segfaults, | |
# especially in rviz. If you suspect this is occurring, you can attempt to remove and | |
# reinstall the offending packages, or go for the nuclear option--- empty your Cellar | |
# and site-packages folders and start over with brewed python from the beginning. | |
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
# If a cleanup is necessary, proceed with extreme caution!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
# Remove old ROS installations, don't do this tutorial if you have several versions of ros installed | |
sudo rm -rf /opt/ros | |
rm -rf ~/ros_catkin_ws | |
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list | |
# Clean up all python packages | |
sudo rm -rf /Library/Python/2.7/site-packages | |
# Uninstall homebrew, warning this will cause trouble for anything linked against older hombrewed libraries | |
brew install wget | |
wget https://gist.githubusercontent.com/mxcl/1173223/raw/a833ba44e7be8428d877e58640720ff43c59dbad/uninstall_homebrew.sh | |
bash uninstall_homebrew.sh && rm uninstall_homebrew.sh | |
rm -rf /usr/local/Cellar /usr/local/.git | |
rm -rf /usr/local/Library/Taps | |
# Comment everything related to ROS in your .bashrc/.zshrc | |
nano .zshrc | |
# Now we are ready to start fresh. | |
# If you haven't already, install XQuartz using the installer from its own website: | |
# https://xquartz.macosforge.org | |
# Install Homebrew | |
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" | |
brew doctor | |
# Install zshell, if you want to use bash instead, you should change the sourced files from .zsh to .bash | |
brew install zsh | |
echo export PATH='/usr/local/bin:$PATH' >> ~/.zshrc | |
source .zshrc | |
# Install brewed python | |
brew install python | |
mkdir -p ~/Library/Python/2.7/lib/python/site-packages | |
echo "$(brew --prefix)/lib/python2.7/site-packages" >> ~/Library/Python/2.7/lib/python/site-packages/homebrew.pth | |
# Homebrew taps for prerequisites | |
brew tap ros/deps | |
brew tap osrf/simulation | |
brew tap homebrew/versions | |
brew tap homebrew/science | |
brew tap homebrew/dupes | |
brew tap dartsim/dart | |
# Prerequisites | |
brew install cmake libyaml lz4 theora | |
brew install boost --with-python --c++11 | |
brew install opencv --with-qt --with-eigen --with-tbb | |
brew install homebrew/science/pcl --HEAD --without-apps --without-qt #https://github.com/Homebrew/homebrew-science/issues/2593 | |
#brew install opencv3 --with-qt --with-eigen --with-tbb | |
brew install fltk --devel | |
# Install the ROS infrastructure tools, you may have to run this several times until all python deps are properly installed | |
sudo -H pip install -U setuptools rosdep rosinstall_generator wstool rosinstall catkin_tools catkin_pkg bloom empy sphinx | |
# Download ROS sources | |
mkdir ros_catkin_ws && cd ros_catkin_ws | |
rosinstall_generator desktop_full --rosdistro jade --deps --tar > jade.rosinstall | |
wstool init -j8 src jade.rosinstall | |
# Install the necessary ROS dependencies | |
sudo rosdep init | |
rosdep update | |
rosdep install --from-paths src --ignore-src --rosdistro jade -y | |
# fix pcl_ros according to https://github.com/ros-perception/perception_pcl/issues/106#issuecomment-134948296 | |
if [ -d src/perception_pcl/pcl_ros ]; then | |
sed -i -e 's/find_package(Eigen3 REQUIRED)/find_package(PkgConfig)\ | |
pkg_search_module(Eigen3 REQUIRED eigen3)/g' src/perception_pcl/pcl_ros/CMakeLists.txt | |
fi | |
# fix Ogre 1.74 according to mike | |
# Grabbing these older meshes allows rviz to run with Ogre 1.7 rather than Ogre 1.8+. Although formulae and patches | |
# exist to build Ogre 1.9, rviz, and Gazebo together, I have found this approach to be the most solid and consistent. | |
if [ -d src/rviz ]; then | |
pushd src/rviz/ogre_media/models | |
curl https://raw.githubusercontent.com/ros-visualization/rviz/hydro-devel/ogre_media/models/rviz_cone.mesh > rviz_cone.mesh | |
curl https://raw.githubusercontent.com/ros-visualization/rviz/hydro-devel/ogre_media/models/rviz_cube.mesh > rviz_cube.mesh | |
curl https://raw.githubusercontent.com/ros-visualization/rviz/hydro-devel/ogre_media/models/rviz_cylinder.mesh > rviz_cylinder.mesh | |
curl https://raw.githubusercontent.com/ros-visualization/rviz/hydro-devel/ogre_media/models/rviz_sphere.mesh > rviz_sphere.mesh | |
popd | |
fi | |
# Build in parallel with catkin ~40 min on my computer, make sure the python version matches | |
sudo mkdir -p /opt/ros/jade | |
sudo chown $USER /opt/ros/jade | |
catkin config --install --install-space /opt/ros/jade | |
catkin build \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DPYTHON_LIBRARY=/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib \ | |
-DPYTHON_INCLUDE_DIR=/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/include/python2.7 | |
# to work around the dyld issue https://github.com/mikepurvis/ros-install-osx/issues/12#issuecomment-149336634 | |
# well this patch doesnt work yet but you get the idea | |
sed -i 's/#!/usr/bin/env bash/export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/opt/ros/jade/lib/g' /opt/ros/jade/bin/rosrun | |
# Source the build ROS, prepare the workspace and from then on only source this one | |
source /opt/ros/jade/setup.zsh | |
cd ~/ros_catkin_ws | |
mv src src_isolated | |
mv devel devel_isolated | |
mv build build_isolated | |
mkdir src | |
catkin_make | |
echo 'source ~/ros_catkin_ws/devel/setup.zsh' >> ~/.zshrc |
Just built again from source again, pretty much works as expected :)
Hello there! I have some issue with -ltbb. Can someone help with this?
Starting ==> polled_camera
Finished <== polled_camera [ 11.1 seconds ]
Starting ==> compressed_depth_image_transport
[compressed_depth_image_transport] ==> '/Users/Alexander/ros_catkin_ws/build/compressed_depth_image_transport/build_env.sh /usr/bin/make --jobserver-fds=3,4 -j' in '/Users/Alexander/ros_catkin_ws/build/compressed_depth_image_transport'
Scanning dependencies of target compressed_depth_image_transport_gencfg
[ 16%] Generating dynamic reconfigure files from cfg/CompressedDepthPublisher.cfg: /Users/Alexander/ros_catkin_ws/devel/include/compressed_depth_image_transport/CompressedDepthPublisherConfig.h /Users/Alexander/ros_catkin_ws/devel/lib/python2.7/site-packages/compressed_depth_image_transport/cfg/CompressedDepthPublisherConfig.py
Generating reconfiguration files for CompressedDepthPublisher in compressed_depth_image_transport
Wrote header file in /Users/Alexander/ros_catkin_ws/devel/include/compressed_depth_image_transport/CompressedDepthPublisherConfig.h
[ 16%] Built target compressed_depth_image_transport_gencfg
Scanning dependencies of target compressed_depth_image_transport
[ 33%] Building CXX object CMakeFiles/compressed_depth_image_transport.dir/src/compressed_depth_publisher.cpp.o
[ 50%] Building CXX object CMakeFiles/compressed_depth_image_transport.dir/src/compressed_depth_subscriber.cpp.o
[ 66%] Building CXX object CMakeFiles/compressed_depth_image_transport.dir/src/codec.cpp.o
[ 83%] Building CXX object CMakeFiles/compressed_depth_image_transport.dir/src/manifest.cpp.o
/Users/Alexander/ros_catkin_ws/src/image_transport_plugins/compressed_depth_image_transport/src/codec.cpp:333:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
1 warning generated.
[100%] Linking CXX shared library /Users/Alexander/ros_catkin_ws/devel/lib/libcompressed_depth_image_transport.dylib
ld: library not found for -ltbb
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [/Users/Alexander/ros_catkin_ws/devel/lib/libcompressed_depth_image_transport.dylib] Error 1
make[1]: *** [CMakeFiles/compressed_depth_image_transport.dir/all] Error 2
make: *** [all] Error 2
[compressed_depth_image_transport] <== '/Users/Alexander/ros_catkin_ws/build/compressed_depth_image_transport/build_env.sh /usr/bin/make --jobserver-fds=3,4 -j' failed with return code '2'
Failed <== compressed_depth_image_transport [ 11.7 seconds ]
Finished <== pluginlib_tutorials [ 3 minutes and 26.2 seconds ]
[build] There were '1' errors:
Failed to build package 'compressed_depth_image_transport' because the following command:
# Command to reproduce:
cd /Users/Alexander/ros_catkin_ws/build/compressed_depth_image_transport && /Users/Alexander/ros_catkin_ws/build/compressed_depth_image_transport/build_env.sh /usr/bin/make --jobserver-fds=3,4 -j; cd -
# Path to log:
cat /Users/Alexander/ros_catkin_ws/build/build_logs/compressed_depth_image_transport.log
Exited with return code: 2
[build] Runtime: 29 minutes and 13.7 seconds
When I run the line:
brew install boost --with-python --c++11
I get this:
==> Downloading https://downloads.sourceforge.net/project/boost/boost/1.60.0/boost_1_60_0.tar.bz2
==> Downloading from http://netcologne.dl.sourceforge.net/project/boost/boost/1.60.0/boost_1_60_0.tar.bz2
################################################################## 100.0%
==> Patching
patching file boost/graph/adjacency_matrix.hpp
==> ./bootstrap.sh --prefix=/usr/local/Cellar/boost/1.60.0_1 --libdir=/usr/local/Cellar/boost/1.60.0_1/lib --witho
==> ./b2 headers
==> ./b2 --prefix=/usr/local/Cellar/boost/1.60.0_1 --libdir=/usr/local/Cellar/boost/1.60.0_1/lib -d2 -j4 --layout=
Then it just stops. My terminal stops doing anything. I have to ctrl-C out of it. What's going on? How do I fix this?
@Forest-Dewberry I had the same issue. It built fine if drop the --c++11 flag, ie brew install boost
after running catkin_make
, I get a error about not finding nosetests:
CMake Warning at /opt/ros/jade/share/catkin/cmake/test/nosetests.cmake:98 (message): nosetests not found, Python tests can not be run (try installing package 'python-nose') Call Stack (most recent call first): /opt/ros/jade/share/catkin/cmake/all.cmake:147 (include) /opt/ros/jade/share/catkin/cmake/catkinConfig.cmake:20 (include) CMakeLists.txt:52 (find_package)
I found that nosetests is in /usr/local/Cellar/numpy/1.11.0/libexec/nose/bin/
. Should it be linked somewhere else?
@fangbq if you are from China you need a VPN as some download sources are GFW'ed.
I failed to install some of the pack in it .I could not use it completely.so I want to uninstall it .but how to uninstall fully
@ramamoorthyluxman an easy to fix the sha256 not match error, you should not download the cminpack-1.3.4.tar.gz through browser, you chould get it by thunder or download it from here and change the file name to cminpack-1.3.4.tar.gz. the SHA256 matched, take a look at this page.
And then follow the remaining steps, it worked for me.
A small note to the previous comment:
You may just delete
ros_catkin_ws/build
directory and start catkin build right away.So the commands to fix this issue will be:
and