Ask Your Question
0

catkin_make install - setup.bash file not created!?

asked 2018-10-09 16:22:59 -0500

PolynomialChaos gravatar image

updated 2018-10-10 02:52:31 -0500

Hi there, as I am completely new to CMake etc I do have a probably simple problem which I am not able to solve. Previously to asking here I read various tutorials but was not able to solve the following problem: I do have 3 ros packages: pkg_a, pkg_b and pkg_c. pkg_a depends on pkg_b and pkg_c. As I do not want to share the source code of pkg_b and pkg_c I'd like to pass these packages on as an installed version. However, if I use "catkin_make install --pkg pkg_b pkg_c" the Install folder and the respective folders in the Install folder are generated but the files on the first level of the Install folder (e.g. setup.bash) are not generated. These files are only generated if I do "catkin_make install" without restricting the install to the named two packages. Is catkin_make install not foreseen to be used in the way I intend?

I am sure you need to provide more information to make to the problem solvable but I don't know which information is necessary. Please let me know.

Best regards!

Edit: The plan in the next step is to delete pkg_b and pkg_c, source the Install folder and then compile pkg_a. But <catkin_make install="" --pkg="" pkg_b="" pkg_c=""> only gives the folders Include, Lib and Share but not the files
setup.sh, setup.bash and setup.zsh in the Include folder.

edit retag flag offensive close merge delete

Comments

What do you mean by "pass these packages on as an installed version"? I cannot really picture the problem you are trying to solve.

KenYN gravatar image KenYN  ( 2018-10-09 20:22:57 -0500 )edit

Sorry. That's not important to the problem. I need to share my code, one part is intended to be shared as a source code such that it is manipulatable and the other part (pkg_b and _c) shall be shared as a installed version. Therefore I only want to build these two packages via catkin_make Install.

PolynomialChaos gravatar image PolynomialChaos  ( 2018-10-09 23:54:27 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2018-10-10 02:53:42 -0500

mgruhler gravatar image

This is not really an answer to your question, if catkin_make can do this, as I don't know that.

But as a "work-around", you could easily set up chained workspaces, where pkg_B and pkg_C are in the underlay workspace and pkg_A in the overlay. With this, you have the separation required so can just call catkin_make install on the underlay and can share this install space. (Note, that sharing install spaces is not that easy if you don't put them somewhere globally available. If you share the install space from within your home, you'll most likely run into problems...)

edit flag offensive delete link more

Comments

Are nodes allowed in the underlaying workspaces? Thanks for the new idea!

PolynomialChaos gravatar image PolynomialChaos  ( 2018-10-10 02:58:15 -0500 )edit

Sure. Basically, also /opt/ros/DISTRO is an underlay. If you clone any package you have installed therein (say, std_msgs) into your catkin_ws_overlay, this one is used once you source the respective overlay workspace. The pkg still exists in the underlay but is "not discovered".

mgruhler gravatar image mgruhler  ( 2018-10-10 03:00:34 -0500 )edit

Ok, thanks. I'll give it a try!

PolynomialChaos gravatar image PolynomialChaos  ( 2018-10-10 03:03:33 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

2 followers

Stats

Asked: 2018-10-09 16:22:59 -0500

Seen: 224 times

Last updated: Oct 10 '18