roswtf and rpath problems in fuerte
I recently noticed that running roswtf
on every package that I have produces errors related to rpath and the linker. For example, following the tutorial on creating ros packages here you create a new package by running the command
roscreate-pkg beginner_tutorials std_msgs rospy roscpp
Then if I cd
to the beginner-tutorials
directory, and run roswtf
, I get the following error:
Loaded plugin tf.tfwtf
Package: beginner_tutorials
================================================================================
Static checks summary:
Found 1 error(s).
ERROR The following packages have rpath issues in manifest.xml:
* beginner_tutorials: found flag "-L/opt/ros/fuerte/lib", but no matching "-Wl,-rpath,/opt/ros/fuerte/lib"
* std_msgs: found flag "-L/opt/ros/fuerte/lib", but no matching "-Wl,-rpath,/opt/ros/fuerte/lib"
* roscpp: found flag "-L/opt/ros/fuerte/lib", but no matching "-Wl,-rpath,/opt/ros/fuerte/lib"
The question here seems to indicate that I should not be using -L
commands within the export tag. I don't have any references to export or cpp in any of the manifests that produce these errors.
Basically every package I have written produces these same errors. What is causing this? What else should I be including in my manifest.xml?
EDIT
Adding the following line to the manifest (per manifest documentation) does not improve anything:
<export>
<cpp cflags="-I${prefix}/include" lflags="-L${prefix}/lib -Wl,-rpath,${prefix}/lib -lros"/>
</export>
Explicitly specifying the -rpath
directory using
-Wl,-rpath,${prefix}/lib,-rpath,/opt/ros/fuerte/lib
Removes the error for the beginner_tutorials package. But I am still getting errors for std_msgs
, and roscpp
. Is there a bug in roswtf? Should there be something else in the manifests for these packages?
Clearly, this isn't causing much of a real problem, but the "ERROR" note is definitely unsettling.
Note, I just found this link from ros-users that explains
-rpath
and-Wl
very well. Although, my question still stands, is there a problem withroswtf
?