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
Doesn't work on Windows, but it does on Linux and macOS on conda-forge and PyPi.
Package list:
roboplan
roboplan_cartesian_planning
roboplan_example_models
roboplan_examples
roboplan_oink (will require osqp-eigen from conda to work)
roboplan_rrt
roboplan_simple_ik
roboplan_toppra
These packages are already on conda-forge as roboplan-SUBPACKAGE-python (with python bindings) or libroboplan-SUBPACKAGE (without) in https://github.com/conda-forge/roboplan-feedstock, so wondering if for RoboStack we can just grab the python ones?
Are these packages released in the ROS buildfarm? If yes, we can just add them and then reused the conda-forge builds with generate_dummy_package_with_run_deps. If they are not available on the ROS buildfarm, I guess we can add them as additional recipes, and then use anyhow generate_dummy_package_with_run_deps, even if I never tested this combination.
The core roboplan packages are on the buildfarm but full releases are being held up by:
proxsuite needing a new release for their 0.7.3 version. This makes roboplan_oink and the downstream roboplan_cartesian_planner / roboplan_examples also not work. However, this is already on conda-forge.
On Humble, nanobind is not available via apt (it's a pip dependency), so it cannot be on the buildfarm for this distro. Again, on conda forge though!
roboplan-ros hasn't yet made it onto the buildfarm because of the above. Basically no point in trying until the core is releasable first.
Also, and very importantly... roboplan core packages are directly on conda-forge. So we could also simply grab them from there and forget the buildfarm efforts, using dummy packages as you suggested?
Is it sufficient that the keys are available on rosdistro to do this, even if not fully released? Just so rosdep resolves then?
@traversaro We've made updates to roboplan since, and Windows is now supported.
Due to proxsuite still not updated to work with the ROS buildfarm, the number of roboplan packages on the buildfarm is still incomplete. Should we wait until this is all squared away, or should we instead go with the (already working) conda-forge packages?
@traversaro We've made updates to roboplan since, and Windows is now supported.
Due to proxsuite still not updated to work with the ROS buildfarm, the number of roboplan packages on the buildfarm is still incomplete. Should we wait until this is all squared away, or should we instead go with the (already working) conda-forge packages?
oh cool -- I think I was able to get this working in #38.
Could you tell me if I'm on the right track? It built locally at least...
The direction seems nice. I only wonder if perhaps you want to reuse the packages that are already in conda-forge, such as all the non-ROS roboplan packages and toppra? Otherwise if a user install both ros2-roboplan from robostack and roboplan from conda-forge, it would result in incompatibilities.
This can be done by adding generate_dummy_package_with_run_deps sections in pkg_additional_info.yaml, see for example
done! Toppra needs a patch so I left it for now, but the others seem to have worked
I guess the conda-forge roboplan will bring in conda-forge toppra, so having a robostack toppra seems to install two different toppra libraries, that seems quite dangerous. What is necessary to fix the toppra issue in conda-forge ?
Don't think I need that (unless it's required for other reasons), but one thing I did just notice is I never supported multiple Python versions for the toppra feedstock: conda-forge/toppra-feedstock#15
Actually seems like I may have had some build outputs cached. Locally, after deleting the output/ folder and switch to the conda-forge version of the roboplan, I get incompatibilities with coal.
I can update the overridden coal version in pkg_additional_info.yaml to 3.0.4, and that works in my local build, but that may not be okay to do?
╰─▶ Cannot solve the request because of: The following packages are incompatible
├─ ros2-roboplan * can be installed with any of the following options:
│ └─ ros2-roboplan 0.6.0 would require
│ ├─ roboplan-python >=0.6.0,<0.7.0a0, which can be installed with any of the following options:
│ │ └─ roboplan-python 0.6.1 would require
│ │ └─ libcoal >=3.0.4,<3.0.5.0a0, which can be installed with any of the following options:
│ │ └─ libcoal 3.0.4
│ └─ ros2-pinocchio *, which can be installed with any of the following options:
│ └─ ros2-pinocchio 4.0.0 would require
│ ├─ ros2-coal *, which can be installed with any of the following options:
│ │ └─ ros2-coal 3.0.3 would require
│ │ └─ coal >=3.0.3,<3.0.4a0, which can be installed with any of the following options:
│ │ ├─ coal 3.0.3 would require
│ │ │ └─ coal-python ==3.0.3 py314hc25f7af_1, which can be installed with any of the following options:
│ │ │ └─ coal-python 3.0.3 would require
│ │ │ └─ eigenpy >=3.12.0,<3.12.1.0a0, which can be installed with any of the following options:
│ │ │ └─ eigenpy 3.12.0 | 3.12.0 | 3.12.0 | 3.12.0 | 3.12.0 | 3.12.0 | 3.12.0 | 3.12.0 | 3.12.0 | 3.12.0 | 3.12.0 | 3.12.0 | 3.12.0 | 3.12.0 | 3.12.0 |
3.12.0 | 3.12.0 | 3.12.0 | 3.12.0 | 3.12.0 would require
│ │ │ └─ libboost-python >=1.88.0,<1.89.0a0, which can be installed with any of the following options:
│ │ │ ├─ libboost-python 1.88.0 would require
│ │ │ │ └─ libboost ==1.88.0 hd24cca6_7, which can be installed with any of the following options:
│ │ │ │ └─ libboost 1.88.0
│ │ │ ├─ libboost-python 1.88.0 would require
│ │ │ │ └─ libboost ==1.88.0 hed09d94_6, which can be installed with any of the following options:
│ │ │ │ └─ libboost 1.88.0
│ │ │ ├─ libboost-python 1.88.0 would require
│ │ │ │ └─ libboost ==1.88.0 hed09d94_5, which can be installed with any of the following options:
│ │ │ │ └─ libboost 1.88.0
│ │ │ ├─ libboost-python 1.88.0 would require
│ │ │ │ └─ libboost ==1.88.0 hed09d94_4, which can be installed with any of the following options:
│ │ │ │ └─ libboost 1.88.0
│ │ │ ├─ libboost-python 1.88.0 would require
│ │ │ │ └─ libboost ==1.88.0 hed09d94_3, which can be installed with any of the following options:
│ │ │ │ └─ libboost 1.88.0
│ │ │ └─ libboost-python 1.88.0 would require
│ │ │ └─ libboost ==1.88.0 hed09d94_2, which can be installed with any of the following options:
│ │ │ └─ libboost 1.88.0
│ │ └─ coal 3.0.3 would require
│ │ └─ libcoal ==3.0.3 h5d272c1_0, which can be installed with any of the following options:
│ │ └─ libcoal 3.0.3 would require
│ │ └─ libboost >=1.88.0,<1.89.0a0, which can be installed with any of the following options:
│ │ ├─ libboost 1.88.0
│ │ ├─ libboost 1.88.0
│ │ ├─ libboost 1.88.0
│ │ ├─ libboost 1.88.0
│ │ ├─ libboost 1.88.0
│ │ ├─ libboost 1.88.0
│ │ └─ libboost 1.88.0 | 1.88.0
│ └─ ros2-eigenpy *, which can be installed with any of the following options:
│ └─ ros2-eigenpy 3.13.0 would require
│ └─ eigenpy >=3.13.0,<3.13.1a0, which can be installed with any of the following options:
│ └─ eigenpy 3.13.0
├─ ros2-distro-mutex 0.19.* rolling_* cannot be installed because there are no viable options:
│ └─ ros2-distro-mutex 0.19.0 would constrain
│ └─ libboost 1.90.*, which conflicts with any installable versions previously reported
└─ ros2-ros-workspace * cannot be installed because there are no viable options:
└─ ros2-ros-workspace 1.0.3 would require
└─ python_abi 3.14.* *_cp314, which cannot be installed because there are no viable options:
└─ python_abi 3.14, which conflicts with the versions reported above.
I can update the overridden coal version in pkg_additional_info.yaml to 3.0.4, and that works in my local build, but that may not be okay to do?
In general it would be a problem due to ABI, but in 3.0.3 --> 3.0.4 nothing in the library changed (see coal-library/coal@v3.0.3...v3.0.4). However, it seems that the soversion for that library is set to x.x.x, see:
so changing the patch version would indeed break ABI. So unfortunately we need a full rebuild. We should definitely add libcoal and pinocchio to the global conda-forge pinnings to reduce the time this is happening.
Activity
traversaro commentedon Jul 26, 2026
Are these packages released in the ROS buildfarm? If yes, we can just add them and then reused the conda-forge builds with
generate_dummy_package_with_run_deps. If they are not available on the ROS buildfarm, I guess we can add them as additional recipes, and then use anyhowgenerate_dummy_package_with_run_deps, even if I never tested this combination.Just to understand, this issue is not about packaging https://github.com/open-planning/roboplan-ros ?
sea-bass commentedon Jul 26, 2026
OK so a lot of details from my attempts.
The core
roboplanpackages are on the buildfarm but full releases are being held up by:proxsuiteneeding a new release for their 0.7.3 version. This makesroboplan_oinkand the downstreamroboplan_cartesian_planner/roboplan_examplesalso not work. However, this is already on conda-forge.nanobindis not available via apt (it's a pip dependency), so it cannot be on the buildfarm for this distro. Again, on conda forge though!roboplan-roshasn't yet made it onto the buildfarm because of the above. Basically no point in trying until the core is releasable first.Also, and very importantly...
roboplancore packages are directly on conda-forge. So we could also simply grab them from there and forget the buildfarm efforts, using dummy packages as you suggested?Is it sufficient that the keys are available on
rosdistroto do this, even if not fully released? Just sorosdepresolves then?sea-bass commentedon Aug 23, 2026
@traversaro We've made updates to roboplan since, and Windows is now supported.
Due to proxsuite still not updated to work with the ROS buildfarm, the number of roboplan packages on the buildfarm is still incomplete. Should we wait until this is all squared away, or should we instead go with the (already working) conda-forge packages?
traversaro commentedon Aug 23, 2026
We can add them as additional recipes, see https://github.com/RoboStack/ros-rolling/blob/main/rosdistro_additional_recipes.yaml .
sea-bass commentedon Aug 23, 2026
oh cool -- I think I was able to get this working in #38.
Could you tell me if I'm on the right track? It built locally at least...
traversaro commentedon Aug 24, 2026
The direction seems nice. I only wonder if perhaps you want to reuse the packages that are already in conda-forge, such as all the non-ROS roboplan packages and toppra? Otherwise if a user install both
ros2-roboplanfrom robostack androboplanfrom conda-forge, it would result in incompatibilities.This can be done by adding
generate_dummy_package_with_run_depssections in pkg_additional_info.yaml, see for exampleros-rolling/pkg_additional_info.yaml
Lines 125 to 128 in 296fd19
sea-bass commentedon Aug 24, 2026
done! Toppra needs a patch so I left it for now, but the others seem to have worked
traversaro commentedon Aug 24, 2026
I guess the conda-forge roboplan will bring in conda-forge toppra, so having a robostack toppra seems to install two different toppra libraries, that seems quite dangerous. What is necessary to fix the toppra issue in conda-forge ?
sea-bass commentedon Aug 24, 2026
Yeah, I just realized this too, actually it seems like the conda-forge toppra works fine, since the issue was specifically with ament related macros.
This is the fix I'm going to get upstream btw: hungpham2511/toppra#299
traversaro commentedon Aug 24, 2026
If you need to
topprato be listed byros2 pkg list, you will need the toppra conda-forge package to install package.xml and an empty file inament_index/resource_index/packages. See for example https://github.com/gbionics/resolve-robotics-uri-cpp/tree/main/examples/example_cmake_package .sea-bass commentedon Aug 24, 2026
Don't think I need that (unless it's required for other reasons), but one thing I did just notice is I never supported multiple Python versions for the toppra feedstock: conda-forge/toppra-feedstock#15
sea-bass commentedon Aug 24, 2026
Actually seems like I may have had some build outputs cached. Locally, after deleting the
output/folder and switch to theconda-forgeversion of the roboplan, I get incompatibilities withcoal.I can update the overridden
coalversion inpkg_additional_info.yamlto 3.0.4, and that works in my local build, but that may not be okay to do?traversaro commentedon Aug 24, 2026
In general it would be a problem due to ABI, but in 3.0.3 --> 3.0.4 nothing in the library changed (see coal-library/coal@v3.0.3...v3.0.4). However, it seems that the soversion for that library is set to
x.x.x, see:so changing the patch version would indeed break ABI. So unfortunately we need a full rebuild. We should definitely add libcoal and pinocchio to the global conda-forge pinnings to reduce the time this is happening.
sea-bass commentedon Aug 24, 2026
I can try switching to that by following https://robostack.github.io/Contributing.html#doing-a-full-rebuild, one sec
sea-bass commentedon Aug 24, 2026
In doing the full rebuild, I also had to bump Pinocchio to 4.1.0, but then I did get a successful full build (at least on Ubuntu).
Anyways this is also already on the ROS buildfarm, so I'm not too worried.