Skip to content

Conversation

@wep21
Copy link
Contributor

@wep21 wep21 commented Jun 26, 2025

No description provided.

@wep21 wep21 force-pushed the rebuild-202506 branch 3 times, most recently from d9cad83 to d864057 Compare June 26, 2025 01:09
Signed-off-by: wep21 <daisuke.nishimatsu1021@gmail.com>
@wep21
Copy link
Contributor Author

wep21 commented Jun 26, 2025

@traversaro I have no idea why ros2-distro-mutex is not rebuild in ci(works fine locally). Any thoughts?

@traversaro
Copy link
Member

@traversaro I have no idea why ros2-distro-mutex is not rebuild in ci(works fine locally). Any thoughts?

I am not sure if it s related, but note that the check-patches step is failing, but somehow the CI is not failing (related to RoboStack/ros-jazzy#86).

Furthermore, I think we could:

@traversaro
Copy link
Member

(related to RoboStack/ros-jazzy#86).

After https://github.com/prefix-dev/rattler-build/pull/1666/files we can probably remove many workaround in the testpr job.

@traversaro
Copy link
Member

@traversaro I have no idea why ros2-distro-mutex is not rebuild in ci(works fine locally). Any thoughts?

It seems that in 685cd40 the build of additional_recipes was commented out, but I can't remember doing that intentionally.

@traversaro
Copy link
Member

I re-added the build of additional recipes, and drastically simplified the testpr job, and moving the check patches to its own step seems to have solved RoboStack/ros-jazzy#86 . It would be cool to just use pixi tasks directly in the testpr, but I guess for that we need to add cross-compilation support to the pixi tasks.

@traversaro
Copy link
Member

@wep21 I did some cleanup, I think some patches are still failing but that seems as the patches are actually outdated (I hope).

wep21 and others added 3 commits June 26, 2025 22:39
Signed-off-by: wep21 <daisuke.nishimatsu1021@gmail.com>
@wep21
Copy link
Contributor Author

wep21 commented Jun 26, 2025

@traversaro How can I avoid this version conflict?

2025-06-26T16:50:28.3701525Z Error:   × Failed to resolve dependencies: Cannot solve the request because of: ros-
2025-06-26T16:50:28.3702786Z   │ kilted-urdfdom * cannot be installed because there are no viable options:
2025-06-26T16:50:28.3703318Z   │ └─ ros-kilted-urdfdom 5.0.0 would require
2025-06-26T16:50:28.3703681Z   │    └─ urdfdom >=5.0.0,<5.1.0a0, for which no candidates were found.
2025-06-26T16:50:28.3704021Z   │ The following packages are incompatible
2025-06-26T16:50:28.3704442Z   │ └─ ros-kilted-urdfdom * cannot be installed because there are no viable
2025-06-26T16:50:28.3704785Z   │ options:
2025-06-26T16:50:28.3705085Z   │    └─ ros-kilted-urdfdom 4.0.1 | 4.0.1 is excluded because due to strict
2025-06-26T16:50:28.3705578Z   │ channel priority not using this option from: 'https://conda.anaconda.org/
2025-06-26T16:50:28.3705934Z   │ robostack-kilted/'
2025-06-26T16:50:28.3706122Z   │ 
2025-06-26T16:50:28.3706423Z   ╰─▶ Cannot solve the request because of: ros-kilted-urdfdom * cannot be
2025-06-26T16:50:28.3706768Z       installed because there are no viable options:
2025-06-26T16:50:28.3707086Z       └─ ros-kilted-urdfdom 5.0.0 would require
2025-06-26T16:50:28.3707433Z          └─ urdfdom >=5.0.0,<5.1.0a0, for which no candidates were found.
2025-06-26T16:50:28.3708119Z       The following packages are incompatible
2025-06-26T16:50:28.3708565Z       └─ ros-kilted-urdfdom * cannot be installed because there are no viable
2025-06-26T16:50:28.3709006Z       options:
2025-06-26T16:50:28.3710076Z          └─ ros-kilted-urdfdom 4.0.1 | 4.0.1 is excluded because due to strict
2025-06-26T16:50:28.3710483Z       channel priority not using this option from: 'https://
2025-06-26T16:50:28.3710775Z       conda.anaconda.org/robostack-kilted/'

@traversaro
Copy link
Member

@traversaro How can I avoid this version conflict?

2025-06-26T16:50:28.3701525Z Error:   × Failed to resolve dependencies: Cannot solve the request because of: ros-
2025-06-26T16:50:28.3702786Z   │ kilted-urdfdom * cannot be installed because there are no viable options:
2025-06-26T16:50:28.3703318Z   │ └─ ros-kilted-urdfdom 5.0.0 would require
2025-06-26T16:50:28.3703681Z   │    └─ urdfdom >=5.0.0,<5.1.0a0, for which no candidates were found.
2025-06-26T16:50:28.3704021Z   │ The following packages are incompatible
2025-06-26T16:50:28.3704442Z   │ └─ ros-kilted-urdfdom * cannot be installed because there are no viable
2025-06-26T16:50:28.3704785Z   │ options:
2025-06-26T16:50:28.3705085Z   │    └─ ros-kilted-urdfdom 4.0.1 | 4.0.1 is excluded because due to strict
2025-06-26T16:50:28.3705578Z   │ channel priority not using this option from: 'https://conda.anaconda.org/
2025-06-26T16:50:28.3705934Z   │ robostack-kilted/'
2025-06-26T16:50:28.3706122Z   │ 
2025-06-26T16:50:28.3706423Z   ╰─▶ Cannot solve the request because of: ros-kilted-urdfdom * cannot be
2025-06-26T16:50:28.3706768Z       installed because there are no viable options:
2025-06-26T16:50:28.3707086Z       └─ ros-kilted-urdfdom 5.0.0 would require
2025-06-26T16:50:28.3707433Z          └─ urdfdom >=5.0.0,<5.1.0a0, for which no candidates were found.
2025-06-26T16:50:28.3708119Z       The following packages are incompatible
2025-06-26T16:50:28.3708565Z       └─ ros-kilted-urdfdom * cannot be installed because there are no viable
2025-06-26T16:50:28.3709006Z       options:
2025-06-26T16:50:28.3710076Z          └─ ros-kilted-urdfdom 4.0.1 | 4.0.1 is excluded because due to strict
2025-06-26T16:50:28.3710483Z       channel priority not using this option from: 'https://
2025-06-26T16:50:28.3710775Z       conda.anaconda.org/robostack-kilted/'

I think we can merge conda-forge/urdfdom-feedstock#38 . I was hesitant to do that as I was afraid that that release was not intentional, as it was done without any actual breaking change to urdfdom, but after ros/rosdistro#45869 I think for sure it is an actual release. Anyhow, to avoid that the rest of the distros remain stuck with an old urdfdom (that will create a diverge w.r.t. to the version pinned in the conda-forge pinning), I think we need to add a new vinca parameter in the generate_dummy_package_with_run_deps to optionally override the rosdistro version.

@traversaro
Copy link
Member

I think we can merge conda-forge/urdfdom-feedstock#38 . I was hesitant to do that as I was afraid that that release was not intentional, as it was done without any actual breaking change to urdfdom, but after ros/rosdistro#45869 I think for sure it is an actual release. Anyhow, to avoid that the rest of the distros remain stuck with an old urdfdom (that will create a diverge w.r.t. to the version pinned in the conda-forge pinning), I think we need to add a new vinca parameter in the generate_dummy_package_with_run_deps to optionally override the rosdistro version.

Actually I would like to wait for the feedback on ros/urdfdom#220 . To avoid blocking the PR, I implemented RoboStack/vinca#81 .

@traversaro
Copy link
Member

I think we can merge conda-forge/urdfdom-feedstock#38 . I was hesitant to do that as I was afraid that that release was not intentional, as it was done without any actual breaking change to urdfdom, but after ros/rosdistro#45869 I think for sure it is an actual release. Anyhow, to avoid that the rest of the distros remain stuck with an old urdfdom (that will create a diverge w.r.t. to the version pinned in the conda-forge pinning), I think we need to add a new vinca parameter in the generate_dummy_package_with_run_deps to optionally override the rosdistro version.

Actually I would like to wait for the feedback on ros/urdfdom#220 . To avoid blocking the PR, I implemented RoboStack/vinca#81 .

The build was unblocked by bc7875f, I also took the occasion to devendor some packages that have much more features in the conda-forge build, that should provide more feature to users and reduce the time spent in the build.

@Tobias-Fischer
Copy link
Contributor

backward-ros does not build on osx-64 - we should really try and unvendor this .. does your new magic help @traversaro?

2025-06-26T21:50:35.1529390Z  │ │ [1/3] Building CXX object CMakeFiles/backward.dir/src/backward.cpp.o
2025-06-26T21:50:35.1605400Z  │ │ [2/3] Building CXX object CMakeFiles/backward_object.dir/src/backward.cpp.o
2025-06-26T21:50:35.2732070Z  │ │ [3/3] Linking CXX shared library libbackward.dylib
2025-06-26T21:50:35.2791830Z  │ │ FAILED: [code=1] libbackward.dylib 
2025-06-26T21:50:35.2800900Z  │ │ : && $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang++ -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc++ -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ros-kilted-backward-ros-1.0.7 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -DBOOST_ERROR_CODE_HEADER_ONLY -Wall -Wextra -pedantic-errors -g -O3 -DNDEBUG -isysroot /Applications/Xcode_15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -mmacosx-version-min=10.15 -dynamiclib -Wl,-headerpad_max_install_names -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -o libbackward.dylib -install_name @rpath/libbackward.dylib CMakeFiles/backward.dir/src/backward.cpp.o  $PREFIX/lib/libbfd.a  /Applications/Xcode_15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libdl.tbd  -liberty  -lz && :
2025-06-26T21:50:35.2809080Z  │ │ ld: library not found for -liberty

@traversaro
Copy link
Member

backward-ros does not build on osx-64 - we should really try and unvendor this .. does your new magic help @traversaro?

2025-06-26T21:50:35.1529390Z  │ │ [1/3] Building CXX object CMakeFiles/backward.dir/src/backward.cpp.o
2025-06-26T21:50:35.1605400Z  │ │ [2/3] Building CXX object CMakeFiles/backward_object.dir/src/backward.cpp.o
2025-06-26T21:50:35.2732070Z  │ │ [3/3] Linking CXX shared library libbackward.dylib
2025-06-26T21:50:35.2791830Z  │ │ FAILED: [code=1] libbackward.dylib 
2025-06-26T21:50:35.2800900Z  │ │ : && $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang++ -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc++ -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ros-kilted-backward-ros-1.0.7 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -DBOOST_ERROR_CODE_HEADER_ONLY -Wall -Wextra -pedantic-errors -g -O3 -DNDEBUG -isysroot /Applications/Xcode_15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -mmacosx-version-min=10.15 -dynamiclib -Wl,-headerpad_max_install_names -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -o libbackward.dylib -install_name @rpath/libbackward.dylib CMakeFiles/backward.dir/src/backward.cpp.o  $PREFIX/lib/libbfd.a  /Applications/Xcode_15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libdl.tbd  -liberty  -lz && :
2025-06-26T21:50:35.2809080Z  │ │ ld: library not found for -liberty

Unfortunatly the backward-ros and backward-cpp from conda-forge packages are quite different. backward-cpp only installs the backward.hpp header and a backwardConfig.cmake file (see https://conda-metadata-app.streamlit.app/?q=conda-forge%2Flinux-64%2Fbackward-cpp-1.6-hd64ec54_5.conda). The ros version, installs:

  • backward.hpp, but in a different dir
  • a shared library
  • backward_rosConfig.cmake, BackwardConfig.cmake and BackwardConfigAment.cmake`

So if we want to de-vendor it, we need to do a good old heavy patching of the package.

@Tobias-Fischer
Copy link
Contributor

I think I "fixed" the issue by basically disabling this feature on osx-64 by not installing the required binutils package (that was recently updated on conda-forge and might not be compatible anymore ..).

@wep21
Copy link
Contributor Author

wep21 commented Jun 27, 2025

Is it possible to rerun only osx-arm64?

@Tobias-Fischer
Copy link
Contributor

I’m not too worried about it; we can fix issues in a follow up PR

@traversaro
Copy link
Member

Thanks @Tobias-Fischer @wep21 , I would include also the fix RoboStack/ros-jazzy#57 if that is ok for you.

@wep21
Copy link
Contributor Author

wep21 commented Jun 27, 2025

I'm fine for including the fix. Thank you!

@traversaro
Copy link
Member

It would be cool to also unvendor ompl , but that is probably blocked on conda-forge/ompl-feedstock#53 .

@traversaro
Copy link
Member

CI is clearly happy, let's merge so we can quickly deal with post-PR failures (if any).

@traversaro traversaro merged commit 64beb10 into RoboStack:main Jun 27, 2025
3 of 10 checks passed
@traversaro
Copy link
Member

CI is clearly happy, let's merge so we can quickly deal with post-PR failures (if any).

There is: #24 .

@traversaro traversaro changed the title rebuild for 202506 Full rebuild June 2025 bump ros2-distro-mutex to 0.10.0 and build number to 10 Jun 27, 2025
@wep21 wep21 deleted the rebuild-202506 branch June 27, 2025 16:20
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.

3 participants