0
$\begingroup$

Rosanswers logo

So I like the catkin build system and am interesting in using it outside ROS, and working with people that don't want to install ROS. Is this possible?

I've tried installing catkin with pip but am getting errors like unable to find catkinConfig.cmake. Before I start going down this rabbit hole and try copying just that file, has anyone tried this?

edit: I built from source and when I run catkin_make after sourcing /usr/local/setup.sh, I get this:

Base path: workspace
Source space: workspace/src
Build space: workspace/build
Devel space: workspace/devel
Install space: workspace/install
####
#### Running command: "cmake workspace/src -DCATKIN_DEVEL_PREFIX=workspace/devel -DCMAKE_INSTALL_PREFIX=workspace/ins\
tall" in "workspace/build"
####
CMake Error at CMakeLists.txt:59 (message):
  find_package(catkin) failed.  catkin was neither found in the workspace nor
  in the CMAKE_PREFIX_PATH.  One reason may be that no ROS setup.sh was
  sourced before.

I've tried setting /usr/local/share/catkin/cmake/ as CMAKE_PREFIX_PATH.

edit: ok, appears to have been a permissions issue and now catkin_make is working, but the directories created appear to be incompatible with catkin build now, which fails on its own. Is that command deprecated? It is how I create eclipse projects.


Originally posted by EEngineer on ROS Answers with karma: 33 on 2014-10-22

Post score: 1


Original comments

Comment by Dirk Thomas on 2014-10-22:
How did you build it from source?

Comment by Dirk Thomas on 2014-10-22:
What do you mean with "catkin build"? rosbuild or catkin_tools?

Comment by EEngineer on 2014-10-22:
in order to get catkin working I needed to pip install catkin_pkg, and I also installed catkin_tools, which has the catkin (not catkin_make) commands. I used this to make separate eclipse projects for each module, while catkin_make -G"Eclipse CDT4 - Unix Makefiles" puts them in one big project.

Comment by Dirk Thomas on 2014-10-22:
catkin_tools has not officially been announced and is still in development. You might want to stick to the commands coming with catkin: namely catkin_make / catkin_make_isolated.

Comment by William on 2014-10-22:
There is nothing wrong with catkin_tools, but you cannot mix usage of catkin build and catkin_make in the same workspace. You must use one or the other.

Comment by EEngineer on 2014-10-22:
Fair enough, is there a way to make catkin_make build separate eclipse projects like catkin build does?

Comment by Dirk Thomas on 2014-10-22:
You might want to try catkin_make_isolated which invokes CMake for each package (the same way as catkin_tools).

Comment by William on 2014-10-23:
You can either use catkin_make_isolated or use catkin_tools but with different build, devel, and install folders.

Comment by EEngineer on 2014-10-23:
catkin_make_isolated doesn't appear to link libraries correctly? One of my packages complains on trying to find a library from one of my other modules. catkin_make works fine.

Comment by Dirk Thomas on 2014-10-23:
That is a defect of your package then. catkin_make_isolated builds each package separately one after the other. If dependencies or exported information are incomplete it fails. catkin_make might be more "forgiving" in some situations.

Comment by William on 2014-10-24:
@EEngineer While it could be a bug in catkin_make_isolated, that seems unlikely at this point. I would recommend you open a new question with more details about the failure.

Comment by hamzamerzic on 2017-07-30:
Is there now a way to make catkin_tools ROS independent?

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

You can't install catkin via PIP. While it does have a setup.py file it is not a pure Python package.

You can either clone the repository and use catkin from source (and build it from source) or install the Debian package from the ROS apt repo. It only depends on CMake and a handful of Python packages but nothing ROS specific.


Originally posted by Dirk Thomas with karma: 16276 on 2014-10-22

This answer was ACCEPTED on the original site

Post score: 3

$\endgroup$

Your Answer

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