0
$\begingroup$

Rosanswers logo

I found this other thread that appears to be related (http://answers.ros.org/question/44821/updating-to-pcl-17-in-ros-fuerte/), but the code repositories that are required don't work for me.

I'm running openSUSE, which means that the automated package tools are not an option for me. From what I've been able to gather, in order to update to PCL 1.7 you need to follow the instructions at http://www.pointclouds.org/downloads/source.html to download and install the PCL code, which I have done.

Next, it appears that there are pcl17 and pcl17_ros packages that need to be downloaded and built. However, they don't appear to be on the package list at http://www.ros.org/browse/list.php, nor can I find them with a Google search.

What should happen seems to be that I should be able to link to pcl17 and pcl17_ros rather than pcl and pcl_ros, use the namespace pcl17 instead of pcl, and it will work. However, when I try that, I get the following error:

Could not find a package configuration file provided by "pcl17" with any of
  the following names:

    pcl17Config.cmake
    pcl17-config.cmake

These files do not exist on my computer, and I'm not sure whether I should try to create them. If I try to use the pcl libraries and namespace, then I get errors that it's looking for PCL 1.6, which I deleted for a clean install of 1.7. Any help in getting this resolved would be much appreciated.


Originally posted by teddybouch on ROS Answers with karma: 320 on 2013-08-30

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

This and this answers may help.


EDIT: Just tried it myself and it seems to work.

In your case it might be 'simplier' since you are already building everything from source.

Nevertheless here are the steps to reproduce it with Groovy on Ubuntu. In my case there are existing catkin (~/catkin_ws) and rosbuild (~/rosbuild_ws, on top of catkin) overlays. Since catkin cannot overlay rosbuild (to the best of my knowledge) we have to underlay new workspace to the ~/catkin_ws.

  1. Create a separate workspace for perception_pcl:

     # Source the root workspace
     # The path is correct for Ubuntu and may differ for other distributions
     $ source /opt/ros/groovy/setup.bash
    
     # Create catkin overlay
     $ mkdir -p ~/pcl_ws/src && cd ~/pcl_ws/src
    
  2. Clone perception_pcl and checkout groovy-unstable-devel branch

     $ git clone -b groovy-unstable-devel https://github.com/ros-perception/perception_pcl.git
    
  3. Build the workspace

     $ cd .. && catkin_make_isolated
    
  4. Source it

     $ source ~/pcl_ws/devel_isolated/setup.bash
    
  5. Now we have to overlay old ~/catkin_ws on ~/pcl_ws

     $ cd ~/catkin_ws
    
     # Delete old build directories
     $ rm -rf build devel
    
     # Re-create workspace
     $ catkin_make
    
  6. Finally, source rosbuild workspace

     $ source ~/rosbuild_ws/setup.bash
    

Originally posted by Boris with karma: 3060 on 2013-08-30

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by teddybouch on 2013-09-05:
Now when I go to re-create the catkin_ws, I get an error that there are non-catkin packages in it and catkin cannot build without isolation. There are a few packages that seem to be plain cmake, and I'm not sure whether to ignore them or somehow fix it.

Comment by Boris on 2013-09-06:
That is exactly what I wrote in EDIT section of my answer - you have to do catkin_make_isolated. The sequence in the answer should solve the problem.

Comment by teddybouch on 2013-09-16:
Changes made:

  • Make sure that you are not sourcing any ROS setup.bash in your ~/.bashrc
  • Checkout branch groovy-unstable-devel
  • In ~/pcl_ws/src/perception_pcl/pcl/CMakeLists.txt, remove line 14: "BUILD_COMMAND ."

Comment by teddybouch on 2013-09-16:
Sorry, I should have been more specific - the catkin_make_isolated in pcl_ws works just fine. It's the catkin_make in catkin_ws that is the problem (step 5 in the instructions above). Based on what I understand of the difference, I can't just make isolated for that last step and everything work.

Comment by teddybouch on 2013-09-16:
Okay, now when I get to step 4 and try to source the PCL workspace, I get the following error:
Missing Python script: /home/abouchard/pcl_ws/devel_isolated/_setup_util.py
Does this have to do with commenting out the BUILD_COMMAND line as noted above?

Comment by Boris on 2013-09-16:
Why did you remove BUILD_COMMAND line? Please update your question with error log. Everything should work without modifications.

Comment by teddybouch on 2013-09-20:
I commented out the BUILD_COMMAND line because if I don't, I get error: /bin/sh: line 0: .: filename argument required

Here's the full error log: http://pastebin.com/H2mp8q0J

Comment by Boris on 2013-09-20:
The link is broken. Nevertheless, I cannot reproduce your problem. Make sure there are no errors on previous steps. Also note that the git branch was renamed recently to groovy-unstable-devel. You may also try to do everything with 'clean system', i.e. unset all ROS_ environment variables, source the root workspace and then create pcl_ws and do catkin_make_isolated. After this source pcl_ws and recreate all your other workspaces and source them.

Comment by Boris on 2013-09-20:
Hm... Although I do not have same issues as you, but the current version does not compile either. The HEAD of the one I am using now is at 3b6e8c9. So you may need to try the same. It should compile.

$\endgroup$

Your Answer

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