Catkin-izing a python library
Hi everybody,
I need a "catkin-ized" version of a python library and I have some problems in doing it. I use catkin tools.
The library I'm interested in is libsbp (python/sbp subfolder for my specific case). I'm aware there's already a catkinezed version of this repo, which is libsbp-release, but I have some problems with the "install" directive in the CMakeLists.txt.
In fact, if I clone libsbp-release in my catkin work-space, checkout the specific release I need (release/indigo/libsbp/1.1.1-5) and compile it then it tries to install the python files in my catkinws/install folder (this required me to run "catkin config --install" in my work-space to enable the installation.) The "catkin configure --install" causes each other package in the work-space to be installed to the install folder of catkinws. This behavior causes lots of errors when I try to compile other packages that I didn't create and I don't want to modify. So, finally, my questions are:
1 Can I install just the catkin-ized version of that library and not the other packages in the same work-space? If so, I was not able to find out how I can do it using catkin tools.
2 If this first option is not possible, how can I use the files in the python/sbp of the library? Should I create a new catkin package and simply use the "targetincludedirectories" in my CMakeLists.txt?
Thanks for your help,
Marco.
Asked by Femer on 2016-09-21 13:05:00 UTC
Answers
Not really an answer, but: libsbp-release
is a Bloom release repository, which is not intended to be build in a normal Catkin workspace, but to be used by the ROS buildfarm to build Debian/Fedora/Whatever packages from.
That said, it looks like you could reuse the package.xml
and CMakeLists.txt
from the skeleton packages included in that repository in combination with a source checkout of swift-nav/libsbp
.
I don't get why you have problems with the install(..)
directives in the CMakeLists.txt
though: if you don't run a catkin_make install
or configure catkin_tools
to install things, that part of the CMakeLists.txt
should be ignored.
I'm not sure about the interaction with the Makefile
in swift-nav/libsbp
though, so perhaps that could be doing strange things in your catkin workspace.
Asked by gvdhoorn on 2016-09-21 14:48:09 UTC
Comments
Hi, thanks for your answer! Unfortunately I didn't manage to use it correctly, probably I'm still missing some "pieces" ... Anyway, at the moment I'm using the upstream repository and just add it's path to PYTHONPATH in ROS. Thanks again for your explanation about the release purpose
Asked by Femer on 2016-09-26 03:55:35 UTC
Comments