0
$\begingroup$

Rosanswers logo

Hi, all:

My environment:

  1. OS: Ubuntu 12.10 OpenCV: 2.4.5 release
  2. PCL: 1.6.0 release (built from source)
  3. ffmpeg: 1.2 release (built from source)
  4. VTK: 5.10.1 release (built from source)
  5. boost: 1.50.0 (installed from the repository)

There are some reasons that I really don't want to use the default:

  1. ffmpeg -- libavcodec-dev libavformat-dev libavutil-dev libswscale-dev
  2. VTK 5.8.0 boost 1.49

from the default repository.

Now here comes my question:

I did have my ffmpeg 1.2 installed http://visionopen.com/questions/ffmpeg.png http://visionopen.com/questions/ffmpeg.png and vtk 5.10.1 installed http://visionopen.com/questions/vtk.png http://visionopen.com/questions/vtk.png

but, when I tried to install ROS from source (refer to http://www.ros.org/wiki/groovy/Installation/Source), the following command

:~/ros_catkin_ws$ rosdep install --from-paths src --ignore-src --rosdistro groovy -y
still requires the following packages:
libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libvtk5-dev libvtk5.8

I'm thinking at least, there is something like in CMake which lets me to select my own path/directory, rather than setup by ROS itself. There should be existing such a freedom to let me specify which version and which directory of ffmpeg, which version and which directory of vtk. But, according to http://www.ros.org/wiki/groovy/Installation/Source, I can't find such a freedom. Can anybody help to let me know how to build ROS from source based on the dependencies that I myself am able to specify?

Thank you very much.

Best Regards

Pei


Originally posted by jiapei100 on ROS Answers with karma: 31 on 2013-05-27

Post score: 0


Original comments

Comment by William on 2013-05-29:
Sorry it took so long for me to get back to you, I was out of internet coverage for a few days.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

In that step you are using rosdep to resolve dependencies for the packages which are in your src directory. One or more of those packages indirectly depend on:

libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libvtk5-dev libvtk5.8

All rosdep does it look at the declared dependencies, which are declared using rosdep keys, like vtk and translates them to one or more OS installer key(s). In the case of vtk that is libvtk5-dev for apt. See:

https://github.com/ros/rosdistro/blob/master/rosdep/base.yaml#L1089

I can only guess that this apt package depends directly on libvtk5.8. This is probably a similar problem to why libav* packages are getting pulled in.

You do not have to resolve all of the dependencies from rosdep, it is simply a tool to help with that. If you know you have ffmpeg from source then you can just ignore rosdep and not install it. The from source build of ROS will continue and find your version of ffmpeg if it is on the appropriate PATH's.

You can use this command:

rosdep install --from-paths src --ignore-src --rosdistro groovy --simulate

to see what rosdep would do and you can cherry pick out the apt-get calls which you want and run them manually. After that you can continue with the source installation normally.


Originally posted by William with karma: 17335 on 2013-05-29

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by joq on 2013-05-29:
The rosdep check option is also helpful in this situation.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.