What is the correct usage of -rpath in manifest.xml?
I recently came across this error when running roswtf
to try and diagnose the cause of a weird intermittent failure:
ERROR The following packages have rpath issues in manifest.xml:
* flyer_controller: found flag "-L/home/bouffard/ros/starmac-ros-pkg/starmac_flyer/flyer_controller/lib", but no matching "-Wl,-rpath,/home/bouffard/ros/starmac-ros-pkg/starmac_flyer/flyer_controller/lib"
The manifest actually has this (note the -L
after the rpath
):
<export>
<nodelet plugin="${prefix}/flyer_controller_nodelets.xml"/>
<cpp cflags="-I${prefix}/include"
lflags="-L${prefix}/lib -Wl,-rpath,-L${prefix}/lib -lros"/>
</export>
.. and the package (and others which depend on it and use the library) does build and seems to work.
If I remove that -L
then the roswtf
error goes away. However according to the example on the Manifest/XML wiki page the -L
should be present; I don't actually know what all these flags do but the -L
just seems out of place there to me. My guess is that the wiki page is incorrect, but I don't quite see how I never had build problems with the wrong syntax.