You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There's some code in colcon_cmake which skips the package build when CMAKE_PROJECT_NAME is not set or could not be detected. When this case is triggered and the warning is printed because the cache is not readable, the code in colcon_ros tries to detect the availability of an install target, but fails to do so as this requires reading the cache as well. There appears to be an attempt to suppress this sort of error if the build invocation failed, but because of how colcon_cmake returned without an error, this logic fails and a backtrace is printed.
[2.863s] colcon.colcon_cmake.task.cmake.build WARNING Could not build CMake package 'foobar' because the CMake cache has no 'CMAKE_PROJECT_NAME' variable
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/colcon_core/executor/__init__.py", line 91, in __call__
rc = await self.task(*args, **kwargs)
File "/usr/lib/python3.9/site-packages/colcon_core/task/__init__.py", line 93, in __call__
return await task_method(*args, **kwargs)
File "/usr/lib/python3.9/site-packages/colcon_ros/task/ament_cmake/build.py", line 65, in build
has_install_target = await has_target(args.build_base, 'install')
File "/usr/lib/python3.9/site-packages/colcon_cmake/task/cmake/__init__.py", line 56, in has_target
if 'Unix Makefiles' in generator:
TypeError: argument of type 'NoneType' is not iterable
The situation that led to this state was initially caused by user error, in which I had accidentally left the remnants of a prior invocation of CMake within the package sources. Removing these files resolved that specific issue.
The text was updated successfully, but these errors were encountered:
There's some code in
colcon_cmake
which skips the package build whenCMAKE_PROJECT_NAME
is not set or could not be detected. When this case is triggered and the warning is printed because the cache is not readable, the code incolcon_ros
tries to detect the availability of aninstall
target, but fails to do so as this requires reading the cache as well. There appears to be an attempt to suppress this sort of error if the build invocation failed, but because of howcolcon_cmake
returned without an error, this logic fails and a backtrace is printed.colcon-ros/colcon_ros/task/cmake/build.py
Lines 38 to 44 in eb0b932
The situation that led to this state was initially caused by user error, in which I had accidentally left the remnants of a prior invocation of CMake within the package sources. Removing these files resolved that specific issue.
The text was updated successfully, but these errors were encountered: