Install ROS from source Ubuntu 14.04
Hi to everyone,
I am quite new with ROS and in the community.
I am trying to install ROS Indigo from source as described here : http://wiki.ros.org/indigo/Installati...
But I arrive until the step 2.1.3 Building the catkin workspace and I am stuck with the following problem:
==> Processing catkin package: 'rospack'
==> Building with env: '/home/fschiano/ros_matlab_ws/install_isolated/env.sh'
Makefile exists, skipping explicit cmake invocation...
==> make cmake_check_build_system in '/home/fschiano/ros_matlab_ws/build_isolated/rospack'
==> make -j4 -l4 in '/home/fschiano/ros_matlab_ws/build_isolated/rospack'
[ 66%] Built target rospack
Linking CXX executable /home/fschiano/ros_matlab_ws/devel_isolated/rospack/bin/rospack
Linking CXX executable /home/fschiano/ros_matlab_ws/devel_isolated/rospack/bin/rosstack
/home/fschiano/ros_matlab_ws/devel_isolated/rospack/lib/librospack.so: undefined reference to `boost::filesystem3::detail::current_path(boost::system::error_code*)'
/home/fschiano/ros_matlab_ws/devel_isolated/rospack/lib/librospack.so: undefined reference to `boost::filesystem3::path::m_append_separator_if_needed()'
/home/fschiano/ros_matlab_ws/devel_isolated/rospack/lib/librospack.so: undefined reference to `boost::filesystem3::detail::directory_iterator_increment(boost::filesystem3::directory_iterator&, boost::system::error_code*)'
/home/fschiano/ros_matlab_ws/devel_isolated/rospack/lib/librospack.so: undefined reference to `boost::filesystem3::detail::directory_iterator_construct(boost::filesystem3::directory_iterator&, boost::filesystem3::path const&, boost::system::error_code*)'
/home/fschiano/ros_matlab_ws/devel_isolated/rospack/lib/librospack.so: undefined reference to `boost::filesystem3::detail::create_directory(boost::filesystem3::path const&, boost::system::error_code*)'
/home/fschiano/ros_matlab_ws/devel_isolated/rospack/lib/librospack.so: undefined reference to `boost::filesystem3::detail::dir_itr_close(void*&, void*&)'
/home/fschiano/ros_matlab_ws/devel_isolated/rospack/lib/librospack.so: undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
/home/fschiano/ros_matlab_ws/devel_isolated/rospack/lib/librospack.so: undefined reference to `boost::filesystem3::path::filename() const'
/home/fschiano/ros_matlab_ws/devel_isolated/rospack/lib/librospack.so: undefined reference to `boost::filesystem3::detail::status(boost::filesystem3::path const&, boost::system::error_code*)'
/home/fschiano/ros_matlab_ws/devel_isolated/rospack/lib/librospack.so: undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
/home/fschiano/ros_matlab_ws/devel_isolated/rospack/lib/librospack.so: undefined reference to `boost::filesystem3::path::parent_path() const'
/home/fschiano/ros_matlab_ws/devel_isolated/rospack/lib/librospack.so: undefined reference to `boost::filesystem3::path::m_erase_redundant_separator(unsigned long)'
collect2: error: ld returned 1 exit status
/home/fschiano/ros_matlab_ws/devel_isolated/rospack/lib/librospack.so: undefined reference to `boost::filesystem3::detail::current_path(boost::system::error_code*)'
/home/fschiano/ros_matlab_ws/devel_isolated/rospack/lib/librospack.so: undefined reference to `boost::filesystem3::path::m_append_separator_if_needed()'
/home/fschiano/ros_matlab_ws/devel_isolated/rospack/lib/librospack.so: undefined reference to `boost::filesystem3::detail::directory_iterator_increment(boost::filesystem3::directory_iterator&, boost::system::error_code*)'
/home/fschiano/ros_matlab_ws/devel_isolated/rospack/lib/librospack.so: undefined reference to `boost::filesystem3::detail::directory_iterator_construct(boost::filesystem3::directory_iterator&, boost::filesystem3::path const&, boost::system::error_code*)'
/home/fschiano/ros_matlab_ws/devel_isolated/rospack/lib/librospack.so: undefined reference to `boost::filesystem3::detail::create_directory(boost::filesystem3::path const&, boost::system::error_code*)'
/home/fschiano/ros_matlab_ws/devel_isolated/rospack/lib/librospack.so: undefined reference to `boost::filesystem3::detailmake[2]: ::dir_itr_close(void*** [/home/fschiano/ros_matlab_ws/devel_isolated/rospack/bin/rosstack] Error 1*&,
void*&)'
/home/fschiano/ros_matlab_ws/devel_isolated/rospack/lib/librospack.so: undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
/home/fschiano/ros_matlab_ws/devel_isolated/rospack/lib/librospack.so: undefined reference to `boost::filesystem3::path::filename ...
Just to get it out of the way: you're sure you need to build from source? Trusty is a supported platform, so you could just install the precompiled binaries.
problem is that MATLAB doesn't use the system distribution of boost but instead comes with its own shipped version, which can be found in, e.g.'matlabroot/bin/glnxa64/'. Since the mex files that we generate will run inside matlab it is important that they are linked against the same version ofboost
that is used in MATLAB. Moreover, since the mex files will also be linked to ROS libraries, we also need to recompile ROS and link it to the same version of boost. Finally we also need to compile everyting (boost, ros and our mex files) using a c/c++ compiler officially supported by the MATLAB
distribution that we are using.
Well in that case it looks like the Boost version Matlab shipped with does not contain the necessary symbols. Or at least the linker cannot find them.
Just in case: you know about the Mathworks ROS support?
Yeah I knew about it but I need to solve this problem because I want something different. In particular I am trying to get into this: http://wiki.ros.org/vrep_ros_bridge
Ouch. Are you sure ROS finds matlab's Boost version? You can check manually whether the symbols are there with
nm /path/to/lib | grep YOUR_SYMBOL
.As to the Simulink blocks: I would've used rosbridge or similar. That would've avoided these kind of problems. But perhaps have introduced others.
What do you mean with YOUR_SYMBOL?