Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generating metapackage artifacts with catkin_tools #418

Closed
2 of 5 tasks
meyerj opened this issue Dec 29, 2016 · 2 comments
Closed
2 of 5 tasks

Generating metapackage artifacts with catkin_tools #418

meyerj opened this issue Dec 29, 2016 · 2 comments
Labels

Comments

@meyerj
Copy link
Contributor

meyerj commented Dec 29, 2016

System Info

  • Operating System: Linux im-laptop-002 4.4.0-57-generic #78~14.04.1-Ubuntu SMP Sat Dec 10 00:14:47 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
  • Python Version: Python 2.7.6
  • Version of catkin_tools: catkin_tools 0.4.2 (C) 2014-2016 Open Source Robotics Foundation
  • ROS Distro: indigo

Build / Run Issue

This issue was already reported on ROS answers: http://answers.ros.org/question/241107/generating-metapackage-artifacts-with-catkin_tools/

catkin_tools is not able to build metapackages. In particular, I tried with orocos_toolchain and with both, install mode enabled and disabled.

  • Works with catkin_make
  • Works with catkin_make_isolated --merge
  • Works with catkin build
  • Works with catkin build -p1
  • I did not read this

Expected Behavior

catkin build should build (and install) all packages and metapackages in the workspace.
catkin build orocos_toolchain --no-deps should build (and install) the metapackage only because it has no build dependencies. Actually I am not sure whether --no-deps relates to build or run-time dependencies. I think it should consider all kind of dependencies, but in any case none of them should be built with --no-deps.

Actual Behavior

catkin build ignores the metapackage:

$ VERBOSE=1 catkin build -p1 -j2 --summary
--------------------------------------------------------------
Profile:                     default
Extending:        [explicit] /opt/ros/indigo
Workspace:                   /home/johannes/orocos_ws
--------------------------------------------------------------
Source Space:       [exists] /home/johannes/orocos_ws/src
Log Space:          [exists] /home/johannes/orocos_ws/logs
Build Space:        [exists] /home/johannes/orocos_ws/build
Devel Space:        [exists] /home/johannes/orocos_ws/devel
Install Space:      [exists] /home/johannes/orocos_ws/install
DESTDIR:            [unused] None
--------------------------------------------------------------
Devel Space Layout:          linked
Install Space Layout:        merged
--------------------------------------------------------------
Additional CMake Args:       None
Additional Make Args:        -j2
Additional catkin Make Args: None
Internal Make Job Server:    True
Cache Job Environments:      False
--------------------------------------------------------------
Whitelisted Packages:        None
Blacklisted Packages:        orogen typelib rtt_typelib utilrb
--------------------------------------------------------------
Workspace configuration appears valid.
--------------------------------------------------------------
[build] Found '8' packages in 0.0 seconds.                                                                                                                                                                                            
Starting  >>> log4cpp                                                                                                                                                                                                                 
Finished  <<< log4cpp                [ 0.1 seconds ]                                                                                                                                                                                  
Starting  >>> rtt                                                                                                                                                                                                                     
Finished  <<< rtt                    [ 0.4 seconds ]                                                                                                                                                                                  
Starting  >>> ocl                                                                                                                                                                                                                     
Finished  <<< ocl                    [ 0.8 seconds ]                                                                                                                                                                                  
                                                                                                                                                                                                                                      
[build] Successful packages:                                                                                                                                                                                                          
                                                                                                                                                                                                                                      
 [Successful] log4cpp                                                                                                                                                                                                                 
 [Successful] ocl                                                                                                                                                                                                                     
 [   Ignored] orocos_toolchain                                                                                                                                                                                                        
 [Successful] rtt                                                                                                                                                                                                                     
                                                                                                                                                                                                                                      
[build] Blacklisted packages:                                                                                                                                                                                                         
                                                                                                                                                                                                                                      
 [   Ignored] orogen                                                                                                                                                                                                                  
 [   Ignored] rtt_typelib                                                                                                                                                                                                             
 [   Ignored] typelib                                                                                                                                                                                                                 
 [   Ignored] utilrb                                                                                                                                                                                                                  
                                                                                                                                                                                                                                      
[build] Summary: All 3 packages succeeded!                                                                                                                                                                                            
[build]   Ignored:   5 packages were skipped or are blacklisted.                                                                                                                                                                      
[build]   Warnings:  None.                                                                                                                                                                                                            
[build]   Abandoned: None.                                                                                                                                                                                                            
[build]   Failed:    None.                                                                                                                                                                                                            
[build] Runtime: 1.6 seconds total.
$ ls install/share/orocos_toolchain
ls: cannot access install/share/orocos_toolchain: No such file or directory

The fact that some packages are blacklisted does not change the behavior, but they have some dependencies that cannot be fulfilled in Ubuntu 14.04.

catkin build orocos_toolchain --no-deps also does not build the metapackage, but also ignores the --no-deps flag and builds all run-time dependencies, even the ones that have been blacklisted:

