Giter Club home page Giter Club logo

colcon-core's Introduction

colcon - collective construction

colcon is a command line tool to improve the workflow of building, testing and using multiple software packages. It automates the process, handles the ordering and sets up the environment to use the packages.

For more information see colcon.readthedocs.io.

colcon-core's People

Contributors

bimble avatar brawner avatar christophebedard avatar clalancette avatar claraberendsen avatar cottsay avatar dirk-thomas avatar esteve avatar ijnek avatar j-rivero avatar jacobperron avatar meyerj avatar mikaelarguedas avatar mikepurvis avatar mosfet80 avatar murphm8 avatar nuclearsandwich avatar rotu avatar seanyen avatar sloretz avatar tobiasblass avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

colcon-core's Issues

python3-colcon `colcon build` reports an error on Ubuntu Xenial

colcon build on an ubuntu:xenial container reports the following error:

ERROR:colcon.colcon_core.entry_point:Exception loading extension 'colcon_core.package_identification.python': No module named 'setuptools.config'

It looks like the system packaged setuptools doesn't include this module in xenial - this can be worked around by upgrading the system setuptools using sudo python3 -m pip install setuptools -U.

Exception in shell extension 'bat'

Opening here with hopes someone is aware of something that has changed recently.

Trying to figure out what has caused my CI to fail with a colcon error: https://ci.ros2.org/job/ci_windows/4366/console

I'm only testing changes to the rmw_opensplice repo so I suspect this would fail on master currently too.

Starting >>> rosidl_typesupport_connext_cpp
00:08:47.464 colcon.colcon_core.shell ERROR Exception in shell extension 'bat': Expected ['C:\\J\\workspace\\ci_windows\\ws\\build\\rosidl_typesupport_connext_cpp\\colcon_command_prefix_build.bat', '&&', 'set'] to pass
00:08:47.465 Traceback (most recent call last):
00:08:47.465   File "C:\Python36\lib\site-packages\colcon_core\shell\__init__.py", line 208, in get_command_environment
00:08:47.465     task_name, Path(build_base), dependencies)
00:08:47.465   File "C:\Python36\lib\site-packages\colcon_core\shell\bat.py", line 97, in generate_command_environment
00:08:47.465     env = await get_environment_variables(cmd, cwd=str(build_base))
00:08:47.465   File "C:\Python36\lib\site-packages\colcon_core\shell\__init__.py", line 244, in get_environment_variables
00:08:47.465     output = await check_output(cmd, cwd=cwd, shell=shell)
00:08:47.465   File "C:\Python36\lib\site-packages\colcon_core\subprocess.py", line 108, in check_output
00:08:47.466     assert not rc, 'Expected {args} to pass'.format_map(locals())
00:08:47.466 AssertionError: Expected ['C:\\J\\workspace\\ci_windows\\ws\\build\\rosidl_typesupport_connext_cpp\\colcon_command_prefix_build.bat', '&&', 'set'] to pass
00:08:47.466 
00:08:47.468 colcon.colcon_cmake.task.cmake.build ERROR Could not find a shell extension for the command environment
00:08:47.476 Failed   <<< rosidl_typesupport_connext_cpp	 [ Exited with code 1 ]

Dependencies of package in overlay workspace required to be in the overlay

I am trying to build a single package in an overlay workspace. colcon seems to be looking for the dependencies of that package to be in the overlay workspace. Ordinarily I would expect it to find the dependencies in the underlay workspace and not look for them in the overlay.

dhood@osrf-esteve:~/ros2_overlay [ros2_overlay]$ colcon build --packages-select ros2param
Starting >>> ros2param
[0.472s] ERROR:colcon.colcon_core.task.python.build:Failed to find the following files:
- /home/dhood/ros2_overlay/install/rclpy/share/rclpy/package.sh
- /home/dhood/ros2_overlay/install/ros2cli/share/ros2cli/package.sh
- /home/dhood/ros2_overlay/install/ros2node/share/ros2node/package.sh
Check that the following packages have been built:
- rclpy
- ros2cli
- ros2node
Failed   <<< ros2param	[ Exited with code 1 ]

Summary: 0 packages finished [0.36s]
  1 package failed: ros2param

Info related to how my workspace is setup: I sourced ~/ros2_bouncy/install/setup.bash and now am trying to build in ~/ros2_overlay.

dhood@osrf-esteve:~/ros2_overlay [ros2_overlay]$ ros2 pkg prefix ros2cli
/home/dhood/ros2_bouncy/install
dhood@osrf-esteve:~/ros2_overlay [ros2_overlay]$ ros2 pkg prefix rclpy
/home/dhood/ros2_bouncy/install
dhood@osrf-esteve:~/ros2_overlay [ros2_overlay]$ env | grep PATH
CMAKE_MODULE_PATH=/home/dhood/ros2_bouncy/install
COLCON_PREFIX_PATH=/home/dhood/ros2_bouncy/install
AMENT_PREFIX_PATH=/home/dhood/ros2_bouncy/install
LD_LIBRARY_PATH=/home/dhood/ros2_bouncy/install/lib:/home/dhood/ros2_bouncy/install/opt/rviz_yaml_cpp_vendor/lib:/home/dhood/ros2_bouncy/install/opt/rviz_ogre_vendor/lib:/home/dhood/ros2_bouncy/install/opt/rviz_assimp_vendor/lib:/usr/lib:/opt/rti.com/rti_connext_dds-5.3.1/lib/x64Linux3gcc5.4.0
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
DEFAULTS_PATH=/usr/share/gconf/cinnamon.default.path
PATH=/home/dhood/ros2_bouncy/install/bin:/opt/rti.com/rti_connext_dds-5.3.1/lib/x64Linux3gcc5.4.0:/opt/rti.com/rti_connext_dds-5.3.1/bin:/home/dhood/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
MANDATORY_PATH=/usr/share/gconf/cinnamon.mandatory.path
PYTHONPATH=/home/dhood/ros2_bouncy/install/lib/python3.5/site-packages
CMAKE_PREFIX_PATH=/home/dhood/ros2_bouncy/install
OSPL_TMPL_PATH=/usr/etc/opensplice/idlpp

$ ament build --isolated --only ros2param works fine in the same directory.

The underlay was built with --merge-install but using that in the overlay didn't change anything.

console_direct doesnt display stderr directly

CMake warnings are displayed only once the build is finished rather than directly.
e.g. here I added message(WARNING "NOT using security!") to the CMakeLists that I expect to be printed during the CMake configure step. But it is not displayed before the end of the make phase.

