Windows ROS2 build from source: Failed <<< uncrustify_vendor
I'm getting the following error when trying to build from source in Windows 10:
C:\dev\ros2_eloquent>colcon build
--merge-install --event-handlers console_direct+ --packages-select uncrustify_vendor Starting >>> uncrustify_vendor
-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.18363.
-- Found ament_cmake: 0.8.3 (C:/dev/ros2_eloquent/install/share/ament_cmake/cmake)
-- Using PYTHON_EXECUTABLE: C:/Python37/python.exe
-- Configuring done
-- Generating done
-- Build files have been written to: C:/dev/ros2_eloquent/build/uncrustify_vendor Microsoft (R) Build Engine version
16.8.3+39993bd9d for .NET Framework Copyright (C) Microsoft Corporation. All rights reserved.
Performing patch step for 'uncrustify-0.68.1' patching file CMakeLists.txt Assertion failed: hunk, file ../patch-2.5.9-src/patch.c, line 354 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(238,5): error MSB8066: Custom build for 'C:\dev\ros2_eloquent\build\uncrustify_vendor\CMakeFiles\4e0deb0d51fbea9cbf442c91cf8c4d71\uncrustify-0.68.1-patch.rule;C:\dev\ros2_eloquent\build\uncrustify_vendor\CMakeFiles\4e0deb0d51fbea9cbf442c91cf8c4d71\uncrustify-0.68.1-configure.rule;C:\dev\ros2_eloquent\build\uncrustify_vendor\CMakeFiles\4e0deb0d51fbea9cbf442c91cf8c4d71\uncrustify-0.68.1-build.rule;C:\dev\ros2_eloquent\build\uncrustify_vendor\CMakeFiles\4e0deb0d51fbea9cbf442c91cf8c4d71\uncrustify-0.68.1-install.rule;C:\dev\ros2_eloquent\build\uncrustify_vendor\CMakeFiles\0ee79b9e649a887c3217a46c7e586828\uncrustify-0.68.1-complete.rule;C:\dev\ros2_eloquent\build\uncrustify_vendor\CMakeFiles\0fc74a6d64722c90e1637207285253f7\uncrustify-0.68.1.rule' exited with code 3. [C:\dev\ros2_eloquent\build\uncrustify_vendor\uncrustify-0.68.1.vcxproj] Failed <<< uncrustify_vendor [8.69s, exited with code 1]
Summary: 0 packages finished [9.73s] 1 package failed: uncrustify_vendor
- Operating System: Windows 10
- Installation type:from source
- Version or commit hash: ros2-eloquent Patch Release 2
- DDS implementation: Fast-RTPS
Asked by andrestoga on 2021-02-07 15:12:19 UTC
Answers
For anyone encountering this issue. This is how I solved mine. By using an older implementation ( ROS2 Foxy ) CMakeList.txt. In the link below.
https://github.com/ament/uncrustify_vendor/blob/foxy/CMakeLists.txt
Replace the contents of that github page into the directory
C:\dev\ros2_galactic\src\ament\uncrustify_vendor\CMakeLists.txt
and it should solve the issue and build just fine.
As Reference. Here's the error code i encountered.
Performing patch step for 'uncrustify-704034b8e9999fc2bf83be4aaf464859021a20c4'
CUSTOMBUILD : error : patch failed: CMakeLists.txt:440 [C:\dev\ros2_galactic\build\uncrustify_vendor\uncrustify-704034b8e9999fc2bf83be4aaf464859021a20c4.vcxproj]
CUSTOMBUILD : error : CMakeLists.txt: patch does not apply [C:\dev\ros2_galactic\build\uncrustify_vendor\uncrustify-704034b8e9999fc2bf83be4aaf464859021a20c4.vcxproj]
Asked by Dickson on 2021-08-12 02:08:28 UTC
Comments
Having the same issue with this package as well at ros galactic
Asked by Dickson on 2021-08-12 00:33:00 UTC