catkin_tools
catkin_tools copied to clipboard
whitelist and blacklist don't work nicely for metapkgs
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
sayscatkin_tools 0.5.0
but I installed on Jan 18 2021 withpip3 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.