Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebuild Christmas 2024 - switch to rattler-build #229

Open
wants to merge 85 commits into
base: main
Choose a base branch
from

Conversation

traversaro
Copy link
Member

@traversaro traversaro commented Dec 17, 2024

@traversaro
Copy link
Member Author

rcutils on Windows is failing with:

2024-12-27T16:23:51.0861255Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\stdio.h(378,9): warning C5105: macro expansion producing 'defined' has undefined behavior [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.0945141Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\stdio.h(2437,9): warning C5105: macro expansion producing 'defined' has undefined behavior [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.0967906Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\corecrt_search.h(188,5): warning C5105: macro expansion producing 'defined' has undefined behavior [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.1006088Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\stdlib.h(79,5): warning C5105: macro expansion producing 'defined' has undefined behavior [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.1058200Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\stdlib.h(1286,5): warning C5105: macro expansion producing 'defined' has undefined behavior [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.1080483Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\corecrt_memory.h(76,5): warning C5105: macro expansion producing 'defined' has undefined behavior [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.1115806Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\corecrt_wstring.h(573,5): warning C5105: macro expansion producing 'defined' has undefined behavior [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.1151380Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\string.h(531,5): warning C5105: macro expansion producing 'defined' has undefined behavior [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.1162117Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\sys/stat.h(87,5): warning C5105: macro expansion producing 'defined' has undefined behavior [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.1164309Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\sys/stat.h(120,5): warning C5105: macro expansion producing 'defined' has undefined behavior [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.1169366Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\sys/stat.h(217,47): warning C5105: macro expansion producing 'defined' has undefined behavior [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.9719794Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\oaidl.h(487,17): warning C5103: pasting '/' and '/' does not result in a valid preprocessing token [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.9772085Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared\wtypes.h(745): message : in expansion of macro '_VARIANT_BOOL' [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.9796650Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\oaidl.h(487,17): error C2059: syntax error: '/' [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.9798866Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\oaidl.h(502,17): warning C5103: pasting '/' and '/' does not result in a valid preprocessing token [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.9801128Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared\wtypes.h(745): message : in expansion of macro '_VARIANT_BOOL' [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.9803571Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\oaidl.h(502,17): error C2059: syntax error: '/' [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.9805609Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\oaidl.h(529,40): warning C4094: untagged 'struct' declared no symbols [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.9807277Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\oaidl.h(530,17): error C2059: syntax error: '}' [%SRC_DIR%\build\rcutils.vcxproj]

@traversaro
Copy link
Member Author

rcutils on Windows is failing with:

2024-12-27T16:23:51.0861255Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\stdio.h(378,9): warning C5105: macro expansion producing 'defined' has undefined behavior [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.0945141Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\stdio.h(2437,9): warning C5105: macro expansion producing 'defined' has undefined behavior [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.0967906Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\corecrt_search.h(188,5): warning C5105: macro expansion producing 'defined' has undefined behavior [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.1006088Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\stdlib.h(79,5): warning C5105: macro expansion producing 'defined' has undefined behavior [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.1058200Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\stdlib.h(1286,5): warning C5105: macro expansion producing 'defined' has undefined behavior [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.1080483Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\corecrt_memory.h(76,5): warning C5105: macro expansion producing 'defined' has undefined behavior [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.1115806Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\corecrt_wstring.h(573,5): warning C5105: macro expansion producing 'defined' has undefined behavior [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.1151380Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\string.h(531,5): warning C5105: macro expansion producing 'defined' has undefined behavior [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.1162117Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\sys/stat.h(87,5): warning C5105: macro expansion producing 'defined' has undefined behavior [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.1164309Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\sys/stat.h(120,5): warning C5105: macro expansion producing 'defined' has undefined behavior [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.1169366Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\sys/stat.h(217,47): warning C5105: macro expansion producing 'defined' has undefined behavior [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.9719794Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\oaidl.h(487,17): warning C5103: pasting '/' and '/' does not result in a valid preprocessing token [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.9772085Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared\wtypes.h(745): message : in expansion of macro '_VARIANT_BOOL' [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.9796650Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\oaidl.h(487,17): error C2059: syntax error: '/' [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.9798866Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\oaidl.h(502,17): warning C5103: pasting '/' and '/' does not result in a valid preprocessing token [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.9801128Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared\wtypes.h(745): message : in expansion of macro '_VARIANT_BOOL' [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.9803571Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\oaidl.h(502,17): error C2059: syntax error: '/' [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.9805609Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\oaidl.h(529,40): warning C4094: untagged 'struct' declared no symbols [%SRC_DIR%\build\rcutils.vcxproj]
2024-12-27T16:23:51.9807277Z  │ │ C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\oaidl.h(530,17): error C2059: syntax error: '}' [%SRC_DIR%\build\rcutils.vcxproj]

Locally the build pass fine with this compiler:

 │ │ -- Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.22631.
 │ │ -- The C compiler identification is MSVC 19.29.30154.0
 │ │ -- The CXX compiler identification is MSVC 19.29.30154.0

while in CI:

2024-12-27T16:23:45.8024040Z  │ │ -- The C compiler identification is MSVC 19.29.30157.0
2024-12-27T16:23:46.5433254Z  │ │ -- The CXX compiler identification is MSVC 19.29.30157.0

for some reason, in CI no line "Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.22631." is printed.

@traversaro
Copy link
Member Author

I suspect this line https://github.com/RoboStack/ros-humble/blob/71d4b56a3654a6e1e2fedb8f29ed9769065f284a/.scripts/build_win.bat#L9C1-L9C74 is related. Probably github actions has some older SDK around, and CMake by default uses the older one (unless CMP0149 is enabled, see https://gitlab.kitware.com/cmake/cmake/-/merge_requests/8389 ). So just deleting the offending one is probably the easiest solution.

@traversaro
Copy link
Member Author

New local failure:

 │ │ -- Found ament_cmake_python: 1.3.11 (%PREFIX%/Library/share/ament_cmake_python/cmake)
 │ │ -- Found ament_cmake_ros: 0.10.0 (%PREFIX%/Library/share/ament_cmake_ros/cmake)
 │ │ -- Found Python3: %PREFIX%\python.exe (found version "3.11.11") found components: Interpreter
 │ │ -- Found rosidl_runtime_cpp: 3.1.6 (%PREFIX%/Library/share/rosidl_runtime_cpp/cmake)
 │ │ -- Found rosidl_typesupport_introspection_c: 3.1.6 (%PREFIX%/Library/share/rosidl_typesupport_introspection_c/cmake)
 │ │ CMake Error at %PREFIX%/Library/share/rosidl_typesupport_introspection_c/cmake/rosidl_typesupport_introspection_c-extras.cmake:23 (set):
 │ │ -- Configuring incomplete, errors occurred!
 │ │   Syntax error in cmake code at
 │ │     %PREFIX%/Library/share/rosidl_typesupport_introspection_c/cmake/rosidl_typesupport_introspection_c-extras.cmake:24
 │ │   when parsing string
 │ │     ${rosidl_typesupport_introspection_c_DIR}/../../../..\Lib\site-packages/rosidl_typesupport_introspection_c/__init__.py
 │ │   Invalid character escape '\L'.
 │ │ Call Stack (most recent call first):
 │ │   %PREFIX%/Library/share/rosidl_typesupport_introspection_c/cmake/rosidl_typesupport_introspection_cConfig.cmake:41 (include)
 │ │   CMakeLists.txt:17 (find_package)
 │ │ %SRC_DIR%\build>if errorlevel 1 exit 1
 │ │ × error Script failed with status 1
 │ │ × error Work directory: 'D:\src\ros-humble\output\bld\rattler-build_ros-humble-rosidl-typesupport-introspection-cpp_1735318210\work'
 │ │ × error To debug the build, run it manually in the work directory (execute the `./conda_build.sh` or `conda_build.bat` script)

@traversaro
Copy link
Member Author

New local failure:

 │ │ -- Found ament_cmake_python: 1.3.11 (%PREFIX%/Library/share/ament_cmake_python/cmake)
 │ │ -- Found ament_cmake_ros: 0.10.0 (%PREFIX%/Library/share/ament_cmake_ros/cmake)
 │ │ -- Found Python3: %PREFIX%\python.exe (found version "3.11.11") found components: Interpreter
 │ │ -- Found rosidl_runtime_cpp: 3.1.6 (%PREFIX%/Library/share/rosidl_runtime_cpp/cmake)
 │ │ -- Found rosidl_typesupport_introspection_c: 3.1.6 (%PREFIX%/Library/share/rosidl_typesupport_introspection_c/cmake)
 │ │ CMake Error at %PREFIX%/Library/share/rosidl_typesupport_introspection_c/cmake/rosidl_typesupport_introspection_c-extras.cmake:23 (set):
 │ │ -- Configuring incomplete, errors occurred!
 │ │   Syntax error in cmake code at
 │ │     %PREFIX%/Library/share/rosidl_typesupport_introspection_c/cmake/rosidl_typesupport_introspection_c-extras.cmake:24
 │ │   when parsing string
 │ │     ${rosidl_typesupport_introspection_c_DIR}/../../../..\Lib\site-packages/rosidl_typesupport_introspection_c/__init__.py
 │ │   Invalid character escape '\L'.
 │ │ Call Stack (most recent call first):
 │ │   %PREFIX%/Library/share/rosidl_typesupport_introspection_c/cmake/rosidl_typesupport_introspection_cConfig.cmake:41 (include)
 │ │   CMakeLists.txt:17 (find_package)
 │ │ %SRC_DIR%\build>if errorlevel 1 exit 1
 │ │ × error Script failed with status 1
 │ │ × error Work directory: 'D:\src\ros-humble\output\bld\rattler-build_ros-humble-rosidl-typesupport-introspection-cpp_1735318210\work'
 │ │ × error To debug the build, run it manually in the work directory (execute the `./conda_build.sh` or `conda_build.bat` script)

May be related to RoboStack/ros-galactic#55 ?

@traversaro
Copy link
Member Author

New failure:

2024-12-27T18:29:20.3763764Z  │ │ -- Install configuration: "Debug"
2024-12-27T18:29:20.3769930Z  │ │ -- Installing: %SRC_DIR%/build/dependencies/install/include/cpptoml.h
2024-12-27T18:29:20.3781773Z  │ │ -- Installing: %SRC_DIR%/build/dependencies/install/lib/cmake/cpptoml/cpptomlTargets.cmake
2024-12-27T18:29:20.3788756Z  │ │ -- Installing: %SRC_DIR%/build/dependencies/install/lib/cmake/cpptoml/cpptomlConfigVersion.cmake
2024-12-27T18:29:20.3794365Z  │ │ -- Installing: %SRC_DIR%/build/dependencies/install/lib/cmake/cpptoml/cpptomlConfig.cmake
2024-12-27T18:29:20.3907382Z  │ │ CMake Error at CMakeLists.txt:42 (include):
2024-12-27T18:29:20.3909946Z  │ │   include could not find requested file:
2024-12-27T18:29:20.3913611Z  │ │ -- [i] <<<<<<<<<<<<< Start iceoryx_posh configuration: >>>>>>>>>>>>>
2024-12-27T18:29:20.3915104Z  │ │     IceoryxPackageHelper
2024-12-27T18:29:20.3919387Z  │ │ -- [i] Using m:n communication!
2024-12-27T18:29:20.3921538Z  │ │ CMake Error at CMakeLists.txt:43 (include):
2024-12-27T18:29:20.3923669Z  │ │   include could not find requested file:
2024-12-27T18:29:20.3926626Z  │ │ -- [i] IOX_MAX_PUBLISHERS:512
2024-12-27T18:29:20.3928655Z  │ │     IceoryxPlatform
2024-12-27T18:29:20.3935009Z  │ │ -- [i] IOX_MAX_SUBSCRIBERS:1024
2024-12-27T18:29:20.3937026Z  │ │ -- [i] IOX_MAX_INTERFACE_NUMBER:4
2024-12-27T18:29:20.3938582Z  │ │ -- [i] IOX_MAX_SUBSCRIBERS_PER_PUBLISHER:256
2024-12-27T18:29:20.3940589Z  │ │ -- [i] IOX_MAX_CHUNKS_ALLOCATED_PER_PUBLISHER_SIMULTANEOUSLY:8
2024-12-27T18:29:20.3942418Z  │ │ -- [i] IOX_MAX_PUBLISHER_HISTORY:16
2024-12-27T18:29:20.3944548Z  │ │ -- [i] IOX_MAX_CHUNKS_HELD_PER_SUBSCRIBER_SIMULTANEOUSLY:256
2024-12-27T18:29:20.3946312Z  │ │ -- [i] <<<<<<<<<<<<<< End iceoryx_posh configuration: >>>>>>>>>>>>>>
2024-12-27T18:29:20.4615102Z  │ │ CMake Error at CMakeLists.txt:71 (setup_package_name_and_create_files):
2024-12-27T18:29:20.4616990Z  │ │ -- Configuring incomplete, errors occurred!
2024-12-27T18:29:20.4619708Z  │ │   Unknown CMake command "setup_package_name_and_create_files".
2024-12-27T18:29:20.4704443Z  │ │ %SRC_DIR%\build>if errorlevel 1 exit 1 

@Tobias-Fischer
Copy link
Contributor

New error:

 │ │ [35/42] Building C object CMakeFiles\builtin_interfaces__rosidl_typesupport_fastrtps_c__pyext.dir\d008aa4197d37eb9eacf59598d47dd0f\_builtin_interfaces_s.ep.rosidl_typesupport_fastrtps_c.c.obj
 │ │ FAILED: CMakeFiles/builtin_interfaces__rosidl_typesupport_fastrtps_c__pyext.dir/d008aa4197d37eb9eacf59598d47dd0f/_builtin_interfaces_s.ep.rosidl_typesupport_fastrtps_c.c.obj 
 │ │ C:\PROGRA~2\MICROS~2\2019\ENTERP~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\cl.exe  /nologo -DFASTCDR_DYN_LINK -DROS_PACKAGE_NAME=\"builtin_interfaces\" -D_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING -Dbuiltin_interfaces__rosidl_typesupport_fastrtps_c__pyext_EXPORTS -I%SRC_DIR%\build\rosidl_generator_c -I%SRC_DIR%\build\rosidl_generator_py -I%SRC_DIR%\build\rosidl_typesupport_fastrtps_c -external:I%PREFIX%\Library\include\rosidl_runtime_c -external:I%PREFIX%\Library\include\rosidl_typesupport_c -external:I%PREFIX%\Library\include\rosidl_typesupport_interface -external:I%PREFIX%\Library\include\rmw -external:I%PREFIX%\Library\include\rcutils -external:I%PREFIX%\Library\include -external:I%PREFIX%\Library\include\rosidl_runtime_cpp -external:I%PREFIX%\Library\include\rosidl_typesupport_fastrtps_cpp -external:I%PREFIX%\Library\include\rosidl_typesupport_fastrtps_c -external:I%PREFIX%\include -external:W0 /DWIN32 /D_WINDOWS /W3 /MD /O2 /Ob2 /DNDEBUG /showIncludes /FoCMakeFiles\builtin_interfaces__rosidl_typesupport_fastrtps_c__pyext.dir\d008aa4197d37eb9eacf59598d47dd0f\_builtin_interfaces_s.ep.rosidl_typesupport_fastrtps_c.c.obj /FdCMakeFiles\builtin_interfaces__rosidl_typesupport_fastrtps_c__pyext.dir\ /FS -c %SRC_DIR%\build\rosidl_generator_py\builtin_interfaces\_builtin_interfaces_s.ep.rosidl_typesupport_fastrtps_c.c
 │ │ %SRC_DIR%\build\rosidl_generator_py\builtin_interfaces\_builtin_interfaces_s.ep.rosidl_typesupport_fastrtps_c.c : fatal error C1083: Cannot open compiler generated file: '': Invalid argument
 │ │ [36/42] Building C object CMakeFiles\builtin_interfaces__rosidl_typesupport_c__pyext.dir\d008aa4197d37eb9eacf59598d47dd0f\_builtin_interfaces_s.ep.rosidl_typesupport_c.c.obj
 │ │ [37/42] Building C object CMakeFiles\builtin_interfaces__rosidl_typesupport_introspection_c__pyext.dir\d008aa4197d37eb9eacf59598d47dd0f\_builtin_interfaces_s.ep.rosidl_typesupport_introspection_c.c.obj
 │ │ FAILED: CMakeFiles/builtin_interfaces__rosidl_typesupport_introspection_c__pyext.dir/d008aa4197d37eb9eacf59598d47dd0f/_builtin_interfaces_s.ep.rosidl_typesupport_introspection_c.c.obj 
 │ │ C:\PROGRA~2\MICROS~2\2019\ENTERP~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\cl.exe  /nologo -DROS_PACKAGE_NAME=\"builtin_interfaces\" -Dbuiltin_interfaces__rosidl_typesupport_introspection_c__pyext_EXPORTS -I%SRC_DIR%\build\rosidl_generator_c -I%SRC_DIR%\build\rosidl_generator_py -I%PREFIX%\Library\include\rmw -I%SRC_DIR%\build\rosidl_typesupport_introspection_c -external:I%PREFIX%\Library\include\rosidl_runtime_c -external:I%PREFIX%\Library\include\rosidl_typesupport_c -external:I%PREFIX%\Library\include\rosidl_typesupport_interface -external:I%PREFIX%\Library\include\rcutils -external:I%PREFIX%\Library\include\rosidl_typesupport_introspection_c -external:I%PREFIX%\include -external:W0 /DWIN32 /D_WINDOWS /W3 /MD /O2 /Ob2 /DNDEBUG /showIncludes /FoCMakeFiles\builtin_interfaces__rosidl_typesupport_introspection_c__pyext.dir\d008aa4197d37eb9eacf59598d47dd0f\_builtin_interfaces_s.ep.rosidl_typesupport_introspection_c.c.obj /FdCMakeFiles\builtin_interfaces__rosidl_typesupport_introspection_c__pyext.dir\ /FS -c %SRC_DIR%\build\rosidl_generator_py\builtin_interfaces\_builtin_interfaces_s.ep.rosidl_typesupport_introspection_c.c
 │ │ %SRC_DIR%\build\rosidl_generator_py\builtin_interfaces\_builtin_interfaces_s.ep.rosidl_typesupport_introspection_c.c : fatal error C1083: Cannot open compiler generated file: '': Invalid argument
 │ │ [38/42] Linking C shared library rosidl_generator_py\builtin_interfaces\builtin_interfaces__rosidl_generator_py.dll
 │ │ ninja: build stopped: subcommand failed.

@traversaro
Copy link
Member Author

New error:

 │ │ [35/42] Building C object CMakeFiles\builtin_interfaces__rosidl_typesupport_fastrtps_c__pyext.dir\d008aa4197d37eb9eacf59598d47dd0f\_builtin_interfaces_s.ep.rosidl_typesupport_fastrtps_c.c.obj
 │ │ FAILED: CMakeFiles/builtin_interfaces__rosidl_typesupport_fastrtps_c__pyext.dir/d008aa4197d37eb9eacf59598d47dd0f/_builtin_interfaces_s.ep.rosidl_typesupport_fastrtps_c.c.obj 
 │ │ C:\PROGRA~2\MICROS~2\2019\ENTERP~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\cl.exe  /nologo -DFASTCDR_DYN_LINK -DROS_PACKAGE_NAME=\"builtin_interfaces\" -D_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING -Dbuiltin_interfaces__rosidl_typesupport_fastrtps_c__pyext_EXPORTS -I%SRC_DIR%\build\rosidl_generator_c -I%SRC_DIR%\build\rosidl_generator_py -I%SRC_DIR%\build\rosidl_typesupport_fastrtps_c -external:I%PREFIX%\Library\include\rosidl_runtime_c -external:I%PREFIX%\Library\include\rosidl_typesupport_c -external:I%PREFIX%\Library\include\rosidl_typesupport_interface -external:I%PREFIX%\Library\include\rmw -external:I%PREFIX%\Library\include\rcutils -external:I%PREFIX%\Library\include -external:I%PREFIX%\Library\include\rosidl_runtime_cpp -external:I%PREFIX%\Library\include\rosidl_typesupport_fastrtps_cpp -external:I%PREFIX%\Library\include\rosidl_typesupport_fastrtps_c -external:I%PREFIX%\include -external:W0 /DWIN32 /D_WINDOWS /W3 /MD /O2 /Ob2 /DNDEBUG /showIncludes /FoCMakeFiles\builtin_interfaces__rosidl_typesupport_fastrtps_c__pyext.dir\d008aa4197d37eb9eacf59598d47dd0f\_builtin_interfaces_s.ep.rosidl_typesupport_fastrtps_c.c.obj /FdCMakeFiles\builtin_interfaces__rosidl_typesupport_fastrtps_c__pyext.dir\ /FS -c %SRC_DIR%\build\rosidl_generator_py\builtin_interfaces\_builtin_interfaces_s.ep.rosidl_typesupport_fastrtps_c.c
 │ │ %SRC_DIR%\build\rosidl_generator_py\builtin_interfaces\_builtin_interfaces_s.ep.rosidl_typesupport_fastrtps_c.c : fatal error C1083: Cannot open compiler generated file: '': Invalid argument
 │ │ [36/42] Building C object CMakeFiles\builtin_interfaces__rosidl_typesupport_c__pyext.dir\d008aa4197d37eb9eacf59598d47dd0f\_builtin_interfaces_s.ep.rosidl_typesupport_c.c.obj
 │ │ [37/42] Building C object CMakeFiles\builtin_interfaces__rosidl_typesupport_introspection_c__pyext.dir\d008aa4197d37eb9eacf59598d47dd0f\_builtin_interfaces_s.ep.rosidl_typesupport_introspection_c.c.obj
 │ │ FAILED: CMakeFiles/builtin_interfaces__rosidl_typesupport_introspection_c__pyext.dir/d008aa4197d37eb9eacf59598d47dd0f/_builtin_interfaces_s.ep.rosidl_typesupport_introspection_c.c.obj 
 │ │ C:\PROGRA~2\MICROS~2\2019\ENTERP~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\cl.exe  /nologo -DROS_PACKAGE_NAME=\"builtin_interfaces\" -Dbuiltin_interfaces__rosidl_typesupport_introspection_c__pyext_EXPORTS -I%SRC_DIR%\build\rosidl_generator_c -I%SRC_DIR%\build\rosidl_generator_py -I%PREFIX%\Library\include\rmw -I%SRC_DIR%\build\rosidl_typesupport_introspection_c -external:I%PREFIX%\Library\include\rosidl_runtime_c -external:I%PREFIX%\Library\include\rosidl_typesupport_c -external:I%PREFIX%\Library\include\rosidl_typesupport_interface -external:I%PREFIX%\Library\include\rcutils -external:I%PREFIX%\Library\include\rosidl_typesupport_introspection_c -external:I%PREFIX%\include -external:W0 /DWIN32 /D_WINDOWS /W3 /MD /O2 /Ob2 /DNDEBUG /showIncludes /FoCMakeFiles\builtin_interfaces__rosidl_typesupport_introspection_c__pyext.dir\d008aa4197d37eb9eacf59598d47dd0f\_builtin_interfaces_s.ep.rosidl_typesupport_introspection_c.c.obj /FdCMakeFiles\builtin_interfaces__rosidl_typesupport_introspection_c__pyext.dir\ /FS -c %SRC_DIR%\build\rosidl_generator_py\builtin_interfaces\_builtin_interfaces_s.ep.rosidl_typesupport_introspection_c.c
 │ │ %SRC_DIR%\build\rosidl_generator_py\builtin_interfaces\_builtin_interfaces_s.ep.rosidl_typesupport_introspection_c.c : fatal error C1083: Cannot open compiler generated file: '': Invalid argument
 │ │ [38/42] Linking C shared library rosidl_generator_py\builtin_interfaces\builtin_interfaces__rosidl_generator_py.dll
 │ │ ninja: build stopped: subcommand failed.

Argh, I did not experienced this locally but this sound a problem of too long path. I removed the workaround of using the Visual Studio generator instead of Ninja, but probably we need to re-add it.

@traversaro
Copy link
Member Author

Argh, I did not experienced this locally but this sound a problem of too long path. I removed the workaround of using the Visual Studio generator instead of Ninja, but probably we need to re-add it.

See https://developercommunity.visualstudio.com/t/compiler-cant-find-source-file-in-path-/10221576 for a related VS issue.

@traversaro
Copy link
Member Author

Argh, I did not experienced this locally but this sound a problem of too long path. I removed the workaround of using the Visual Studio generator instead of Ninja, but probably we need to re-add it.

See https://developercommunity.visualstudio.com/t/compiler-cant-find-source-file-in-path-/10221576 for a related VS issue.

In theory this was fixed in ninja-build/ninja#1900 that was released in ninja 1.12.0. In the rattler-build we are using ninja 1.12.1, so the problem we are seeing may be slightly different.

@traversaro
Copy link
Member Author

Argh, I did not experienced this locally but this sound a problem of too long path. I removed the workaround of using the Visual Studio generator instead of Ninja, but probably we need to re-add it.

See https://developercommunity.visualstudio.com/t/compiler-cant-find-source-file-in-path-/10221576 for a related VS issue.

In theory this was fixed in ninja-build/ninja#1900 that was released in ninja 1.12.0. In the rattler-build we are using ninja 1.12.1, so the problem we are seeing may be slightly different.

By restoring CONDA_BLD_PATH set to C:\bld instead of D:\a\ros-humble\ros-humble\output we should recover ~27 characters, not sure if it is enough but it is worth trying.

@traversaro
Copy link
Member Author

New failure:

2024-12-27T18:29:20.3763764Z  │ │ -- Install configuration: "Debug"
2024-12-27T18:29:20.3769930Z  │ │ -- Installing: %SRC_DIR%/build/dependencies/install/include/cpptoml.h
2024-12-27T18:29:20.3781773Z  │ │ -- Installing: %SRC_DIR%/build/dependencies/install/lib/cmake/cpptoml/cpptomlTargets.cmake
2024-12-27T18:29:20.3788756Z  │ │ -- Installing: %SRC_DIR%/build/dependencies/install/lib/cmake/cpptoml/cpptomlConfigVersion.cmake
2024-12-27T18:29:20.3794365Z  │ │ -- Installing: %SRC_DIR%/build/dependencies/install/lib/cmake/cpptoml/cpptomlConfig.cmake
2024-12-27T18:29:20.3907382Z  │ │ CMake Error at CMakeLists.txt:42 (include):
2024-12-27T18:29:20.3909946Z  │ │   include could not find requested file:
2024-12-27T18:29:20.3913611Z  │ │ -- [i] <<<<<<<<<<<<< Start iceoryx_posh configuration: >>>>>>>>>>>>>
2024-12-27T18:29:20.3915104Z  │ │     IceoryxPackageHelper
2024-12-27T18:29:20.3919387Z  │ │ -- [i] Using m:n communication!
2024-12-27T18:29:20.3921538Z  │ │ CMake Error at CMakeLists.txt:43 (include):
2024-12-27T18:29:20.3923669Z  │ │   include could not find requested file:
2024-12-27T18:29:20.3926626Z  │ │ -- [i] IOX_MAX_PUBLISHERS:512
2024-12-27T18:29:20.3928655Z  │ │     IceoryxPlatform
2024-12-27T18:29:20.3935009Z  │ │ -- [i] IOX_MAX_SUBSCRIBERS:1024
2024-12-27T18:29:20.3937026Z  │ │ -- [i] IOX_MAX_INTERFACE_NUMBER:4
2024-12-27T18:29:20.3938582Z  │ │ -- [i] IOX_MAX_SUBSCRIBERS_PER_PUBLISHER:256
2024-12-27T18:29:20.3940589Z  │ │ -- [i] IOX_MAX_CHUNKS_ALLOCATED_PER_PUBLISHER_SIMULTANEOUSLY:8
2024-12-27T18:29:20.3942418Z  │ │ -- [i] IOX_MAX_PUBLISHER_HISTORY:16
2024-12-27T18:29:20.3944548Z  │ │ -- [i] IOX_MAX_CHUNKS_HELD_PER_SUBSCRIBER_SIMULTANEOUSLY:256
2024-12-27T18:29:20.3946312Z  │ │ -- [i] <<<<<<<<<<<<<< End iceoryx_posh configuration: >>>>>>>>>>>>>>
2024-12-27T18:29:20.4615102Z  │ │ CMake Error at CMakeLists.txt:71 (setup_package_name_and_create_files):
2024-12-27T18:29:20.4616990Z  │ │ -- Configuring incomplete, errors occurred!
2024-12-27T18:29:20.4619708Z  │ │   Unknown CMake command "setup_package_name_and_create_files".
2024-12-27T18:29:20.4704443Z  │ │ %SRC_DIR%\build>if errorlevel 1 exit 1 

Apparently, there are two issues behind here. The first one (that indeed is a bug upstream in iceoryx and/or cmake) is that the config files generated by iceoryx_hoofs are not relocatable, see:

D:\src\ros-humble\output\bld\rattler-build_ros-humble-iceoryx-posh_1735594327\work>type %PREFIX%\Library\lib\cmake\iceor
yx_hoofs\iceoryx_hoofsConfig.cmake
# Copyright (c) 2020 by Robert Bosch GmbH All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0


####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() #######
####### Any changes to this file will be overwritten by the next CMake run ####
####### The input file was Config.cmake.in                            ########

get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)

macro(set_and_check _var _file)
  set(${_var} "${_file}")
  if(NOT EXISTS "${_file}")
    message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !")
  endif()
endmacro()

macro(check_required_components _NAME)
  foreach(comp ${${_NAME}_FIND_COMPONENTS})
    if(NOT ${_NAME}_${comp}_FOUND)
      if(${_NAME}_FIND_REQUIRED_${comp})
        set(${_NAME}_FOUND FALSE)
      endif()
    endif()
  endforeach()
endmacro()

####################################################################################

include(CMakeFindDependencyMacro)

include("${CMAKE_CURRENT_LIST_DIR}/iceoryx_hoofsTargets.cmake")
list(APPEND CMAKE_MODULE_PATH "D:/src/ros-humble/output/bld/rattler-build_ros-humble-iceoryx-hoofs_1735342095/h_env/Library/lib/cmake/iceoryx_hoofs")
check_required_components("iceoryx_hoofs")

However, historically the hardcoded install prefix in text file was never a problem for conda-build/conda, as this was handled automatically. However, this is not the case anymore for rattler-build, at least in Windows?

@traversaro
Copy link
Member Author

The first one (that indeed is a bug upstream in iceoryx and/or cmake) is that the config files generated by iceoryx_hoofs are not relocatable, see:

This was solved upstream in eclipse-iceoryx/iceoryx#2231, but this change is still not available in the version packaged in ros humble.

@Tobias-Fischer
Copy link
Contributor

The first one (that indeed is a bug upstream in iceoryx and/or cmake) is that the config files generated by iceoryx_hoofs are not relocatable, see:

This was solved upstream in eclipse-iceoryx/iceoryx#2231, but this change is still not available in the version packaged in ros humble.

Can't we patch it?

@traversaro
Copy link
Member Author

The first one (that indeed is a bug upstream in iceoryx and/or cmake) is that the config files generated by iceoryx_hoofs are not relocatable, see:

This was solved upstream in eclipse-iceoryx/iceoryx#2231, but this change is still not available in the version packaged in ros humble.

Can't we patch it?

Yes, I am working on it now (I am having a bit of trouble due to prefix-dev/rattler-build#1000).

@traversaro
Copy link
Member Author

traversaro commented Dec 30, 2024

Argh, I did not experienced this locally but this sound a problem of too long path. I removed the workaround of using the Visual Studio generator instead of Ninja, but probably we need to re-add it.

See https://developercommunity.visualstudio.com/t/compiler-cant-find-source-file-in-path-/10221576 for a related VS issue.

In theory this was fixed in ninja-build/ninja#1900 that was released in ninja 1.12.0. In the rattler-build we are using ninja 1.12.1, so the problem we are seeing may be slightly different.

By restoring CONDA_BLD_PATH set to C:\bld instead of D:\a\ros-humble\ros-humble\output we should recover ~27 characters, not sure if it is enough but it is worth trying.

Unfortunately the problem is still there, just with another package:

2024-12-29T23:17:01.4677954Z  │ │ [26/34] Building C object CMakeFiles\unique_identifier_msgs__rosidl_typesupport_introspection_c__pyext.dir\aafacfe125e28cc4aa6fe9488e26b456\_unique_identifier_msgs_s.ep.rosidl_typesupport_introspection_c.c.obj
2024-12-29T23:17:01.4681202Z  │ │ FAILED: CMakeFiles/unique_identifier_msgs__rosidl_typesupport_introspection_c__pyext.dir/aafacfe125e28cc4aa6fe9488e26b456/_unique_identifier_msgs_s.ep.rosidl_typesupport_introspection_c.c.obj 
2024-12-29T23:17:01.4710573Z  │ │ C:\PROGRA~2\MICROS~2\2019\ENTERP~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\cl.exe  /nologo -DROS_PACKAGE_NAME=\"unique_identifier_msgs\" -Dunique_identifier_msgs__rosidl_typesupport_introspection_c__pyext_EXPORTS -I%SRC_DIR%\build\rosidl_generator_c -I%SRC_DIR%\build\rosidl_generator_py -I%PREFIX%\Library\include\rmw -I%SRC_DIR%\build\rosidl_typesupport_introspection_c -external:I%PREFIX%\Library\include\rosidl_runtime_c -external:I%PREFIX%\Library\include\rosidl_typesupport_c -external:I%PREFIX%\Library\include\rosidl_typesupport_interface -external:I%PREFIX%\Library\include\rcutils -external:I%PREFIX%\Library\include\rosidl_typesupport_introspection_c -external:I%PREFIX%\include -external:W0 /DWIN32 /D_WINDOWS /W3 /MD /O2 /Ob2 /DNDEBUG /showIncludes /FoCMakeFiles\unique_identifier_msgs__rosidl_typesupport_introspection_c__pyext.dir\aafacfe125e28cc4aa6fe9488e26b456\_unique_identifier_msgs_s.ep.rosidl_typesupport_introspection_c.c.obj /FdCMakeFiles\unique_identifier_msgs__rosidl_typesupport_introspection_c__pyext.dir\ /FS -c %SRC_DIR%\build\rosidl_generator_py\unique_identifier_msgs\_unique_identifier_msgs_s.ep.rosidl_typesupport_introspection_c.c
2024-12-29T23:17:01.4718617Z  │ │ %SRC_DIR%\build\rosidl_generator_py\unique_identifier_msgs\_unique_identifier_msgs_s.ep.rosidl_typesupport_introspection_c.c : fatal error C1083: Cannot open compiler generated file: '': Invalid argument
2024-12-29T23:17:01.4720949Z  │ │ [27/34] Building C object CMakeFiles\unique_identifier_msgs__rosidl_typesupport_c__pyext.dir\rosidl_generator_py\unique_identifier_msgs\_unique_identifier_msgs_s.ep.rosidl_typesupport_c.c.obj
2024-12-29T23:17:01.4723487Z  │ │ [28/34] Building C object CMakeFiles\unique_identifier_msgs__rosidl_typesupport_fastrtps_c__pyext.dir\aafacfe125e28cc4aa6fe9488e26b456\_unique_identifier_msgs_s.ep.rosidl_typesupport_fastrtps_c.c.obj
2024-12-29T23:17:01.4832644Z  │ │ [29/34] Building C object CMakeFiles\unique_identifier_msgs__rosidl_generator_py.dir\rosidl_generator_py\unique_identifier_msgs\msg\_uuid_s.c.obj
2024-12-29T23:17:01.4835541Z  │ │ ninja: build stopped: subcommand failed.
2024-12-29T23:17:01.4889309Z  │ │ %SRC_DIR%\build>if errorlevel 1 exit 1 
2024-12-29T23:17:01.4904786Z  │ │ × error Script failed with status 1
2024-12-29T23:17:01.4906470Z  │ │ × error Work directory: 'C:\bld\bld\rattler-build_ros-humble-unique-identifier-msgs_1735512486\work'
2024-12-29T23:17:01.4907290Z  │ │ × error To debug the build, run it manually in the work directory (execute the `./conda_build.sh` or `conda_build.bat` script)
2024-12-29T23:17:01.4908504Z  │ │
2024-12-29T23:17:01.4909333Z  │ ╰─────────────────── (took 10 seconds)
2024-12-29T23:17:01.4914069Z  │
2024-12-29T23:17:01.4914438Z  ╰─────────────────── (took 20 seconds)

indeed also CMake prints some warnings:

2024-12-29T23:16:58.7195614Z  │ │ CMake Warning in CMakeLists.txt:
2024-12-29T23:16:58.7197654Z  │ │   The object file directory
2024-12-29T23:16:58.7201251Z  │ │     %SRC_DIR%/build/CMakeFiles/unique_identifier_msgs__rosidl_typesupport_fastrtps_c__pyext.dir/./
2024-12-29T23:16:58.7204611Z  │ │   has 159 characters.  The maximum full path to an object file is 255
2024-12-29T23:16:58.7206799Z  │ │   characters (see CMAKE_OBJECT_PATH_MAX).  Object file
2024-12-29T23:16:58.7209622Z  │ │     aafacfe125e28cc4aa6fe9488e26b456/_unique_identifier_msgs_s.ep.rosidl_typesupport_fastrtps_c.c.obj
2024-12-29T23:16:58.7212457Z  │ │   cannot be safely placed under this directory.  The build may not work
2024-12-29T23:16:58.7213988Z  │ │   correctly.
2024-12-29T23:16:58.7227440Z  │ │ CMake Warning in CMakeLists.txt:
2024-12-29T23:16:58.7229263Z  │ │   The object file directory
2024-12-29T23:16:58.7232609Z  │ │     %SRC_DIR%/build/CMakeFiles/unique_identifier_msgs__rosidl_typesupport_introspection_c__pyext.dir/./
2024-12-29T23:16:58.7235495Z  │ │   has 164 characters.  The maximum full path to an object file is 255
2024-12-29T23:16:58.7236553Z  │ │   characters (see CMAKE_OBJECT_PATH_MAX).  Object file
2024-12-29T23:16:58.7239424Z  │ │     aafacfe125e28cc4aa6fe9488e26b456/_unique_identifier_msgs_s.ep.rosidl_typesupport_introspection_c.c.obj
2024-12-29T23:16:58.7242314Z  │ │   cannot be safely placed under this directory.  The build may not work
2024-12-29T23:16:58.7243570Z  │ │   correctly.
2024-12-29T23:16:58.7886133Z  │ │ CMake Warning:
2024-12-29T23:16:58.7888092Z  │ │ -- Generating done (0.1s)
2024-12-29T23:16:58.7889456Z  │ │   Manually-specified variables were not used by the project:

@traversaro
Copy link
Member Author

Argh, I did not experienced this locally but this sound a problem of too long path. I removed the workaround of using the Visual Studio generator instead of Ninja, but probably we need to re-add it.

See https://developercommunity.visualstudio.com/t/compiler-cant-find-source-file-in-path-/10221576 for a related VS issue.

In theory this was fixed in ninja-build/ninja#1900 that was released in ninja 1.12.0. In the rattler-build we are using ninja 1.12.1, so the problem we are seeing may be slightly different.

By restoring CONDA_BLD_PATH set to C:\bld instead of D:\a\ros-humble\ros-humble\output we should recover ~27 characters, not sure if it is enough but it is worth trying.

Unfortunately the problem is still there, just with another package:

2024-12-29T23:17:01.4677954Z  │ │ [26/34] Building C object CMakeFiles\unique_identifier_msgs__rosidl_typesupport_introspection_c__pyext.dir\aafacfe125e28cc4aa6fe9488e26b456\_unique_identifier_msgs_s.ep.rosidl_typesupport_introspection_c.c.obj
2024-12-29T23:17:01.4681202Z  │ │ FAILED: CMakeFiles/unique_identifier_msgs__rosidl_typesupport_introspection_c__pyext.dir/aafacfe125e28cc4aa6fe9488e26b456/_unique_identifier_msgs_s.ep.rosidl_typesupport_introspection_c.c.obj 
2024-12-29T23:17:01.4710573Z  │ │ C:\PROGRA~2\MICROS~2\2019\ENTERP~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\cl.exe  /nologo -DROS_PACKAGE_NAME=\"unique_identifier_msgs\" -Dunique_identifier_msgs__rosidl_typesupport_introspection_c__pyext_EXPORTS -I%SRC_DIR%\build\rosidl_generator_c -I%SRC_DIR%\build\rosidl_generator_py -I%PREFIX%\Library\include\rmw -I%SRC_DIR%\build\rosidl_typesupport_introspection_c -external:I%PREFIX%\Library\include\rosidl_runtime_c -external:I%PREFIX%\Library\include\rosidl_typesupport_c -external:I%PREFIX%\Library\include\rosidl_typesupport_interface -external:I%PREFIX%\Library\include\rcutils -external:I%PREFIX%\Library\include\rosidl_typesupport_introspection_c -external:I%PREFIX%\include -external:W0 /DWIN32 /D_WINDOWS /W3 /MD /O2 /Ob2 /DNDEBUG /showIncludes /FoCMakeFiles\unique_identifier_msgs__rosidl_typesupport_introspection_c__pyext.dir\aafacfe125e28cc4aa6fe9488e26b456\_unique_identifier_msgs_s.ep.rosidl_typesupport_introspection_c.c.obj /FdCMakeFiles\unique_identifier_msgs__rosidl_typesupport_introspection_c__pyext.dir\ /FS -c %SRC_DIR%\build\rosidl_generator_py\unique_identifier_msgs\_unique_identifier_msgs_s.ep.rosidl_typesupport_introspection_c.c
2024-12-29T23:17:01.4718617Z  │ │ %SRC_DIR%\build\rosidl_generator_py\unique_identifier_msgs\_unique_identifier_msgs_s.ep.rosidl_typesupport_introspection_c.c : fatal error C1083: Cannot open compiler generated file: '': Invalid argument
2024-12-29T23:17:01.4720949Z  │ │ [27/34] Building C object CMakeFiles\unique_identifier_msgs__rosidl_typesupport_c__pyext.dir\rosidl_generator_py\unique_identifier_msgs\_unique_identifier_msgs_s.ep.rosidl_typesupport_c.c.obj
2024-12-29T23:17:01.4723487Z  │ │ [28/34] Building C object CMakeFiles\unique_identifier_msgs__rosidl_typesupport_fastrtps_c__pyext.dir\aafacfe125e28cc4aa6fe9488e26b456\_unique_identifier_msgs_s.ep.rosidl_typesupport_fastrtps_c.c.obj
2024-12-29T23:17:01.4832644Z  │ │ [29/34] Building C object CMakeFiles\unique_identifier_msgs__rosidl_generator_py.dir\rosidl_generator_py\unique_identifier_msgs\msg\_uuid_s.c.obj
2024-12-29T23:17:01.4835541Z  │ │ ninja: build stopped: subcommand failed.
2024-12-29T23:17:01.4889309Z  │ │ %SRC_DIR%\build>if errorlevel 1 exit 1 
2024-12-29T23:17:01.4904786Z  │ │ × error Script failed with status 1
2024-12-29T23:17:01.4906470Z  │ │ × error Work directory: 'C:\bld\bld\rattler-build_ros-humble-unique-identifier-msgs_1735512486\work'
2024-12-29T23:17:01.4907290Z  │ │ × error To debug the build, run it manually in the work directory (execute the `./conda_build.sh` or `conda_build.bat` script)
2024-12-29T23:17:01.4908504Z  │ │
2024-12-29T23:17:01.4909333Z  │ ╰─────────────────── (took 10 seconds)
2024-12-29T23:17:01.4914069Z  │
2024-12-29T23:17:01.4914438Z  ╰─────────────────── (took 20 seconds)

indeed also CMake prints some warnings:

2024-12-29T23:16:58.7195614Z  │ │ CMake Warning in CMakeLists.txt:
2024-12-29T23:16:58.7197654Z  │ │   The object file directory
2024-12-29T23:16:58.7201251Z  │ │     %SRC_DIR%/build/CMakeFiles/unique_identifier_msgs__rosidl_typesupport_fastrtps_c__pyext.dir/./
2024-12-29T23:16:58.7204611Z  │ │   has 159 characters.  The maximum full path to an object file is 255
2024-12-29T23:16:58.7206799Z  │ │   characters (see CMAKE_OBJECT_PATH_MAX).  Object file
2024-12-29T23:16:58.7209622Z  │ │     aafacfe125e28cc4aa6fe9488e26b456/_unique_identifier_msgs_s.ep.rosidl_typesupport_fastrtps_c.c.obj
2024-12-29T23:16:58.7212457Z  │ │   cannot be safely placed under this directory.  The build may not work
2024-12-29T23:16:58.7213988Z  │ │   correctly.
2024-12-29T23:16:58.7227440Z  │ │ CMake Warning in CMakeLists.txt:
2024-12-29T23:16:58.7229263Z  │ │   The object file directory
2024-12-29T23:16:58.7232609Z  │ │     %SRC_DIR%/build/CMakeFiles/unique_identifier_msgs__rosidl_typesupport_introspection_c__pyext.dir/./
2024-12-29T23:16:58.7235495Z  │ │   has 164 characters.  The maximum full path to an object file is 255
2024-12-29T23:16:58.7236553Z  │ │   characters (see CMAKE_OBJECT_PATH_MAX).  Object file
2024-12-29T23:16:58.7239424Z  │ │     aafacfe125e28cc4aa6fe9488e26b456/_unique_identifier_msgs_s.ep.rosidl_typesupport_introspection_c.c.obj
2024-12-29T23:16:58.7242314Z  │ │   cannot be safely placed under this directory.  The build may not work
2024-12-29T23:16:58.7243570Z  │ │   correctly.
2024-12-29T23:16:58.7886133Z  │ │ CMake Warning:
2024-12-29T23:16:58.7888092Z  │ │ -- Generating done (0.1s)
2024-12-29T23:16:58.7889456Z  │ │   Manually-specified variables were not used by the project:

I fixed this by switching back builds to use VS generator instead of the ninja one, but to do not loose too much time I enabled paralellism with the vs generator, see RoboStack/vinca@7e7b6be .

@traversaro
Copy link
Member Author

The first one (that indeed is a bug upstream in iceoryx and/or cmake) is that the config files generated by iceoryx_hoofs are not relocatable, see:

This was solved upstream in eclipse-iceoryx/iceoryx#2231, but this change is still not available in the version packaged in ros humble.

Can't we patch it?

Yes, I am working on it now (I am having a bit of trouble due to prefix-dev/rattler-build#1000).

Patches added in 4cfed36 .

@traversaro
Copy link
Member Author

New failure:

2024-12-31T07:18:14.2079603Z  │ │ -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
2024-12-31T07:18:14.2084157Z  │ │ -- Detecting CXX compile features
2024-12-31T07:18:14.2104456Z  │ │ -- Detecting CXX compile features - done
2024-12-31T07:18:14.2181061Z  │ │ -- Found ament_cmake: 1.3.11 (%PREFIX%/Library/share/ament_cmake/cmake)
2024-12-31T07:18:14.4085925Z  │ │ -- Found Python3: %PREFIX%\python.exe (found version "3.11.11") found components: Interpreter
2024-12-31T07:18:14.5804777Z  │ │ CMake Error at %PREFIX%/Library/share/backward_ros/cmake/backward_rosConfig.cmake:11 (message):
2024-12-31T07:18:14.5808692Z  │ │ -- Configuring incomplete, errors occurred!
2024-12-31T07:18:14.5811934Z  │ │   File or directory
2024-12-31T07:18:14.5814959Z  │ │   C:/bld/bld/rattler-build_ros-humble-backward-ros_1735624354/h_env/Library/include
2024-12-31T07:18:14.5817579Z  │ │   referenced by variable backward_ros_INCLUDE_DIRS does not exist !
2024-12-31T07:18:14.5819914Z  │ │ Call Stack (most recent call first):
2024-12-31T07:18:14.5822452Z  │ │   %PREFIX%/Library/share/backward_ros/cmake/backward_rosConfig.cmake:26 (set_and_check)
2024-12-31T07:18:14.5824804Z  │ │   CMakeLists.txt:22 (find_package)
2024-12-31T07:18:14.5909987Z  │ │ %SRC_DIR%\build>if errorlevel 1 exit 1 
2024-12-31T07:18:14.5924479Z  │ │ × error Script failed with status 1
2024-12-31T07:18:14.5927037Z  │ │ × error Work directory: 'C:\bld\bld\rattler-build_ros-humble-controller-manager_1735624354\work'
2024-12-31T07:18:14.5928872Z  │ │ × error To debug the build, run it manually in the work directory (execute the `./conda_build.sh` or `conda_build.bat` script)

Again, I suspect this may be related to missing relocatable support on Windows in rattler build?

@traversaro
Copy link
Member Author

Again, I suspect this may be related to missing relocatable support on Windows in rattler build?

I was able to reproduce the problem with a minimal example prefix-dev/rattler-build#1295 .

@traversaro
Copy link
Member Author

Again, I suspect this may be related to missing relocatable support on Windows in rattler build?

I was able to reproduce the problem with a minimal example prefix-dev/rattler-build#1295 .

Anyhow, it is not a bad idea to fix all projects to actually be relocatable, while we look for a solution for prefix-dev/rattler-build#1295 . In the meanwhile I added a test in 47d432d to early fail if backward_ros CMake config file have problems.

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

Successfully merging this pull request may close these issues.

Package request: ur_calibration>=2.2.13
5 participants