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

whitelist and blacklist don't work nicely for metapkgs #642

Open
wmmc88 opened this issue Jan 18, 2021 · 0 comments
Open

whitelist and blacklist don't work nicely for metapkgs #642

wmmc88 opened this issue Jan 18, 2021 · 0 comments

Comments

@wmmc88
Copy link

wmmc88 commented Jan 18, 2021

System Info

  • Operating System: Linux 5.4.0-59-generic #65-Ubuntu SMP Thu Dec 10 12:01:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

  • Python Version: Python 3.8.5

  • Version of catkin_tools: catkin --version says catkin_tools 0.5.0 but I installed on Jan 18 2021 with pip3 install -U "git+https://github.com/catkin/catkin_tools.git#egg=catkin_tools" which i believe installs latest master

  • ROS Distro: `noetic

Build / Run Issue

catkin config --blacklist and catkin config --whitelist don't work nicely on metapkgs. Instead of black/whitelisting all the packages withing the metapkg, it just black/whitelists the metapkg package(the thing that contains only a bare CMakelists with catkin_metapkg and package.xml)

Expected Behavior

I think it should blacklist/whitelist all the packages in the metapkg recursively. Or at least there should be a flag that lets you do that.

Actual Behavior

catkin_config --whitelist ros_controllers will have a config with Whitelisted Packages: ros_controllers but if you catkin build you will only build the stub metapkg package instead of all the packages within that metapkg (ex. diff_drive_controller, ackermann_steering_controlle, etc.)

Output for VERBOSE=1 catkin build -p1 -v after catkin clean -y:

------------------------------------------------------------------------------
Profile:                     default
Extending:             [env] /opt/ros/noetic:/home/wmmc88/uwrt_catkin_ws/devel
Workspace:                   /home/wmmc88/uwrt_catkin_ws
------------------------------------------------------------------------------
Build Space:        [exists] /home/wmmc88/uwrt_catkin_ws/build
Devel Space:        [exists] /home/wmmc88/uwrt_catkin_ws/devel
Install Space:      [unused] /home/wmmc88/uwrt_catkin_ws/install
Log Space:         [missing] /home/wmmc88/uwrt_catkin_ws/logs
Source Space:       [exists] /home/wmmc88/uwrt_catkin_ws/src
DESTDIR:            [unused] None
------------------------------------------------------------------------------
Devel Space Layout:          linked
Install Space Layout:        None
------------------------------------------------------------------------------
Additional CMake Args:       None
Additional Make Args:        None
Additional catkin Make Args: None
Internal Make Job Server:    True
Cache Job Environments:      False
------------------------------------------------------------------------------
Whitelisted Packages:        ros_controllers
Blacklisted Packages:        None
------------------------------------------------------------------------------
Workspace configuration appears valid.

NOTE: Forcing CMake to run for each package.
------------------------------------------------------------------------------
[build] Found '36' packages in 0.0 seconds.                                                                                                                                                                                                       
[build] Updating package table.                                                                                                                                                                                                                   
Starting  >>> catkin_tools_prebuild                                                                                                                                                                                                               
Starting   >> catkin_tools_prebuild:loadenv                                                                                                                                                                                                       
Output     << catkin_tools_prebuild:loadenv /home/wmmc88/uwrt_catkin_ws/logs/catkin_tools_prebuild/build.loadenv.000.log                                                                                                                          
Loading environment from: /home/wmmc88/uwrt_catkin_ws/devel/env.sh
Finished   << catkin_tools_prebuild:loadenv                                                                                                                                                                                                       
Starting   >> catkin_tools_prebuild:mkdir                                                                                                                                                                                                         
Starting   >> catkin_tools_prebuild:mkdir                                                                                                                                                                                                         
Starting   >> catkin_tools_prebuild:cache-manifest                                                                                                                                                                                                
Starting   >> catkin_tools_prebuild:cmake                                                                                                                                                                                                         
Subprocess  > catkin_tools_prebuild:cmake `cd /home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild; catkin build --get-env catkin_tools_prebuild | catkin env -si  /usr/bin/cmake /home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild --no-warn-unused-cli -DCATKIN_DEVEL_PREFIX=/home/wmmc88/uwrt_catkin_ws/devel/.private/catkin_tools_prebuild -DCMAKE_INSTALL_PREFIX=/home/wmmc88/uwrt_catkin_ws/install; cd -`
Output     << catkin_tools_prebuild:cmake /home/wmmc88/uwrt_catkin_ws/logs/catkin_tools_prebuild/build.cmake.000.log                                                                                                                              
Not searching for unused variables given on the command line.
Re-run cmake no build system arguments
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using CATKIN_DEVEL_PREFIX: /home/wmmc88/uwrt_catkin_ws/devel/.private/catkin_tools_prebuild
-- Using CMAKE_PREFIX_PATH: /opt/ros/noetic;/home/wmmc88/uwrt_catkin_ws/devel
-- This workspace overlays: /opt/ros/noetic;/home/wmmc88/uwrt_catkin_ws/devel
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.8.5", minimum required is "3")
-- Using PYTHON_EXECUTABLE: /usr/bin/python3
-- Using Debian Python package layout
-- Found PY_em: /usr/lib/python3/dist-packages/em.py
-- Using empy: /usr/lib/python3/dist-packages/em.py
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild/test_results
-- Forcing gtest/gmock from source, though one was otherwise available.
-- Found gtest sources under '/usr/src/googletest': gtests will be built
-- Found gmock sources under '/usr/src/googletest': gmock will be built
-- Found PythonInterp: /usr/bin/python3 (found version "3.8.5")
-- Found Threads: TRUE
-- Using Python nosetests: /usr/bin/nosetests3
-- catkin 0.8.9
-- BUILD_SHARED_LIBS is on
-- Configuring done
-- Generating done
-- Build files have been written to: /home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild
cd /home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild; catkin build --get-env catkin_tools_prebuild | catkin env -si  /usr/bin/cmake /home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild --no-warn-unused-cli -DCATKIN_DEVEL_PREFIX=/home/wmmc88/uwrt_catkin_ws/devel/.private/catkin_tools_prebuild -DCMAKE_INSTALL_PREFIX=/home/wmmc88/uwrt_catkin_ws/install; cd -
Finished   << catkin_tools_prebuild:cmake                                                                                                                                                                                                         
Starting   >> catkin_tools_prebuild:make                                                                                                                                                                                                          
Subprocess  > catkin_tools_prebuild:make `cd /home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild; catkin build --get-env catkin_tools_prebuild | catkin env -si  /usr/bin/make --jobserver-auth=3,4; cd -`                                    
Output     << catkin_tools_prebuild:make /home/wmmc88/uwrt_catkin_ws/logs/catkin_tools_prebuild/build.make.000.log                                                                                                                                
/usr/bin/cmake -S/home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild -B/home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild/CMakeFiles /home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild/CMakeFiles/progress.marks
/usr/bin/make -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild'
/usr/bin/cmake -E cmake_progress_start /home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild/CMakeFiles 0
cd /home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild; catkin build --get-env catkin_tools_prebuild | catkin env -si  /usr/bin/make --jobserver-auth=3,4; cd -
Finished   << catkin_tools_prebuild:make                                                                                                                                                                                                          
Starting   >> catkin_tools_prebuild:symlink                                                                                                                                                                                                       
Output     << catkin_tools_prebuild:symlink /home/wmmc88/uwrt_catkin_ws/logs/catkin_tools_prebuild/build.symlink.000.log                                                                                                                          
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/./env.sh
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/./setup.bash
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/./setup.zsh
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/./local_setup.sh
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/./setup.sh
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/./local_setup.zsh
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/./cmake.lock
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/./local_setup.bash
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/./_setup_util.py
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/share/catkin_tools_prebuild/cmake/catkin_tools_prebuildConfig-version.cmake
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/share/catkin_tools_prebuild/cmake/catkin_tools_prebuildConfig.cmake
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/lib/pkgconfig/catkin_tools_prebuild.pc
Finished   << catkin_tools_prebuild:symlink                                                                                                                                                                                                       
Finished  <<< catkin_tools_prebuild                [ 1.0 seconds ]                                                                                                                                                                                
Starting  >>> ros_controllers                                                                                                                                                                                                                     
Starting   >> ros_controllers:loadenv                                                                                                                                                                                                             
Output     << ros_controllers:loadenv /home/wmmc88/uwrt_catkin_ws/logs/ros_controllers/build.loadenv.000.log                                                                                                                                      
Loading environment from: /home/wmmc88/uwrt_catkin_ws/devel/env.sh
Finished   << ros_controllers:loadenv                                                                                                                                                                                                             
Starting   >> ros_controllers:mkdir                                                                                                                                                                                                               
Starting   >> ros_controllers:mkdir                                                                                                                                                                                                               
Starting   >> ros_controllers:cache-manifest                                                                                                                                                                                                      
Starting   >> ros_controllers:cmake                                                                                                                                                                                                               
Subprocess  > ros_controllers:cmake `cd /home/wmmc88/uwrt_catkin_ws/build/ros_controllers; catkin build --get-env ros_controllers | catkin env -si  /usr/bin/cmake /home/wmmc88/uwrt_catkin_ws/src/ros_controllers/ros_controllers --no-warn-unused-cli -DCATKIN_DEVEL_PREFIX=/home/wmmc88/uwrt_catkin_ws/devel/.private/ros_controllers -DCMAKE_INSTALL_PREFIX=/home/wmmc88/uwrt_catkin_ws/install; cd -`
Output     << ros_controllers:cmake /home/wmmc88/uwrt_catkin_ws/logs/ros_controllers/build.cmake.000.log                                                                                                                                          
Not searching for unused variables given on the command line.
Re-run cmake no build system arguments
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using CATKIN_DEVEL_PREFIX: /home/wmmc88/uwrt_catkin_ws/devel/.private/ros_controllers
-- Using CMAKE_PREFIX_PATH: /opt/ros/noetic;/home/wmmc88/uwrt_catkin_ws/devel
-- This workspace overlays: /opt/ros/noetic;/home/wmmc88/uwrt_catkin_ws/devel
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.8.5", minimum required is "3")
-- Using PYTHON_EXECUTABLE: /usr/bin/python3
-- Using Debian Python package layout
-- Found PY_em: /usr/lib/python3/dist-packages/em.py
-- Using empy: /usr/lib/python3/dist-packages/em.py
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/wmmc88/uwrt_catkin_ws/build/ros_controllers/test_results
-- Forcing gtest/gmock from source, though one was otherwise available.
-- Found gtest sources under '/usr/src/googletest': gtests will be built
-- Found gmock sources under '/usr/src/googletest': gmock will be built
-- Found PythonInterp: /usr/bin/python3 (found version "3.8.5")
-- Found Threads: TRUE
-- Using Python nosetests: /usr/bin/nosetests3
-- catkin 0.8.9
-- BUILD_SHARED_LIBS is on
-- Configuring done
-- Generating done
-- Build files have been written to: /home/wmmc88/uwrt_catkin_ws/build/ros_controllers
cd /home/wmmc88/uwrt_catkin_ws/build/ros_controllers; catkin build --get-env ros_controllers | catkin env -si  /usr/bin/cmake /home/wmmc88/uwrt_catkin_ws/src/ros_controllers/ros_controllers --no-warn-unused-cli -DCATKIN_DEVEL_PREFIX=/home/wmmc88/uwrt_catkin_ws/devel/.private/ros_controllers -DCMAKE_INSTALL_PREFIX=/home/wmmc88/uwrt_catkin_ws/install; cd -
Finished   << ros_controllers:cmake                                                                                                                                                                                                               
Starting   >> ros_controllers:make                                                                                                                                                                                                                
Subprocess  > ros_controllers:make `cd /home/wmmc88/uwrt_catkin_ws/build/ros_controllers; catkin build --get-env ros_controllers | catkin env -si  /usr/bin/make --jobserver-auth=3,4; cd -`                                                      
Output     << ros_controllers:make /home/wmmc88/uwrt_catkin_ws/logs/ros_controllers/build.make.000.log                                                                                                                                            
/usr/bin/cmake -S/home/wmmc88/uwrt_catkin_ws/src/ros_controllers/ros_controllers -B/home/wmmc88/uwrt_catkin_ws/build/ros_controllers --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/wmmc88/uwrt_catkin_ws/build/ros_controllers/CMakeFiles /home/wmmc88/uwrt_catkin_ws/build/ros_controllers/CMakeFiles/progress.marks
/usr/bin/make -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/home/wmmc88/uwrt_catkin_ws/build/ros_controllers'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/wmmc88/uwrt_catkin_ws/build/ros_controllers'
/usr/bin/cmake -E cmake_progress_start /home/wmmc88/uwrt_catkin_ws/build/ros_controllers/CMakeFiles 0
cd /home/wmmc88/uwrt_catkin_ws/build/ros_controllers; catkin build --get-env ros_controllers | catkin env -si  /usr/bin/make --jobserver-auth=3,4; cd -
Finished   << ros_controllers:make                                                                                                                                                                                                                
Starting   >> ros_controllers:symlink                                                                                                                                                                                                             
Finished  <<< ros_controllers                      [ 1.0 seconds ]                                                                                                                                                                                
[build] Summary: All 2 packages succeeded!                                                                                                                                                                                                        
[build]   Ignored:   35 packages were skipped or are blacklisted.                                                                                                                                                                                 
[build]   Warnings:  None.                                                                                                                                                                                                                        
[build]   Abandoned: None.                                                                                                                                                                                                                        
[build]   Failed:    None.                                                                                                                                                                                                                        
[build] Runtime: 2.1 seconds total.                                                                                                                                                                                                               
[build] Note: Workspace packages have changed, please re-source setup files to use them.

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

No branches or pull requests

2 participants