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

Add build with apt dependencies from Ubuntu 24.04 to docker-build CI #1642

Merged
merged 7 commits into from
May 2, 2024

Conversation

traversaro
Copy link
Member

@traversaro traversaro commented Apr 27, 2024

Fix #1641 .

Main changes on the superbuild side:

  • yarp and icub-main Python bindings do not work with the SWIG 4.2.0 version (see Using enums: "Type Error. Expecting an integral type" swig/swig#2796), that is installed by apt on Ubuntu 24.04. To get the superbuild to work on Ubuntu 24.04 with apt dependencies, the superbuild CMake machinery downloads and uses for yarp and icub-main a private swig 4.2.1 (that is only used inside the superbuild, not exposed if one sources the setup.sh of the superbuild). The logic is specific for Ubuntu 24.04 with apt dependencies, as all other Debian distributions either have a newer or older swig version, that are not affected by the problem (see https://repology.org/project/swig/versions). Note that for local builds of yarp and/or icub-main, an easiest workaround is to uninstall the swig package (that installs swig 4.2.0) and install swig4.1 (that install swig 4.1.0).
  • Change liboctave-dev to octave-dev to install GNU Octave support. This change requires to drop support for ROBOTOLOGY_USES_OCTAVE with apt dependencies on Ubuntu 20.04
  • On Ubuntu 24.04 with apt dependencies, do not support and enable by default ROBOTOLOGY_USES_GAZEBO, as there are not Ubuntu 24.04 apt binary for Gazebo Classic
  • Pass --break-system-packages to pip uninstall in rob_sup_pure_python_ycm_ep_helper, the helper function for pure Python packages

A change is required in yarp, that still needs to be merged:

Some changes are required in icub-main projects (until those are released, LatestReleases does not work on Ubuntu 24.04):

@traversaro
Copy link
Member Author

Ok, compilation on non-Noble fails for:

2024-04-29T15:23:06.9052962Z [197/448] Performing build step for 'pyqtconsole'
2024-04-29T15:23:06.9058696Z FAILED: src/pyqtconsole/CMakeFiles/YCMStamp/pyqtconsole-build /__w/robotology-superbuild/robotology-superbuild/build/src/pyqtconsole/CMakeFiles/YCMStamp/pyqtconsole-build 
2024-04-29T15:23:06.9067013Z cd /__w/robotology-superbuild/robotology-superbuild/build/src/pyqtconsole && /usr/bin/cmake -E env PYTHONPATH=/__w/robotology-superbuild/robotology-superbuild/build/install/lib/python3/dist-packages pip uninstall --break-system-packages -y pyqtconsole && /usr/bin/cmake -E touch /__w/robotology-superbuild/robotology-superbuild/build/src/pyqtconsole/CMakeFiles/YCMStamp/pyqtconsole-build
2024-04-29T15:23:06.9073968Z 
2024-04-29T15:23:06.9074166Z Usage:   
2024-04-29T15:23:06.9074630Z   pip uninstall [options] <package> ...
2024-04-29T15:23:06.9075531Z   pip uninstall [options] -r <requirements file> ...
2024-04-29T15:23:06.9076040Z 
2024-04-29T15:23:06.9076342Z no such option: --break-system-packages

@traversaro traversaro merged commit 8c768f0 into master May 2, 2024
25 checks passed
@traversaro traversaro deleted the addubuntu2404 branch May 2, 2024 09:24
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.

apt dependencies from Ubuntu 24.04 support
1 participant