# How to specify package version during installing from source

Hi all,

I am a newbie on ROS. I want to install ROS-Indigo from source with the latest libpcl package (the latest package is 1.7.2 whereas the development version is 1.7). I just need the libpcl to be at the latest version; any other package can be dev versions. Hence, I chose desktop-full install. However, I couldn't find out a way to specify which version should be built: it automatically installs libpcl1.7. Of course, one way is to let it install version1.7 and then, after the build, to install latest version, and finally to manually link it. But it is probably not an elegant solution.

Is there a way to specify the version (and of course the path) of a package during the build process?

edit retag close merge delete

Sort by » oldest newest most voted

The easiest is probably to first install / build your desired version of libpcl, and then build all ROS packages that depend on it (basically everything in perception_pcl). As PCL is a system dependency (through libpcl-all-dev), that should be possible.

Just make sure the build scripts can find it at configuration time (it will probably help to not have any other versions of PCL on your system). The rosdep install .. step should then not try to install the debs for PCL, or if it does, you could configure it to --skip=keys=libpcl-all-dev (or something similar).

Note that if your from-source 1.7.2 is not binary compatible with the released 1.7, you will most likely encounter weird segfaults when trying to run any ROS packages you did not compile from source that have been linked against the 1.7 version.

more