$ colcon build --packages-up-to fastrtps --event-handler console_direct+
Starting >>> fastrtps
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.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     
-- Configuring Fast RTPS
-- Version: 1.5.0
-- To change de version modify the file configure.ac
-- Performing Test SUPPORTS_CXX11
-- Performing Test SUPPORTS_CXX11 - Success
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found           
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found              
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- fastcdr library not found...
-- Found asio: /usr/include  
-- Found tinyxml2: /usr/lib/x86_64-linux-gnu/libtinyxml2.so  
-- Looking for pthread.h
-- Looking for pthread.h - found             
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Configuring done
-- Generating done
-- Build files have been written to: /home/mikael/work/ros2/current_ws/build/fastrtps
Scanning dependencies of target fastrtps     
[  2%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/utils/eClock.cpp.o
[  3%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/log/StdoutConsumer.cpp.o
[  4%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/utils/IPFinder.cpp.o
[  2%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/log/Log.cpp.o
[  5%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/utils/md5.cpp.o
[  6%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/utils/StringMatching.cpp.o
[  7%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/resources/ResourceEvent.cpp.o
[  9%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/resources/TimedEvent.cpp.o
[ 10%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/resources/TimedEventImpl.cpp.o
[ 11%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/resources/AsyncWriterThread.cpp.o
[ 12%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/resources/AsyncInterestTree.cpp.o
[ 13%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/Endpoint.cpp.o
[ 14%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/writer/RTPSWriter.cpp.o
[ 15%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/writer/StatefulWriter.cpp.o
[ 17%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/writer/ReaderProxy.cpp.o
[ 18%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/writer/StatelessWriter.cpp.o
[ 19%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/writer/ReaderLocator.cpp.o
[ 20%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/writer/timedevent/PeriodicHeartbeat.cpp.o
[ 21%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/writer/timedevent/NackResponseDelay.cpp.o
[ 22%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/writer/timedevent/NackSupressionDuration.cpp.o
[ 23%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/history/CacheChangePool.cpp.o
[ 25%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/history/History.cpp.o
[ 26%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/history/WriterHistory.cpp.o
[ 27%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/history/ReaderHistory.cpp.o
[ 28%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/reader/timedevent/HeartbeatResponseDelay.cpp.o
[ 29%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/reader/timedevent/WriterProxyLiveliness.cpp.o
[ 30%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/reader/timedevent/InitialAckNack.cpp.o
[ 31%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/reader/CompoundReaderListener.cpp.o
[ 32%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/reader/WriterProxy.cpp.o
[ 34%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/reader/StatefulReader.cpp.o
[ 35%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/reader/StatelessReader.cpp.o
[ 36%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/reader/RTPSReader.cpp.o
[ 37%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/reader/FragmentedChangePitStop.cpp.o
[ 38%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/messages/CDRMessagePool.cpp.o
[ 39%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/messages/RTPSMessageCreator.cpp.o
[ 40%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/messages/RTPSMessageGroup.cpp.o
[ 42%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/messages/MessageReceiver.cpp.o
[ 43%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/network/NetworkFactory.cpp.o
[ 44%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/network/SenderResource.cpp.o
[ 45%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/network/ReceiverResource.cpp.o
[ 46%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/participant/RTPSParticipant.cpp.o
[ 47%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/participant/RTPSParticipantImpl.cpp.o
[ 48%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/RTPSDomain.cpp.o
[ 50%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/Domain.cpp.o
[ 51%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/participant/Participant.cpp.o
[ 52%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/participant/ParticipantImpl.cpp.o
[ 53%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/publisher/Publisher.cpp.o
[ 54%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/publisher/PublisherImpl.cpp.o
[ 55%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/publisher/PublisherHistory.cpp.o
[ 56%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/subscriber/Subscriber.cpp.o
[ 57%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/subscriber/SubscriberImpl.cpp.o
[ 59%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/subscriber/SubscriberHistory.cpp.o
[ 60%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/transport/UDPv4Transport.cpp.o
[ 61%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/transport/UDPv6Transport.cpp.o
[ 62%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/transport/test_UDPv4Transport.cpp.o
[ 63%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/qos/ParameterList.cpp.o
[ 64%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/qos/ParameterTypes.cpp.o
[ 65%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/qos/QosList.cpp.o
[ 67%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/qos/QosPolicies.cpp.o
[ 68%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/qos/WriterQos.cpp.o
[ 69%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/qos/ReaderQos.cpp.o
[ 70%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/builtin/BuiltinProtocols.cpp.o
[ 71%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/builtin/discovery/participant/PDPSimple.cpp.o
[ 72%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/builtin/discovery/participant/PDPSimpleListener.cpp.o
[ 73%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/builtin/discovery/participant/timedevent/RemoteParticipantLeaseDuration.cpp.o
[ 75%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/builtin/discovery/participant/timedevent/ResendParticipantProxyDataPeriod.cpp.o
[ 76%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/builtin/discovery/endpoint/EDP.cpp.o
[ 77%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/builtin/discovery/endpoint/EDPSimple.cpp.o
[ 78%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/builtin/discovery/endpoint/EDPSimpleListeners.cpp.o
[ 79%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/builtin/discovery/endpoint/EDPStatic.cpp.o
[ 80%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/builtin/liveliness/WLP.cpp.o
[ 81%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/builtin/liveliness/WLPListener.cpp.o
[ 82%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/builtin/liveliness/timedevent/WLivelinessPeriodicAssertion.cpp.o
[ 84%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/builtin/data/ParticipantProxyData.cpp.o
[ 85%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/builtin/data/WriterProxyData.cpp.o
[ 86%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/builtin/data/ReaderProxyData.cpp.o
[ 87%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/flowcontrol/ThroughputController.cpp.o
[ 88%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/flowcontrol/ThroughputControllerDescriptor.cpp.o
[ 89%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/flowcontrol/FlowController.cpp.o
[ 90%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/exceptions/Exception.cpp.o
[ 92%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/attributes/PropertyPolicy.cpp.o
[ 93%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/common/Token.cpp.o
[ 94%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/xmlparser/XMLParserCommon.cpp.o
[ 95%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/xmlparser/XMLElementParser.cpp.o
[ 96%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/xmlparser/XMLEndpointParser.cpp.o
[ 97%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/xmlparser/XMLProfileManager.cpp.o
[ 98%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/xmlparser/XMLParser.cpp.o
[100%] Linking CXX shared library libfastrtps.so   
src/cpp/CMakeFiles/fastrtps.dir/build.make:2331: recipe for target 'src/cpp/libfastrtps.so.1.5.0' failed
CMakeFiles/Makefile2:85: recipe for target 'src/cpp/CMakeFiles/fastrtps.dir/all' failed
Makefile:149: recipe for target 'all' failed
CMake Warning at CMakeLists.txt:214 (message):
  NOT using security!


/usr/bin/ld: cannot find -lfastcdr
collect2: error: ld returned 1 exit status
make[2]: *** [src/cpp/libfastrtps.so.1.5.0] Error 1
make[1]: *** [src/cpp/CMakeFiles/fastrtps.dir/all] Error 2
make: *** [all] Error 2
--- stderr: fastrtps
CMake Warning at CMakeLists.txt:214 (message):
  NOT using security!


/usr/bin/ld: cannot find -lfastcdr
collect2: error: ld returned 1 exit status
make[2]: *** [src/cpp/libfastrtps.so.1.5.0] Error 1
make[1]: *** [src/cpp/CMakeFiles/fastrtps.dir/all] Error 2
make: *** [all] Error 2
---
Failed   <<< fastrtps	 [ Exited with code 2 ]

Summary: 0 packages finished [28.46s]
  1 package failed: fastrtps
  1 package had stderr output: fastrtps

[colcon-parallel-executor] Unable to stop `test` with Ctrl+C when testing in parallel

If I run colcon test on a workspace and try to interrupt it, it aborts the current tasks but trigger the following packages anyway.

If I use --executor sequential it works fine (abort the current package and doesnt trigger the following ones).

$ colcon test --build-base $ROS2_WS/build_debug_isolated --install-base $ROS2_WS/install_debug_isolated
Starting >>> ament_package
Starting >>> ament_flake8
Starting >>> fastcdr
Starting >>> ament_cppcheck
Starting >>> poco_vendor
Starting >>> gtest_vendor
Starting >>> osrf_pycommon
Starting >>> tinyxml_vendor
Starting >>> urdfdom_headers
Starting >>> orocos_kdl
Starting >>> tinyxml2_vendor
Starting >>> osrf_testing_tools_cpp
^CFailed to import the site moduleg] [ament_cppcheck - 0.6s] [osrf_testing_tools_cpp - 0.6s] [ament_package - 0.6s] [urdfdom_headers - 0.6s] ...
Traceback (most recent call last):
  File "/home/mikael/work/ros2/bouncy_ws/install_debug_isolated/ament_cppcheck/lib/python3.5/site-packages/site.py", line 73, in <module>
Finished <<< ament_cppcheck [0.57s]                                                                                                             
Starting >>> ament_pep8                                                                                                                         
--- stderr: ament_package
interrupted
---
Aborted  <<< ament_package
--- stderr: ament_flake8
Failed to import the site module
Traceback (most recent call last):
  File "/home/mikael/work/ros2/bouncy_ws/install_debug_isolated/ament_flake8/lib/python3.5/site-packages/site.py", line 73, in <module>
    __boot()
  File "/home/mikael/work/ros2/bouncy_ws/install_debug_isolated/ament_flake8/lib/python3.5/site-packages/site.py", line 47, in __boot
    addsitedir(item)
  File "/usr/lib/python3.5/site.py", line 198, in addsitedir
    known_paths = _init_pathinfo()
  File "/usr/lib/python3.5/site.py", line 145, in _init_pathinfo
    dir, dircase = makepath(dir)
  File "/usr/lib/python3.5/site.py", line 98, in makepath
    dir = os.path.abspath(dir)
  File "/usr/lib/python3.5/posixpath.py", line 363, in abspath
    return normpath(path)
  File "/usr/lib/python3.5/posixpath.py", line 341, in normpath
    if comp in (empty, dot):
KeyboardInterrupt
---
Aborted  <<< ament_flake8
Aborted  <<< poco_vendor
Aborted  <<< gtest_vendor
Aborted  <<< tinyxml_vendor
Aborted  <<< orocos_kdl
Aborted  <<< tinyxml2_vendor
Starting >>> ament_cmake_core
Starting >>> ament_pep257
Aborted  <<< fastcdr
Aborted  <<< urdfdom_headers
Starting >>> fastrtps                                                                                                                       
Starting >>> gmock_vendor
Aborted  <<< osrf_testing_tools_cpp                                                                                                         
Starting >>> test_osrf_testing_tools_cpp
Finished <<< ament_cmake_core [0.58s]                                                                                                            
Starting >>> ament_cmake_test                                                                                                            
Starting >>> ament_cmake_libraries
Starting >>> ament_cmake_export_libraries
Starting >>> ament_cmake_include_directories
Starting >>> ament_cmake_export_definitions
Starting >>> ament_cmake_export_include_directories
Finished <<< fastrtps [0.42s]
Finished <<< gmock_vendor [0.42s]
Starting >>> ament_cmake_export_link_flags
Starting >>> ament_cmake_python                                                                                                            
Finished <<< ament_cmake_test [0.15s]
Finished <<< ament_cmake_libraries [0.14s]
Finished <<< ament_cmake_export_libraries [0.13s]
Finished <<< ament_cmake_include_directories [0.12s]
Finished <<< ament_cmake_export_definitions [0.11s]
Starting >>> ament_cmake_export_dependencies
Starting >>> ament_cmake_export_interfaces
Starting >>> ament_cmake_target_dependencies                                                                                     
Starting >>> ament_lint_auto
Starting >>> ament_cmake_gtest
Finished <<< ament_cmake_export_include_directories [0.17s]
Starting >>> ament_cmake_pytest
Finished <<< ament_cmake_export_link_flags [0.15s]
Finished <<< ament_cmake_python [0.11s]
Starting >>> ros_environment
Starting >>> ament_cmake_nose
Finished <<< ament_pep8 [0.96s]                                                                                                                 
Finished <<< test_osrf_testing_tools_cpp [0.64s]
Finished <<< ament_cmake_export_dependencies [0.20s]
Finished <<< ament_cmake_export_interfaces [0.18s]
Finished <<< ament_cmake_target_dependencies [0.17s]
Finished <<< ament_lint_auto [0.17s]
Starting >>> ament_pyflakes
Starting >>> ament_cmake
Finished <<< ament_cmake_gtest [0.16s]
Finished <<< ament_cmake_pytest [0.14s]
Finished <<< ros_environment [0.11s]
Finished <<< ament_cmake_nose [0.10s]
Starting >>> ament_cmake_gmock
--- stderr: osrf_pycommon                                                                                                                                
test_call_prepare_arguments (tests.unit.test_cli_utils.test_verb_pattern.TestCliUtilsVerbPattern) ... /home/mikael/work/ros2/bouncy_ws/build_debug_isolated/osrf_pycommon/osrf_pycommon/cli_utils/verb_pattern.py:44: DeprecationWarning: inspect.getargspec() is deprecated, use inspect.signature() instead
  arguments, _, _, defaults = inspect.getargspec(func)
/home/mikael/work/ros2/bouncy_ws/src/ament/osrf_pycommon/tests/unit/test_cli_utils/test_verb_pattern.py:69: DeprecationWarning: Please use assertRaisesRegex instead.
  with self.assertRaisesRegexp(ValueError, 'one or two parameters'):
/home/mikael/work/ros2/bouncy_ws/build_debug_isolated/osrf_pycommon/osrf_pycommon/cli_utils/verb_pattern.py:55: DeprecationWarning: inspect.getargspec() is deprecated, use inspect.signature() instead
  ', '.join(inspect.getargspec(func)[0])))
ok
test_split_arguments_by_verb (tests.unit.test_cli_utils.test_verb_pattern.TestCliUtilsVerbPattern) ... ok
test_is_tty (tests.unit.test_terminal_utils.TestTerminalUtils) ... ok
test__execute_process_pty (tests.unit.test_process_utils.test_execute_process_pty.TestProcessUtilsExecuteNoPty) ... ok
test__execute_process_pty_combined (tests.unit.test_process_utils.test_execute_process_pty.TestProcessUtilsExecuteNoPty) ... ok
test__execute_process_pty_combined_unbuffered (tests.unit.test_process_utils.test_execute_process_pty.TestProcessUtilsExecuteNoPty) ... ok
test__execute_process_pty_unbuffered (tests.unit.test_process_utils.test_execute_process_pty.TestProcessUtilsExecuteNoPty) ... ok
test_which (tests.unit.test_process_utils.test_impl.TestProcessUtilsImpl) ... ok
test__execute_process_nopty (tests.unit.test_process_utils.test_execute_process_nopty.TestProcessUtilsExecuteNoPty) ... /home/mikael/work/ros2/bouncy_ws/src/ament/osrf_pycommon/tests/unit/test_process_utils/test_execute_process_nopty.py:127: ResourceWarning: unclosed file <_io.BufferedWriter name=13>
  break
/home/mikael/work/ros2/bouncy_ws/src/ament/osrf_pycommon/tests/unit/test_process_utils/test_execute_process_nopty.py:127: ResourceWarning: unclosed file <_io.BufferedReader name=14>
  break
/home/mikael/work/ros2/bouncy_ws/src/ament/osrf_pycommon/tests/unit/test_process_utils/test_execute_process_nopty.py:127: ResourceWarning: unclosed file <_io.BufferedReader name=16>
  break
ok
test__execute_process_nopty_combined (tests.unit.test_process_utils.test_execute_process_nopty.TestProcessUtilsExecuteNoPty) ... /home/mikael/work/ros2/bouncy_ws/src/ament/osrf_pycommon/tests/unit/test_process_utils/test_execute_process_nopty.py:104: ResourceWarning: unclosed file <_io.BufferedWriter name=13>
  break
/home/mikael/work/ros2/bouncy_ws/src/ament/osrf_pycommon/tests/unit/test_process_utils/test_execute_process_nopty.py:104: ResourceWarning: unclosed file <_io.BufferedReader name=14>
  break
ok
test__execute_process_nopty_combined_unbuffered (tests.unit.test_process_utils.test_execute_process_nopty.TestProcessUtilsExecuteNoPty) ... /home/mikael/work/ros2/bouncy_ws/src/ament/osrf_pycommon/tests/unit/test_process_utils/test_execute_process_nopty.py:58: ResourceWarning: unclosed file <_io.BufferedWriter name=13>
  break
/home/mikael/work/ros2/bouncy_ws/src/ament/osrf_pycommon/tests/unit/test_process_utils/test_execute_process_nopty.py:58: ResourceWarning: unclosed file <_io.BufferedReader name=14>
  break
ok
test__execute_process_nopty_unbuffered (tests.unit.test_process_utils.test_execute_process_nopty.TestProcessUtilsExecuteNoPty) ... /home/mikael/work/ros2/bouncy_ws/src/ament/osrf_pycommon/tests/unit/test_process_utils/test_execute_process_nopty.py:81: ResourceWarning: unclosed file <_io.BufferedWriter name=13>
  break
/home/mikael/work/ros2/bouncy_ws/src/ament/osrf_pycommon/tests/unit/test_process_utils/test_execute_process_nopty.py:81: ResourceWarning: unclosed file <_io.BufferedReader name=14>
  break
/home/mikael/work/ros2/bouncy_ws/src/ament/osrf_pycommon/tests/unit/test_process_utils/test_execute_process_nopty.py:81: ResourceWarning: unclosed file <_io.BufferedReader name=16>
  break
ok
test__process_incomming_lines (tests.unit.test_process_utils.test_execute_process_nopty.TestProcessUtilsExecuteNoPty) ... ok
test_async_execute_process_no_emulation_shell_false (tests.unit.test_process_utils.test_async_execute_process.TestProcessUtilsAsyncExecuteProcess) ... /usr/lib/python3.5/asyncio/base_subprocess.py:125: ResourceWarning: unclosed transport <_UnixSubprocessTransport pid=15306 returncode=0 stdin=<_UnixWritePipeTransport closed fd=13 closed> stdout=<_UnixReadPipeTransport closed fd=14 closed> stderr=<_UnixReadPipeTransport closed fd=16 closed>>
  warnings.warn("unclosed transport %r" % self, ResourceWarning)
ok
test_async_execute_process_no_emulation_shell_false_combined (tests.unit.test_process_utils.test_async_execute_process.TestProcessUtilsAsyncExecuteProcess) ... /usr/lib/python3.5/asyncio/base_subprocess.py:125: ResourceWarning: unclosed transport <_UnixSubprocessTransport pid=15313 returncode=0 stdin=<_UnixWritePipeTransport closed fd=13 closed> stdout=<_UnixReadPipeTransport closed fd=14 closed>>
  warnings.warn("unclosed transport %r" % self, ResourceWarning)
ok
test_async_execute_process_no_emulation_shell_true (tests.unit.test_process_utils.test_async_execute_process.TestProcessUtilsAsyncExecuteProcess) ... /usr/lib/python3.5/asyncio/base_subprocess.py:125: ResourceWarning: unclosed transport <_UnixSubprocessTransport pid=15325 returncode=0 stdin=<_UnixWritePipeTransport closed fd=13 closed> stdout=<_UnixReadPipeTransport closed fd=14 closed> stderr=<_UnixReadPipeTransport closed fd=16 closed>>
  warnings.warn("unclosed transport %r" % self, ResourceWarning)
ok
test_async_execute_process_no_emulation_shell_true_combined (tests.unit.test_process_utils.test_async_execute_process.TestProcessUtilsAsyncExecuteProcess) ... /usr/lib/python3.5/asyncio/base_subprocess.py:125: ResourceWarning: unclosed transport <_UnixSubprocessTransport pid=15336 returncode=0 stdin=<_UnixWritePipeTransport closed fd=13 closed> stdout=<_UnixReadPipeTransport closed fd=14 closed>>
  warnings.warn("unclosed transport %r" % self, ResourceWarning)
ok
test_async_execute_process_with_emulation_shell_false (tests.unit.test_process_utils.test_async_execute_process.TestProcessUtilsAsyncExecuteProcess) ... ok
test_async_execute_process_with_emulation_shell_false_combined (tests.unit.test_process_utils.test_async_execute_process.TestProcessUtilsAsyncExecuteProcess) ... ok
test_async_execute_process_with_emulation_shell_true (tests.unit.test_process_utils.test_async_execute_process.TestProcessUtilsAsyncExecuteProcess) ... ok
test_async_execute_process_with_emulation_shell_true_combined (tests.unit.test_process_utils.test_async_execute_process.TestProcessUtilsAsyncExecuteProcess) ... ok
test_ansi (tests.unit.test_terminal_color.test_impl.TestTerminalColorImpl) ... ok
test_enable_and_disable_ansi_color_substitution_globally (tests.unit.test_terminal_color.test_impl.TestTerminalColorImpl) ... ok
test_format_color (tests.unit.test_terminal_color.test_impl.TestTerminalColorImpl) ... ok
test_get_ansi_dict (tests.unit.test_terminal_color.test_impl.TestTerminalColorImpl) ... ok
test_sanitize (tests.unit.test_terminal_color.test_impl.TestTerminalColorImpl) ... ok
test_remove_ansi_escape_senquences (tests.unit.test_terminal_color.test_ansi_re.TestTerminalColorAnsiRe) ... ok
test_remove_ansi_escape_senquences_false_positives (tests.unit.test_terminal_color.test_ansi_re.TestTerminalColorAnsiRe) ... ok
test_split_by_ansi_escape_sequence (tests.unit.test_terminal_color.test_ansi_re.TestTerminalColorAnsiRe) ... ok

----------------------------------------------------------------------
Ran 29 tests in 0.835s

OK
---
Aborted  <<< osrf_pycommon
Finished <<< ament_cmake [0.28s]
Starting >>> uncrustify_vendor
Starting >>> libyaml_vendor
Starting >>> console_bridge_vendor
Starting >>> ament_cmake_auto
Starting >>> libcurl_vendor
Starting >>> rviz_assimp_vendor                                                                                                              
Starting >>> rviz_ogre_vendor
Starting >>> rviz_yaml_cpp_vendor
Starting >>> angles
Finished <<< ament_cmake_gmock [0.39s]
Finished <<< uncrustify_vendor [0.16s]                                                                                               
Finished <<< console_bridge_vendor [0.15s]
Finished <<< ament_cmake_auto [0.14s]
Finished <<< libcurl_vendor [0.12s]
Finished <<< libyaml_vendor [0.16s]
Starting >>> ament_uncrustify
Starting >>> urdfdom
Finished <<< rviz_yaml_cpp_vendor [0.10s]
Finished <<< angles [0.09s]
Finished <<< rviz_assimp_vendor [0.13s]
Finished <<< ament_pep257 [1.43s]
Starting >>> ament_copyright                                                                                                     
Starting >>> ament_index_python
Finished <<< rviz_ogre_vendor [0.40s]                                                                                                           
Finished <<< ament_pyflakes [1.30s]                                                                                                    
Finished <<< ament_uncrustify [0.85s]
Finished <<< urdfdom [0.89s]                                                                              
Finished <<< ament_copyright [1.30s]                                                       
Starting >>> ament_lint_cmake
Starting >>> ament_cpplint
Starting >>> ament_xmllint                                                                                       
Starting >>> launch
Starting >>> ament_clang_format
Starting >>> ament_pclint
Starting >>> ament_tools
Finished <<< ament_pclint [1.71s]                                                                                                          
Finished <<< ament_clang_format [1.72s]
Finished <<< ament_index_python [3.34s]                                                                                                                   
Finished <<< ament_lint_cmake [2.05s]
Starting >>> ament_cmake_lint_cmake
Finished <<< ament_cpplint [2.17s]                                                                                                                     
Finished <<< ament_xmllint [2.40s]                                                                                              
Finished <<< ament_cmake_lint_cmake [0.43s]                                                              
Starting >>> ament_cmake_copyright
--- stderr: ament_tools                                                                                 

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK
---
Finished <<< ament_tools [2.48s]
Finished <<< ament_cmake_copyright [0.92s]                                          
Starting >>> ament_cmake_cppcheck
Starting >>> ament_cmake_cpplint
Starting >>> ament_cmake_uncrustify
Starting >>> ament_cmake_flake8
Starting >>> ament_cmake_pep257                                                                                                     
Starting >>> ament_cmake_xmllint
Starting >>> ament_cmake_clang_format
Starting >>> ament_cmake_pclint
Starting >>> ament_cmake_pep8
Starting >>> ament_cmake_pyflakes
Failed   <<< ament_cmake_clang_format   [ Exited with code -2 ]                                                                        
Failed   <<< ament_cmake_pep8   [ Exited with code -2 ]                                                                                         
Failed   <<< ament_cmake_pep257 [ Exited with code -2 ]                                                                                        
Failed   <<< ament_cmake_cppcheck	[ Exited with code -2 ]
Failed   <<< ament_cmake_pclint	[ Exited with code -2 ]
Failed   <<< ament_cmake_cpplint	[ Exited with code -2 ]
Failed   <<< ament_cmake_flake8	[ Exited with code -2 ]
Failed   <<< ament_cmake_uncrustify	[ Exited with code -2 ]
Failed   <<< ament_cmake_xmllint	[ Exited with code -2 ]
Starting >>> ament_lint_common
Failed   <<< ament_cmake_pyflakes	[ Exited with code -2 ]
Finished <<< ament_lint_common [0.00s]
Starting >>> rosidl_parser
Starting >>> rosidl_typesupport_interface
Starting >>> fastrtps_cmake_module
Starting >>> connext_cmake_module
Starting >>> opensplice_cmake_module
Starting >>> rmw_implementation_cmake
Starting >>> python_cmake_module
Starting >>> ament_cmake_ros
Starting >>> ament_index_cpp
Starting >>> class_loader
Starting >>> tlsf
Finished <<< tlsf [0.05s]
Starting >>> rttest
Finished <<< python_cmake_module [2.08s]                                                                                                               
Finished <<< rosidl_typesupport_interface [3.59s]                                                                         
Finished <<< fastrtps_cmake_module [3.62s]
Finished <<< connext_cmake_module [3.62s]
Finished <<< opensplice_cmake_module [3.64s]
Finished <<< rmw_implementation_cmake [3.65s]
Finished <<< ament_cmake_ros [3.66s]
Starting >>> urdf
Finished <<< ament_index_cpp [3.69s]                                                                                                                     
Starting >>> resource_retriever
Finished <<< resource_retriever [0.00s]
Starting >>> rviz_rendering
Failed   <<< rosidl_parser      [ Exited with code -2 ]                                                                                                 ..
Starting >>> rosidl_cmake
Failed   <<< class_loader       [ Exited with code -2 ]                                                                                                
Failed   <<< rttest	[ Exited with code -2 ]
Failed   <<< urdf	[ Exited with code -2 ]
Failed   <<< rviz_rendering	[ Exited with code -2 ]
Starting >>> kdl_parser
Starting >>> rviz_rendering_tests
Finished <<< kdl_parser [2.15s]                                                                                                           
Finished <<< rosidl_cmake [2.50s]                                                                                     
Starting >>> rosidl_generator_c
Starting >>> rosidl_generator_dds_idl
Finished <<< rviz_rendering_tests [2.86s]                                                                                                        
Finished <<< rosidl_generator_dds_idl [2.41s]                                                                                   
Finished <<< launch [15.9s]                                                                   
Starting >>> launch_testing
Finished <<< launch_testing [1.38s]                                                                  
Starting >>> rcutils
Finished <<< rosidl_generator_c [10.5s]                                                        
Starting >>> rosidl_generator_cpp
Starting >>> rosidl_typesupport_introspection_c
Finished <<< rosidl_typesupport_introspection_c [3.92s]                                                                                     
Finished <<< rcutils [13.0s]                                                                     
Starting >>> rmw
Starting >>> pluginlib
Finished <<< pluginlib [0.05s]
Finished <<< rmw [4.36s]                                                                     
Starting >>> rmw_fastrtps_shared_cpp
Starting >>> rmw_connext_shared_cpp
Finished <<< rosidl_generator_cpp [14.7s]                                                                                                        
Starting >>> rosidl_typesupport_connext_cpp
Starting >>> rosidl_typesupport_fastrtps_cpp
Starting >>> rosidl_typesupport_opensplice_cpp
Starting >>> rosidl_typesupport_introspection_cpp
Finished <<< rmw_connext_shared_cpp [4.08s]                                                                                               
Finished <<< rmw_fastrtps_shared_cpp [4.49s]                                                                                          
Finished <<< rosidl_typesupport_fastrtps_cpp [4.07s]                                                                                  
Starting >>> rosidl_typesupport_fastrtps_c
Finished <<< rosidl_typesupport_connext_cpp [4.15s]                                                                                        
Starting >>> rosidl_typesupport_connext_c
Finished <<< rosidl_typesupport_introspection_cpp [4.73s]                                                                                 
Starting >>> rmw_fastrtps_dynamic_cpp
Finished <<< rosidl_typesupport_opensplice_cpp [4.80s]                                                                        
Starting >>> rosidl_typesupport_opensplice_c
Failed   <<< rmw_fastrtps_dynamic_cpp   [ Exited with code -2 ]                                                                 
Failed   <<< rosidl_typesupport_opensplice_c    [ Exited with code -2 ]                                                            
Starting >>> rmw_opensplice_cpp
Failed   <<< rosidl_typesupport_fastrtps_c	[ Exited with code -2 ]
Failed   <<< rosidl_typesupport_connext_c	[ Exited with code -2 ]
Starting >>> rmw_connext_cpp
Starting >>> rmw_fastrtps_cpp
Failed   <<< rmw_opensplice_cpp [ Exited with code -2 ]                                                                            
Failed   <<< rmw_connext_cpp	[ Exited with code -2 ]
Failed   <<< rmw_fastrtps_cpp	[ Exited with code -2 ]
Starting >>> rmw_implementation
Failed   <<< rmw_implementation [ Exited with code -2 ]             
Starting >>> rosidl_typesupport_c
Failed   <<< rosidl_typesupport_c       [ Exited with code -2 ]       
Starting >>> rosidl_generator_py
Starting >>> rosidl_typesupport_cpp
Failed   <<< rosidl_generator_py        [ Exited with code -2 ]                                                  
Failed   <<< rosidl_typesupport_cpp	[ Exited with code -2 ]
Starting >>> rosidl_default_runtime
Starting >>> rosidl_default_generators
Failed   <<< rosidl_default_runtime     [ Exited with code -2 ]                                                        
Failed   <<< rosidl_default_generators	[ Exited with code -2 ]
Starting >>> builtin_interfaces
Starting >>> rcl_interfaces
Starting >>> lifecycle_msgs
Starting >>> example_interfaces                                                                                               
Starting >>> std_srvs
Finished <<< example_interfaces [0.12s]                                                                                                             ..
Failed   <<< rcl_interfaces     [ Exited with code -2 ]                                                                                           
Failed   <<< std_srvs	[ Exited with code -2 ]
Failed   <<< lifecycle_msgs	[ Exited with code -2 ]
Failed   <<< builtin_interfaces	[ Exited with code -2 ]
Starting >>> std_msgs
Starting >>> rosgraph_msgs
Starting >>> test_msgs
Starting >>> pendulum_msgs
Finished <<< pendulum_msgs [0.11s]                                                                                                   s]
Failed   <<< test_msgs  [ Exited with code -2 ]                                                                 
Starting >>> rcl
Failed   <<< std_msgs	[ Exited with code -2 ]
Starting >>> geometry_msgs
Starting >>> actionlib_msgs
Failed   <<< rosgraph_msgs	[ Exited with code -2 ]
Failed   <<< geometry_msgs      [ Exited with code -2 ]                                                         
Starting >>> sensor_msgs
Starting >>> tf2
Starting >>> tf2_msgs
Starting >>> nav_msgs
Starting >>> visualization_msgs
Starting >>> diagnostic_msgs                                                                                                                       
Starting >>> shape_msgs
^CStarting >>> trajectory_msgs
Failed   <<< rcl	[ Exited with code -2 ]
Failed   <<< actionlib_msgs	[ Exited with code -2 ]
Starting >>> rcl_yaml_param_parser
Starting >>> rcl_lifecycle                                                                                                                     
Finished <<< tf2_msgs [0.23s]
Failed   <<< visualization_msgs [ Exited with code -2 ]                                                                                          
Failed   <<< sensor_msgs	[ Exited with code -2 ]
Failed   <<< tf2	[ Exited with code -2 ]
Failed   <<< nav_msgs	[ Exited with code -2 ]
Starting >>> stereo_msgs
Starting >>> map_msgs
Failed   <<< trajectory_msgs    [ Exited with code -2 ]                                                                                              
Failed   <<< rcl_yaml_param_parser	[ Exited with code -2 ]
Starting >>> rclcpp
Starting >>> rclpy
Failed   <<< diagnostic_msgs    [ Exited with code -2 ]                                                                                  
Failed   <<< shape_msgs	[ Exited with code -2 ]
Failed   <<< stereo_msgs	[ Exited with code -2 ]
Failed   <<< rcl_lifecycle	[ Exited with code -2 ]
Starting >>> common_interfaces
Failed   <<< map_msgs   [ Exited with code -2 ]                                                                                 
Finished <<< common_interfaces [0.12s]
Failed   <<< rclpy      [ Exited with code -2 ]                                    
Starting >>> ros2cli
Starting >>> launch_ros
Starting >>> demo_nodes_py
Starting >>> examples_rclpy_executors
Starting >>> examples_rclpy_minimal_client
Starting >>> examples_rclpy_minimal_publisher                                                                                
Starting >>> examples_rclpy_minimal_service
Starting >>> examples_rclpy_minimal_subscriber
^CFailed   <<< rclcpp	[ Exited with code -2 ]
Starting >>> tf2_ros
Starting >>> rclcpp_lifecycle
Starting >>> laser_geometry                                                                                                               
Starting >>> composition
Finished <<< ros2cli [3.17s]                                                                                                                
Finished <<< demo_nodes_py [3.13s]
Finished <<< launch_ros [3.16s]
Starting >>> ros2pkg
Starting >>> ros2msg
Starting >>> ros2node
Finished <<< examples_rclpy_executors [3.12s]
Starting >>> ros2srv
Finished <<< examples_rclpy_minimal_client [3.12s]
Starting >>> dummy_map_server                                                                                                             
Finished <<< examples_rclpy_minimal_publisher [4.69s]                                                                         
Finished <<< tf2_ros [4.63s]
Starting >>> tf2_geometry_msgs                                                                                                                       
Starting >>> robot_state_publisher
Failed   <<< rclcpp_lifecycle	[ Exited with code -2 ]
Failed   <<< laser_geometry	[ Exited with code -2 ]
Finished <<< examples_rclpy_minimal_service [4.90s]
Failed   <<< composition	[ Exited with code -2 ]
Finished <<< examples_rclpy_minimal_subscriber [4.89s]                                                             
Starting >>> dummy_sensors
Starting >>> logging_demo
Starting >>> tlsf_cpp
Starting >>> demo_nodes_cpp
Starting >>> tf2_eigen
Finished <<< ros2node [2.40s]                                                                                                                
Starting >>> ros2param
Finished <<< ros2pkg [3.02s]                                                                                                                   
Starting >>> ros2run
Failed   <<< dummy_map_server   [ Exited with code -2 ]                                                                                        
Failed   <<< tf2_geometry_msgs	[ Exited with code -2 ]
Starting >>> rviz_common
Starting >>> ros2launch
Failed   <<< robot_state_publisher	[ Exited with code -2 ]
Failed   <<< dummy_sensors	[ Exited with code -2 ]
Failed   <<< logging_demo	[ Exited with code -2 ]
Failed   <<< tlsf_cpp	[ Exited with code -2 ]
Failed   <<< tf2_eigen	[ Exited with code -2 ]
Failed   <<< demo_nodes_cpp	[ Exited with code -2 ]
Starting >>> demo_nodes_cpp_native
Starting >>> examples_rclcpp_minimal_client
Starting >>> examples_rclcpp_minimal_composition
Starting >>> examples_rclcpp_minimal_publisher
Starting >>> examples_rclcpp_minimal_service
Starting >>> examples_rclcpp_minimal_subscriber
Finished <<< examples_rclcpp_minimal_client [0.69s]                                                                     
Finished <<< examples_rclcpp_minimal_composition [0.72s]                                                                
Starting >>> examples_rclcpp_minimal_timer
Starting >>> image_tools
Finished <<< examples_rclcpp_minimal_publisher [0.77s]
Finished <<< examples_rclcpp_minimal_service [0.77s]
Finished <<< examples_rclcpp_minimal_subscriber [0.77s]
Starting >>> intra_process_demo
Starting >>> sros2
Starting >>> topic_monitor                                                                                                                               
Finished <<< examples_rclcpp_minimal_timer [0.20s]
Starting >>> test_cli
Finished <<< ros2param [1.72s]                                                                                                                           
Starting >>> test_cli_remapping
Finished <<< ros2run [2.09s]                                                                                                          
Starting >>> dummy_robot_bringup
Finished <<< ros2launch [2.27s]                                                                                                                     
Starting >>> lifecycle
Finished <<< ros2srv [7.19s]                                                                                                                      
Starting >>> pendulum_control
Finished <<< demo_nodes_cpp_native [6.72s]                                                                                                                
Finished <<< sros2 [5.91s]
Finished <<< topic_monitor [5.89s]
Starting >>> test_communication
Starting >>> test_rclcpp
Starting >>> test_security
Finished <<< ros2msg [15.8s]                                                                                                                             
Starting >>> ros2topic
Finished <<< rviz_common [16.3s]                                                                                                                          
Starting >>> rviz_visual_testing_framework
Finished <<< test_cli [22.5s]                                                                                                                       
Starting >>> ros1_bridge
Finished <<< test_cli_remapping [22.5s]
Finished <<< dummy_robot_bringup [21.4s]
Finished <<< lifecycle [21.2s]
Finished <<< ros1_bridge [0.25s]                                                                                                                   
Finished <<< image_tools [24.6s]                                                                                                                   
Finished <<< pendulum_control [30.7s]                                                                                                               
Failed   <<< test_communication [ Exited with code -2 ]                                                                                               
Failed   <<< test_security	[ Exited with code -2 ]
Finished <<< ros2topic [46.9s]	[ with test failures ]
Starting >>> ros2service
Finished <<< rviz_visual_testing_framework [43.3s]                                                                                            
Starting >>> rviz_default_plugins
Failed   <<< test_rclcpp	[ Exited with code -2 ]
Failed   <<< intra_process_demo	[ Exited with code -2 ]
Failed   <<< rviz_default_plugins       [ Exited with code -2 ]                                            
Starting >>> rviz2
Finished <<< ros2service [1.39s]                                                          
Starting >>> ros2lifecycle
Finished <<< rviz2 [2.28s]                                                                  
Finished <<< ros2lifecycle [1.52s]                               
Starting >>> ros_core
Finished <<< ros_core [0.28s]                               
Starting >>> ros_base
Finished <<< ros_base [0.33s]                               
Starting >>> desktop
Finished <<< desktop [0.43s]

Support environment variable expansion in configuration files?

I use environment variables in my ament aliases, for example to construct build/install destination based on the workspace I'm building and the parameters I uese to build it.

Is the recommended way to do this with colcon to create bash aliases to expand these variable and to invoke colcon or is there a plan to support such use cases in the colcon configuration system?

Colcon extension for coverage results

Description

  • As a follow up for #94, I want to work on a colcon extension to parse gcov/lcov coverage result files. I'm thinking of naming it colcon-lcov-result. Below is my proposal and I'm looking for some feedback before I dive in. Thanks!

Motivation

To be able to visualize coverage results in C/C++ code using the lcov tool

Proposed workflow

colcon build --mixin coverage-gcc
colcon test
colcon lcov-result
chromium-browser lcov/index.html

For a single package:

colcon lcov-result  --zero-counters
colcon test --packages-select my_pkg
colcon lcov-result --packages-select my_pkg
chromium-browser lcov/index.html

To find packages with no coverage:

colcon build --mixin coverage-gcc
colcon lcov-result --baseline
colcon test
colcon lcov-result
chromium-browser lcov/index.html

Command and options

  • colcon lcov-result:

    1. Calls lcov --capture ... for each package
    2. If a baseline is available, it combines the results of each package with its baseline (see below for more details)
    3. Combines the results of all selected packages into one coverage result such that it can generate a static html site (in ros2_ws/lcov/) (lcov --add-tracefile + genhtml)
  • colcon lcov-result --baseline:

    • Calls lcov --initial --capture... to generate a zero-coverage baseline for each package
      • If a file has zero tests, lcov will ignore it. This baseline combined with the actual coverage will reveal these files (see ii. above)
  • colcon lcov-result --zero-counters:

    • Calls lcov --zerocounters ... on each package
    • This would allow you to clear the results and re-run tests
      • For example, if you initially ran two tests and subsequently want to run them individually.

colcon.pkg is read but not used

I'm trying to do package-specific CMake configuration by putting a "build" section into a colcon.pkg file in my package, but it is ignored.

e.g.

{
  "name": "pkg",
  "build": {
    "cmake-args": [ "-DMYOPTION=ON" ]
  }
}

This metadata is displayed by "colcon info" for the package. However, the invocation of cmake does not include the given option.

I also tried with a simple string argument, as well as calling it "cmake_args", but to no avail.

This is with colcon-core 0.3.9 and all the packages updates installed as of this moment (19th of September 2018m 14:00 CEST)

Better error msg if compile-time Python not found at sourcing time on Windows

Since #70 we use Python to source packages in topological order.
If the python executable is not found it crashes with The system cannot find the path specified.

We should provide a better error message so that users know what fails.

One way to do it might be to check that the file exist before calling it. But it may be to expensive...

Log file conflicts when running colcon with parallel and COLCON_LOG_PATH variable set

I'm running multiple colcon build executions using the paralell tool. When I have COLCON_LOG_PATH set I get the error:

Traceback (most recent call last):
  File "/usr/local/bin/colcon", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.5/dist-packages/colcon_core/command.py", line 127, in main
    create_log_path(args.verb_name)
  File "/usr/local/lib/python3.5/dist-packages/colcon_core/location.py", line 146, in create_log_path
    path, path.parent / 'latest_{verb_name}'.format_map(locals()))
  File "/usr/local/lib/python3.5/dist-packages/colcon_core/location.py", line 171, in _create_symlink
    os.symlink(str(src), str(dst))
 FileExistsError: [Errno 17] File exists: 'build_2018-11-02_20-22-42' -> '/workspace/build/private/logs/latest_build'

This is because both instances of my colcon build command are trying to write to the same latest_build folder. Is this a supported use case?

Get task helper functions are hardcoded with __name__

Task helper functions get_task_extension and get_task_extensions use __name__ which means all task extension searches use the prefix colcon_core.task. If I want to define a verb in another package (eg. my_package.verb.my_verb), then this breaks the task lookup, since the tasks for this new verb should be registered under my_package.task.my_verb (based on my understanding of the colcon conventions).

I think the simplest way to fix this would be to pass in the group name (this is named from the parameter in instantiate_extensions) instead of the task name. Right now test and build are passed in for the test and build verbs. Instead they would pass in colcon_core.task.test and colcon_core.task.build. The get methods would then no longer create the group name. This would affect add_task_arguments which would also need to take in the group name.

Is there a more elegant solution than this? Perhaps it would be better to pass in the module name and let the function generate the group name string from that + 'task' + task_name?

I'll be happy to make a pull request with a fix once I get the go-ahead on the implementation.

Fail to build colcon (second time) on debian.

Hello colcon team,

On Debian Buster (Testing)
with documentation : http://colcon.readthedocs.io/en/released/developer/bootstrap.html

after first build (all is ok), but the second build return :

~/ros_workspace/colcon_ws$ . install/local_setup.sh 
~/ros_workspace/colcon_ws$ colcon build
Traceback (most recent call last):
  File "~/ros_workspace/colcon_ws/install/colcon-core/bin/colcon", line 6, in <module>
    from pkg_resources import load_entry_point
  File "~/.local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3098, in <module>
    @_call_aside
  File "~/.local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3082, in _call_aside
    f(*args, **kwargs)
  File "~/.local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3111, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "~/.local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 573, in _build_master
    ws.require(__requires__)
  File "~/.local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 891, in require
    needed = self.resolve(parse_requirements(requirements))
  File "~/.local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 777, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'pytest-runner' distribution was not found and is required by colcon-core

after install "pytest-runner" with :

~/ros_workspace/colcon_ws$ pip3 install pytest-runner
Collecting pytest-runner
  Downloading https://files.pythonhosted.org/packages/72/a4/d7a5738a3096f22a98bec1609e237b250ebff04e5ea2930305d485337263/pytest_runner-4.2-py2.py3-none-any.whl
Installing collected packages: pytest-runner
Successfully installed pytest-runner-4.2

Second build work.
I think you need to add "pytest-runner" to "requirements.txt"

Add build option for coverage

Description

  • In order to get coverage output that can be parsed by tools like gcov, it is necessary to build with special flags: -fprofile-arcs and -ftest-coverage

  • This currently means that one must add the following arguments to colcon build:

    --ament-cmake-args -DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS}  -fprofile-arcs -ftest-coverage " -DCMAKE_C_FLAGS="${CMAKE_C_FLAGS}  -fprofile-arcs -ftest-coverage "
    
  • For example, see https://ci.ros2.org/view/nightly/job/nightly_linux_coverage/210/consoleFull

  • While this is manageable in a CI server, it is burdensome when trying to generate coverage locally because of the length of the argument and the subtleties of escaping the arguments for CMake.

  • This issue proposes adding a flag (e.g., --with-coverage-flags) to colcon build which wraps the long arguments above.

  • Naturally, for other supported compilers (clang?), the with-coverage-flags option could also handle the specific compile flags.

Motivation

  • Making it easier for developers to generate coverage locally

Expected behavior

colcon build --with-coverage --ament-cmake-args <other args>

works like

colcon build --ament-cmake-args -DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS}  -fprofile-arcs -ftest-coverage " -DCMAKE_C_FLAGS="${CMAKE_C_FLAGS}  -fprofile-arcs -ftest-coverage " <other args>
  • Optionally, it could be useful to also include -DCOVERAGE_RUN=1 such that developers can adjust test behavior during coverage test runs.
    • For example, any timing-sensitive tests will tend to fail during coverage runs because of the extra CPU cycles, so the threshold for timeouts may need to be adjusted: e.g.,
#ifdef COVERAGE_RUN
    timeout = 20
#else
    timeout = 5
#endif

Future work

  • There could also be an extension to colcon test_results to digest coverage results: e.g.,
colcon build --with-coverage
colcon test
colcon test_results --output-coverage

Package configuration syntax is inconsistent

Hi,

I've been playing around with package configuration - specifically setting CMake options - and I've identified the three different configuration files using two different configuration syntaxes:

  1. Global configuration using COLCON_DEFAULTS_FILE environment variable and/or defaults.yaml (YAML) file
  2. Package specific configuration using colcon.meta (YAML) file in the project root
  3. Package specific configuration using colcon.pkg (JSON) file in the package root

Two of these are YAML based, and one is JSON, while the available keywords are consistent between them. For example, I can specify cmake-args in any of the three files.

Is there a good reason for having the colcon.pkg file use JSON and not YAML?

colcon doesnt aggregate cmake args

colcon build --symlink-install --cmake-args ' -DSECURITY=1 -DBUILD_TESTING=1' --event-handler console_cohesion+ --build-base $ROS2_WS/build_debug_isolated --install-base $ROS2_WS/install_debug_isolated --cmake-args ' -DCMAKE_BUILD_TYPE=Debug'

Only Debug is taken into account. DSECURITY and DBUILD_TESTING are ignored. This would prevent us from passing CMake arguments on CI

support installing to same prefix from different workspaces

Currently the prefix-level scripts contain a list of packages in the workspace. The advantage of that approach is that no crawling of the file system is necessary when sourcing the script.

In order to support installing into the same prefix from multiple workspaces the list of packages needs to be collected by crawling the file system, ordering the packages topologically and sourcing each package. Parsing the package manifests will not be sufficient since some package might not have one and their dependencies were determined using external information which is not available in the install prefix anymore.

Convert PackageDescriptor.dependencies into an object so metadata can be attached.

This work needs to be done to support colcon/colcon-ros#39.

Based on my initial investigation the following packages are affected:

  • colcon-core #116
  • colcon-package-information
  • colcon-package-selection
  • colcon-parallel-executor
  • colcon-cargo
  • colcon-bazel
  • colcon-ros-bazel
  • colcon-cmake
  • colcon-ros colcon/colcon-ros#40
  • colcon-python-setup-py colcon/colcon-python-setup-py#11
  • colcon-gradle
  • colcon-ros-grade
  • colcon-powershell
  • colcon-graphviz-anim

I will start with colcon-core so we can settle on the API and usage and then follow up with PRs for all affected packages.

Is macOS CI planned?

I was wondering if there is a plan to run MacOS jobs in travis in the future or if it's considered not useful as the behavior should be very similar to Linux as all this would test is Python and sh.

Different but related, should more recent versions of Python be tested as well (as Windows, MacOS and recent Ubuntu ship with 3.6.5) ?

Errors when sourcing partially built workspace

When building a partial workspace using the --packages-up-to flag, sourcing the workspace will return errors related to the unbuilt packages:

$ colcon build --packages-up-to roscpp
$ source install/setup.bash
not found: "/home/pbovbel/bundle_ws/install/rosbash/share/rosbash/package.bash"
not found: "/home/pbovbel/bundle_ws/install/rosboost_cfg/share/rosboost_cfg/package.bash"
not found: "/home/pbovbel/bundle_ws/install/rosclean/share/rosclean/package.bash"
not found: "/home/pbovbel/bundle_ws/install/rosgraph/share/rosgraph/package.bash"
not found: "/home/pbovbel/bundle_ws/install/class_loader/share/class_loader/package.bash"
not found: "/home/pbovbel/bundle_ws/install/rosmaster/share/rosmaster/package.bash"
not found: "/home/pbovbel/bundle_ws/install/rosparam/share/rosparam/package.bash"
not found: "/home/pbovbel/bundle_ws/install/roscreate/share/roscreate/package.bash"
not found: "/home/pbovbel/bundle_ws/install/roscpp_core/share/roscpp_core/package.bash"
...

Ability to pass additional configuration file to colcon via commandline?

I'd like to be able to pass global configuration files to colcon when invoking it.

Currently the only way to do it is to set the environment variable ation COLCON_DEFAULTS_FILE at invocation time. But this override the defaults and doesn't extend them.
Is there a way to extend the default configuration with another configuration file?

install progress doesnt reflect actual progress

opening to keep a public trace of it:

Currently the status bar displays a percentage of progress for the install step.
Hypothesis: it it using the progress over the targets but not the installed files
Consequence: projects with many files to install but few targets (e.g. message packages) display 100% all the time and it doesnt reflect the actual progress of the install step

Provide a 'clean' verb

to delete build install and log folder.

Once the notion of profile is there it could delete the folders corresponding to that profile rather than the default folders

Should depend on pytest

Fresh install:

ERROR:colcon.colcon_core.entry_point:Exception loading extension 'colcon_core.python_testing.pytest': No module named '_pytest'
Traceback (most recent call last):
  File "/Users/mikepurvis/colcon_env/lib/python3.6/site-packages/colcon_core/entry_point.py", line 86, in load_entry_points
    extension_type = load_entry_point(entry_point)
  File "/Users/mikepurvis/colcon_env/lib/python3.6/site-packages/colcon_core/entry_point.py", line 128, in load_entry_point
    return entry_point.load()
  File "/Users/mikepurvis/colcon_env/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2322, in load
    return self.resolve()
  File "/Users/mikepurvis/colcon_env/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2328, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/Users/mikepurvis/colcon_env/lib/python3.6/site-packages/colcon_core/task/python/test/pytest.py", line 7, in <module>
    from _pytest.main import EXIT_NOTESTSCOLLECTED
ModuleNotFoundError: No module named '_pytest'

usage: colcon [-h] [--log-level LOG_LEVEL]
              {build,extension-points,extensions,info,list,metadata,test,test-result}
              ...

Error: No verb provided

Colcon dry run

We're using bazel as our build system, which to build ROS calls into colcon. Unfortunately, bazel likes to know a complete list of files that will be generated ahead-of-time. Right now, my workaround is to build once, inspect the files created, then give that list to bazel so it can manage builds from now on.

I'd love to streamline this process. In particular, it would be ideal if there was a way to get colcon to do a "dry run", and report what files it would create, without actually doing the builds. Is this currently possible? Or a possible feature? I'm happy to help with implementation if it's not a huge amount of work.

add a flag to colcon build similar to ament_tools `--build-tests`

Currently colcon documentation says that to build tests people should:

ament: --build-tests
colcon: --cmake-args " -DBUILD_TESTING=1"

But BUILD_TESTING is ON by default in CTest so if users don't pass the option the tests are built anyway: https://cmake.org/cmake/help/v3.7/module/CTest.html

We could first change the documentaiton to reflect this.
A better (maybe further looking) alternative would be to implement an equivalent to --build-tests in colcon. This would allow users to pass a single flags to build the tests of their heterogeneous workspaces (in the case where multiple build systems are involved and all have a different way of specifying test building).

Distributing debian packages

Hi @dirk-thomas,

I see that python3-colcon-core and other debian package builds of colcon packages are available from packages.ros.org. How is that build and distribution set up?

Thanks,
Matt

How to testing a extention of colcon

Dear maintainer

I would like to add unit test on a extension.
All works locally (seem because my extension has sourced)
but in CI context, he doesn't recognize attribute...

Samples

If i running my tests locally with my custom extension sourced in the workspace

~/ros_workspace/colcon_ws/src/colcon-bazel (add_test *)$ pytest-3 --cov=colcon_bazel --cov-branch
============================================================================================================ test session starts ============================================================================================================
platform linux -- Python 3.6.6, pytest-3.6.4, py-1.5.4, pluggy-0.6.0
rootdir: ~/ros_workspace/colcon_ws/src/colcon-bazel, inifile: setup.cfg
plugins: rerunfailures-4.1, repeat-0.4.1, cov-2.5.1
collected 13 items                                                                                                                                                                                                                          

test/test_argcomplete_completer_bazel_args.py ..                                                                                                                                                                                      [ 15%]
test/test_copyright_license.py .                                                                                                                                                                                                      [ 23%]
test/test_flake8.py .                                                                                                                                                                                                                 [ 30%]
test/test_package_identification_bazel.py ...                                                                                                                                                                                         [ 53%]
test/test_spell_check.py ...s                                                                                                                                                                                                         [ 84%]
test/test_task_bazel_build.py .                                                                                                                                                                                                       [ 92%]
test/test_task_bazel_test.py .                                                                                                                                                                                                        [100%]



----------- coverage: platform linux, python 3.6.6-final-0 -----------
Name                                               Stmts   Miss Branch BrPart  Cover
------------------------------------------------------------------------------------
colcon_bazel/__init__.py                               1      0      0      0   100%
colcon_bazel/argcomplete_completer/__init__.py         0      0      0      0   100%
colcon_bazel/argcomplete_completer/bazel_args.py      20      8      2      1    59%
colcon_bazel/environment/__init__.py                   0      0      0      0   100%
colcon_bazel/package_identification/__init__.py        0      0      0      0   100%
colcon_bazel/package_identification/bazel.py          71     20     32      3    64%
colcon_bazel/task/__init__.py                          0      0      0      0   100%
colcon_bazel/task/bazel/__init__.py                   70     40     20      3    37%
colcon_bazel/task/bazel/build.py                      46     30      4      0    32%
colcon_bazel/task/bazel/test.py                       43     28      2      0    33%
------------------------------------------------------------------------------------
TOTAL                                                251    126     60      7    46%
...

But in CI context
https://ci.appveyor.com/project/Theosakamg/colcon-bazel/build/20#L228
https://travis-ci.org/colcon/colcon-bazel/builds/416467040#L840

Testing class
https://github.com/colcon/colcon-bazel/blob/26b6775ff2f46e5115e29877897179bcd220f566/colcon_bazel/argcomplete_completer/bazel_args.py#L20

Test executed
https://github.com/colcon/colcon-bazel/blob/26b6775ff2f46e5115e29877897179bcd220f566/test/test_argcomplete_completer_bazel_args.py#L12

How to make a test of extension not sourced ?
I'm not sure I did not make a mistake...

Prefix script without requiring Python

Currently the prefix script uses a Python module to find all packages and order them topologically. If this logic would be implemented in each shell the runtime dependency when sourcing the prefix script could be dropped. It would also save a little bit of time (~50ms - 200ms depending on the kind of system) for the Python invocation.

Overlay setup.zsh: job table full or recursion limit exceeded

I have two workspaces gazebo9_ws and melodic_ws. When I try to overlay the gazebo9_ws with the melodic_ws I get a tons of errors with the output:

Steps I used to build:

cd ~/workspaces/gazebo9_ws
colcon build --merge-install
source install/setup.zsh

cd ~/workspaces/melodic_ws
colcon build --merge-install
source install/setup.zsh

This is the error output from the second source command:

_colcon_prefix_sh_prepend_unique_value:15: job table full or recursion limit exceeded
_colcon_prefix_sh_prepend_unique_value:15: job table full or recursion limit exceeded
not found: "/share/catkin/hook/unset_catkin_setup_util_args.sh"
_colcon_prefix_sh_prepend_unique_value:15: job table full or recursion limit exceeded
_colcon_prefix_sh_prepend_unique_value:15: job table full or recursion limit exceeded
not found: "/share/cmake_modules/hook/unset_catkin_setup_util_args.sh"
_colcon_prefix_sh_prepend_unique_value:15: job table full or recursion limit exceeded
_colcon_prefix_sh_prepend_unique_value:15: job table full or recursion limit exceeded
not found: "/share/cpp_common/hook/unset_catkin_setup_util_args.sh"

Things I have tried:

  • Building the underlay without --merge-install: Still breaks
  • Building the overlay without --merge-install: Works
  • Building both without --merge-install: Works
  • Building both with --merge-install, but sourcing ~/workspaces/melodic_ws/install/local_setup.zsh: Works, but doesn't have gazebo stuff.

Here is some output from sourcing with COLCON_TRACE=1

. "/home/michael/workspaces/gazebo9_ws/install/local_setup.zsh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-cmake0/share/ignition-cmake0/package.zsh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-cmake0/share/ignition-cmake0/package.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-cmake0/lib/cmake/ignition-cmake0/cmake0/share/ignition-cmake0/hook/cmake_module_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-cmake0/share/ignition-cmake0/hook/cmake_prefix_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-tools/share/ignition-tools/package.zsh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-tools/share/ignition-tools/package.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-tools/share/ignition-tools/hook/cmake_prefix_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-tools/share/ignition-tools/hook/path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-math4/share/ignition-math4/package.zsh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-math4/share/ignition-math4/package.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-math4/share/ignition-math4/hook/cmake_prefix_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-math4/share/ignition-math4/hook/ld_library_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/SDFormat/share/SDFormat/package.zsh"
. "/home/michael/workspaces/gazebo9_ws/install/SDFormat/share/SDFormat/package.sh"
. "/home/michael/workspaces/gazebo9_ws/install/SDFormat/share/SDFormat/hook/cmake_prefix_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/SDFormat/share/SDFormat/hook/ld_library_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-msgs1/share/ignition-msgs1/package.zsh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-msgs1/share/ignition-msgs1/package.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-msgs1/share/ignition-msgs1/hook/cmake_prefix_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-msgs1/share/ignition-msgs1/hook/ld_library_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-transport4/share/ignition-transport4/package.zsh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-transport4/share/ignition-transport4/package.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-transport4/share/ignition-transport4/hook/cmake_prefix_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-transport4/share/ignition-transport4/hook/ld_library_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/Gazebo/share/Gazebo/package.zsh"
. "/home/michael/workspaces/gazebo9_ws/install/Gazebo/share/Gazebo/package.sh"
. "/home/michael/workspaces/gazebo9_ws/install/Gazebo/share/Gazebo/hook/cmake_prefix_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/Gazebo/share/Gazebo/hook/ld_library_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/Gazebo/share/Gazebo/hook/path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/Gazebo/share/gazebo/setup.sh"
. "/home/michael/workspaces/melodic_ws/install/local_setup.zsh"
. "/home/michael/workspaces/melodic_ws/install/share/catkin/package.zsh"
. "/home/michael/workspaces/melodic_ws/install/share/catkin/package.sh"
. "/home/michael/workspaces/melodic_ws/install/share/catkin/hook/cmake_prefix_path.sh"
. "/home/michael/workspaces/melodic_ws/install/share/catkin/hook/path.sh"
. "/home/michael/workspaces/melodic_ws/install/share/catkin/hook/set_catkin_setup_util_args.sh"
. "/home/michael/workspaces/melodic_ws/install/setup.sh"
. "/home/michael/workspaces/gazebo9_ws/install/local_setup.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-cmake0/share/ignition-cmake0/package.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-cmake0/lib/cmake/ignition-cmake0/cmake0/share/ignition-cmake0/hook/cmake_module_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-cmake0/share/ignition-cmake0/hook/cmake_prefix_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-tools/share/ignition-tools/package.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-tools/share/ignition-tools/hook/cmake_prefix_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-tools/share/ignition-tools/hook/path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-math4/share/ignition-math4/package.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-math4/share/ignition-math4/hook/cmake_prefix_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-math4/share/ignition-math4/hook/ld_library_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/SDFormat/share/SDFormat/package.sh"
. "/home/michael/workspaces/gazebo9_ws/install/SDFormat/share/SDFormat/hook/cmake_prefix_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/SDFormat/share/SDFormat/hook/ld_library_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-msgs1/share/ignition-msgs1/package.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-msgs1/share/ignition-msgs1/hook/cmake_prefix_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-msgs1/share/ignition-msgs1/hook/ld_library_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-transport4/share/ignition-transport4/package.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-transport4/share/ignition-transport4/hook/cmake_prefix_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/ignition-transport4/share/ignition-transport4/hook/ld_library_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/Gazebo/share/Gazebo/package.sh"
. "/home/michael/workspaces/gazebo9_ws/install/Gazebo/share/Gazebo/hook/cmake_prefix_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/Gazebo/share/Gazebo/hook/ld_library_path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/Gazebo/share/Gazebo/hook/path.sh"
. "/home/michael/workspaces/gazebo9_ws/install/Gazebo/share/gazebo/setup.sh"
. "/home/michael/workspaces/melodic_ws/install/local_setup.sh"
. "/home/michael/workspaces/melodic_ws/install/share/catkin/package.sh"
. "/home/michael/workspaces/melodic_ws/install/share/catkin/hook/cmake_prefix_path.sh"
. "/home/michael/workspaces/melodic_ws/install/share/catkin/hook/path.sh"
. "/home/michael/workspaces/melodic_ws/install/share/catkin/hook/set_catkin_setup_util_args.sh"
. "/home/michael/workspaces/melodic_ws/install/setup.sh"

Spell check test broken on Bionic (and others)

I'm not sure why (yet), but test_spell_check appears to fail on Bionic and Fedora 29. Seems to be running (and passing) on Travis, though.

The console output is much too long to paste in here, but after installing python3-enchant, pytest breaks on this test every time.

For now, I'm going to skip this test for Fedora packaging since it appears broken on Ubuntu as well, but I wanted to file an issue to follow-up on this later.

[colcon-cmake] only 1 core used on windows when `--executor sequential` is passed

It seems to use all the cores available on Linux though

I noticed this when running: https://ci.ros2.org/job/ci_windows/4466/
As it was very slow I logged into the machine to see the state and I didnt see the CPU usage go above 14% for the full build of builtin_interfaces and rcl_interfaces..
As that machine has 8 logical cores, it seems a fair assessment that one core was fully used => ~12.5% CPU and the remaining 1.5% were used by the other running processes unrelated to the build

I can't add Travis to colcon-gradle

I don't know if it's because I'm not a member of the colcon organization or because I'm not an owner of colcon-gradle, but either way I can't seem to be able to add Travis to my repo.

I'd also ask to be owner of the repo, which IMHO makes sense given that I'm the one working on it.

Deprecation warnings: Using or importing the ABCs from 'collections'

For the Python 3.7 users these warnings pop up in many places in ROS2. They'll need to be addressed in order for compatibility with Python 3.8 (currently to be released in late 2019).

__________________ ERROR collecting test/test_environment.py __________________
test\test_environment.py:8: in <module>
    from colcon_core.environment import create_environment_hooks
colcon_core\environment\__init__.py:4: in <module>
    from collections import Iterable
<frozen importlib._bootstrap>:1032: in _handle_fromlist
    ???
c:\python37\lib\collections\__init__.py:52: in __getattr__
    DeprecationWarning, stacklevel=2)
E   DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
_______________ ERROR collecting test/test_environment_path.py ________________
test\test_environment_path.py:7: in <module>
    from colcon_core.environment.path import PathEnvironment
colcon_core\environment\__init__.py:4: in <module>
    from collections import Iterable
<frozen importlib._bootstrap>:1032: in _handle_fromlist
    ???
c:\python37\lib\collections\__init__.py:52: in __getattr__
    DeprecationWarning, stacklevel=2)
E   DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
____________ ERROR collecting test/test_environment_pythonpath.py _____________
test\test_environment_pythonpath.py:8: in <module>
    from colcon_core.environment.pythonpath import PythonPathEnvironment
colcon_core\environment\__init__.py:4: in <module>
    from collections import Iterable
<frozen importlib._bootstrap>:1032: in _handle_fromlist
    ???
c:\python37\lib\collections\__init__.py:52: in __getattr__
    DeprecationWarning, stacklevel=2)
E   DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
- generated xml file: C:\Users\brawner\ros2_core\build\colcon-core\pytest.xml -

Print output of build steps on stdout/stderr

When debugging build scripts and during development, having to open the logs to get information why things failed is a huge time sink.

How do I output the build progress on the command line (probably in sequential mode)?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.