-
-
Notifications
You must be signed in to change notification settings - Fork 36
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
base: main
Are you sure you want to change the base?
Rebuild Christmas 2024 - switch to rattler-build #229
Conversation
It was superseded by moveit/moveit2#2399 .
…in.patch The patch was integrated upstream in moveit/moveit2#2395 .
…eason is not added
Heavely based on RoboStack/ros-jazzy#5
rcutils on Windows is failing with:
|
Locally the build pass fine with this compiler:
while in CI:
for some reason, in CI no line "Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.22631." is printed. |
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. |
New local failure:
|
May be related to RoboStack/ros-galactic#55 ? |
New failure:
|
New error:
|
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 |
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:
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? |
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). |
Unfortunately the problem is still there, just with another package:
indeed also CMake prints some warnings:
|
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 . |
Patches added in 4cfed36 . |
New failure:
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. |
Just an attempt, heavily based on:
Fix #217