<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 12/03/2012 10:52 AM, Mary Ellen
      Foster wrote:<br>
    </div>
    <blockquote
cite="mid:CAL82EGsu15RFo1+Dbr_ODurO=UW9sjVrQ4s3FEJ-ty1cR+Neyw@mail.gmail.com"
      type="cite">Hello all,
      <div><br>
      </div>
      <div>Some students have developed some code using ROS that I would
        like to make use of. The obvious, easy solution is to install
        Ubuntu on a computer and use it that way, but I've been trying
        to see how much of a hassle it would be to set things up on my
        Fedora 18 desktop.</div>
      <div><br>
      </div>
      <div>I've had some success following the instructions at <a
          moz-do-not-send="true"
          href="http://www.ros.org/wiki/fuerte/Installation/Fedora">http://www.ros.org/wiki/fuerte/Installation/Fedora</a> and
        making use of the packages from <a moz-do-not-send="true"
          href="http://rmattes.fedorapeople.org/rospackages/">http://rmattes.fedorapeople.org/rospackages/</a>.
        As far as I can recall -- wasn't taking notes, unfortunately --
        the following are the things I had to modify from the
        instructions given on that page:</div>
      <div>
        <ul>
          <li>installed python-rosinstall, python-rospkg and
            python-rosdep (and ros-release) from the fedorapeople repo
            instead of using python-pip</li>
          <li>downloaded <a moz-do-not-send="true"
              href="http://ros.org/rosinstalls/fuerte-ros-full.rosinstall">http://ros.org/rosinstalls/fuerte-ros-full.rosinstall</a>
            and changed the path for actionlib to refer to ros-gbp
            instead of wg-debs</li>
          <li>created an appropriate rosdep-fedora.yaml file as
            described here (<a moz-do-not-send="true"
              href="https://code.ros.org/trac/ros/ticket/3929">https://code.ros.org/trac/ros/ticket/3929</a>)</li>
          <li>edited CMakeCache.txt after running cmake to set
            SETUPTOOLS_ARG_EXTRA to an empty string before running "make
            install" (SETUPTOOLS_DEB_LAYOUT seems not to work quite
            right)</li>
          <li>created a symlink dist-packages -&gt; site-packages
            inside /opt/ros/fuerte/lib/python2.7, again because the deb
            layout seemed to be getting in the way</li>
          <li>added "set (PythonLibs_FIND_VERSION 2)" before all
            "find_package (PythonLibs)" calls in all CMakeLists.txt
            files (in the underlay and the actual OS) so that it finds
            Python 2 instead of Python 3</li>
          <li>added "rosbuild_link_boost ($executable system)" to
            various CMakeLists.txt files -- with Boost 1.50.0, you have
            to explicitly link against the system lib or else you get
            undefined references to symbols like
            '_ZN5boost6system15system_categoryEv'</li>
        </ul>
        <div>But now, unfortunately, I've hit "the pcl issue" (<a
            moz-do-not-send="true"
href="http://lists.fedoraproject.org/pipermail/robotics/2012/000671.html">http://lists.fedoraproject.org/pipermail/robotics/2012/000671.html</a>).
          The specific symptom is as follows (in the middle of "rosmake
          -a"):</div>
      </div>
      <blockquote style="margin:0px 0px 0px
        40px;border:none;padding:0px">
        <div>
          <div>  [rosbuild] Building package costmap_2d</div>
        </div>
        <div>
          <div>  Failed to invoke /opt/ros/fuerte/bin/rospack
            deps-manifests costmap_2d</div>
        </div>
        <div>
          <div>  [rospack] Error: package/stack costmap_2d depends on
            non-existent package pcl</div>
        </div>
      </blockquote>
      <div>
        <div><br>
        </div>
        <div>I do have pcl-devel-1.6.0-2.fc18.x86_64 installed but it
          doesn't seem to help. I tried rebuilding the pcl srpm with the
          patch from <a moz-do-not-send="true"
            href="http://dev.pointclouds.org/issues/699">http://dev.pointclouds.org/issues/699</a> (it
          applied with minimal fuzz), but the rpmbuild pretty much
          brought my fairly beefy desktop machine to its knees and I'm
          not sure if it will help in any case. Should I persevere with
          that?</div>
        <div><br>
        </div>
        <div>Any other suggestions for getting this working? As a
          fallback, I can just install Ubuntu on our demo laptop, but it
          would be nice to have this working.</div>
        <div><br>
          All the best,</div>
        <div><br>
          MEF</div>
      </div>
    </blockquote>
    Hi,<br>
    <br>
    After hacking on this issue for a while, the best solution I have
    found is to package the core ros stack (or otherwise have it
    available,) and then build PCL with the issue 699 patch and USE_ROS
    set to true.<br>
    <br>
    The error you're getting is because PCL doesn't provide any of the
    ROS package metadata out of the box, so rospack fails to find PCL. 
    The patch from issue 699 aimed to fix that, and to make PCL play
    nice with the ROS message definitions.  PCL is a beast to build
    though; there's tons of templates which seem to slow gcc down
    considerably.  <br>
    <br>
    I'm pretty sure that the 699 patch +  your best path forward while
    we work on getting ROS packaged up (some of the python tools are
    already packaged, and the fuerte packages on my fedorapeople are
    almost for submission when I find some spare cycles).  I'd be
    interested in knowing if you run into any issues, because the 699
    patch is how I plan on making PCL work with ROS once the other
    packages are in Fedora.<br>
    <br>
    Rich<br>
  </body>
</html>