$ VERBOSE=1 catkin build -p1 -j2 --summary -c orocos_toolchain --no-deps
--------------------------------------------------------------
Profile:                     default
Extending:        [explicit] /opt/ros/indigo
Workspace:                   /home/johannes/orocos_ws
--------------------------------------------------------------
Source Space:       [exists] /home/johannes/orocos_ws/src
Log Space:          [exists] /home/johannes/orocos_ws/logs
Build Space:        [exists] /home/johannes/orocos_ws/build
Devel Space:        [exists] /home/johannes/orocos_ws/devel
Install Space:      [exists] /home/johannes/orocos_ws/install
DESTDIR:            [unused] None
--------------------------------------------------------------
Devel Space Layout:          linked
Install Space Layout:        merged
--------------------------------------------------------------
Additional CMake Args:       None
Additional Make Args:        -j2
Additional catkin Make Args: None
Internal Make Job Server:    True
Cache Job Environments:      False
--------------------------------------------------------------
Whitelisted Packages:        None
Blacklisted Packages:        orogen typelib rtt_typelib utilrb
--------------------------------------------------------------
Workspace configuration appears valid.
--------------------------------------------------------------
[build] Found '8' packages in 0.0 seconds.                                                                                                                                                                                            
Starting  >>> log4cpp                                                                                                                                                                                                                 
Finished  <<< log4cpp                    [ 0.1 seconds ]                                                                                                                                                                              
Starting  >>> rtt                                                                                                                                                                                                                     
Finished  <<< rtt                        [ 0.4 seconds ]                                                                                                                                                                              
Starting  >>> utilrb                                                                                                                                                                                                                  
______________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Errors     << utilrb:cmake /home/johannes/orocos_ws/logs/utilrb/build.cmake.006.log                                                                                                                                                   
CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
  Could NOT find Ruby (missing: RUBY_CONFIG_INCLUDE_DIR) (found version
  "2.2.")
Call Stack (most recent call first):
  /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-2.8/Modules/FindRuby.cmake:239 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:5 (find_package)


cd /home/johannes/orocos_ws/build/utilrb; catkin build --get-env utilrb | catkin env -si  /usr/bin/cmake /home/johannes/orocos_ws/src/utilrb --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX=/home/johannes/orocos_ws/install; cd -
......................................................................................................................................................................................................................................
Failed     << utilrb:cmake               [ Exited with code 1 ]                                                                                                                                                                       
Failed    <<< utilrb                     [ 0.0 seconds ]                                                                                                                                                                              
Abandoned <<< orogen                     [ Depends on failed job utilrb ]                                                                                                                                                             
Abandoned <<< typelib                    [ Depends on failed job utilrb ]                                                                                                                                                             
Abandoned <<< rtt_typelib                [ Depends on failed job utilrb ]                                                                                                                                                             
Starting  >>> ocl                                                                                                                                                                                                                     
Finished  <<< ocl                        [ 0.8 seconds ]                                                                                                                                                                              
                                                                                                                                                                                                                                      
[build] Successful packages:                                                                                                                                                                                                          
                                                                                                                                                                                                                                      
 [Successful] log4cpp                                                                                                                                                                                                                 
 [Successful] ocl                                                                                                                                                                                                                     
 [   Ignored] orocos_toolchain                                                                                                                                                                                                        
 [Successful] rtt                                                                                                                                                                                                                     
                                                                                                                                                                                                                                      
[build] Blacklisted packages:                                                                                                                                                                                                         
                                                                                                                                                                                                                                      
 [   Ignored] orogen                                                                                                                                                                                                                  
 [   Ignored] rtt_typelib                                                                                                                                                                                                             
 [   Ignored] typelib                                                                                                                                                                                                                 
 [   Ignored] utilrb                                                                                                                                                                                                                  
                                                                                                                                                                                                                                      
[build] Summary: 3 of 7 packages succeeded.                                                                                                                                                                                           
[build]   Ignored:   1 packages were skipped or are blacklisted.                                                                                                                                                                      
[build]   Warnings:  None.                                                                                                                                                                                                            
[build]   Abandoned: 3 packages were abandoned.                                                                                                                                                                                       
[build]   Failed:    1 packages failed.                                                                                                                                                                                               
[build] Runtime: 1.8 seconds total.

Steps to Reproduce the Issue

mkdir ~/orocos_ws
cd ~/orocos_ws
git clone --recursive https://github.com/orocos-toolchain/orocos_toolchain.git -b toolchain-2.9 src
catkin config --extend /opt/ros/indigo --install --blacklist orogen typelib rtt_typelib utilrb
VERBOSE=1 catkin build -p1 -v --summary
@wjwwood wjwwood added the bug label Jan 3, 2017
@wjwwood
Copy link
Member

wjwwood commented Jan 3, 2017

Sounds like a bug to me, might be related to #366

@meyerj
Copy link
Contributor Author

meyerj commented May 10, 2017

I think this issue is only partially related to #366. No package is depending on the meta-package in my scenario. The fact that they compile nothing themselves according to REP-140 does not imply that they can be completely ignored by catkin_tools. catkin_tools should still run the cmake, make and install steps, like for any other catkin package. Otherwise the package.xml file will not be installed, they do not end up in the ROS_PACKAGE_PATH and the (deprecated?) rosstack command would not find the meta-package.

From REP-140:

Metapackages may not install any code or other files, although package.xml does get installed automatically. They can depend on other metapackages, but regular catkin packages cannot.

So at least the missing installation of package.xml is definitely a bug.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants