-
Notifications
You must be signed in to change notification settings - Fork 149
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
Support for building on Ubuntu 22.04 #193
Comments
@nuclearsandwich we are in LLVM 14 now. Are you able to try again? If you have a Docker image for this (maybe as part of Space ROS), I can try it quickly as well. Thanks! |
The following Dockerfile is not Space ROS specific, but still relevant: |
@nuclearsandwich Please let me know about this. As far as I can see, ikos is building on jammy which Space ROS is based on. The last release from December supports LLVM 14. If anything else is needed, please let me know. Otherwise, I think we can close this issue. EDIT: LLVM 14 is in Ubuntu 22.04, as per: https://launchpad.net/ubuntu/jammy/+package/llvm-14 |
Email sent to @nuclearsandwich . Will close in 3 days if no answer is received. |
Thanks for the message, I gave building another go and hit the following error:
If no one is looking at this yet, I think I can at least start a patch to switch away from distutils. |
Thanks @nuclearsandwich See this docker file: #171 (comment) It installs distutils manually in this step:
|
Thanks for the tip! (What are we both doing on a Friday night?) Distutils is long deprecated and slated for removal in Python 3.12. In truth, I thought it was already gone which is I why I offered to submit a patch. Do you think it makes more sense to proceed with distutils for Ubuntu 22.04 or address the underlying issue? Python 3.12 is, I believe, going to be released in October and will almost certainly also be used for Ubuntu 24.04 in April, so even if we use distutils for Jammy it buys us a half a year or so. |
If it is a simple fix, I'd say let's remove distutils. If it's a bit more complex, we can partition this in two: one issue (and PR) that provides a build for 22.04 and updates the installation instructions, and one issue (and PR) that removes the dependency on distutils (adjusting the installation instructions accordingly). Partitioning this issue in two makes the whole thing a tiny bit bigger, but it provides an immediate official workaround and it makes it easier to complete and process (because in spite of our Friday night efforts, we are likely to be interrupted by high priority things). |
Sounds good, I'll take a shot over the weekend and see how far I get. |
Whichever decision we make, I think it's safe to plan closing this issue in the next release. I'm assigning this to the next milestone. |
Given the current state of things, I'm inclined to first use Apart from adding that dependency to build instructions or some dockerfile (elsewhere), is there anything else that needs to be done? |
Tagging @nuclearsandwich for awareness. |
Distutils is deprecated (https://peps.python.org/pep-0632/). This commit replaces the import of distutils with an import of setuptools, which is one of the recommended replacements.
Distutils is deprecated (https://peps.python.org/pep-0632/). This commit replaces the import of distutils with an import of setuptools, which is one of the recommended replacements.
…). Distutils is deprecated (https://peps.python.org/pep-0632/). This commit replaces the import of distutils with an import of setuptools, which is one of the recommended replacements. Installation using setuptools also generates an egg file during installation.
I just sent a PR with the proposed change @nuclearsandwich . You are welcome to try it. |
Update:
Now that ikos supports llvm 14, there are build issues with python recorded in #193 (comment)
ikos currently requires llvm 9 which is no longer available in Ubuntu 22.04.
LLVM 11, 12, 13, and 14 are all packaged in 22.04. As a side note, Debian Bullseye (the current stable release) provides LLVM 11 and 13 but not 12 and 14 was not yet released.
It looks like the pending work on LLVM 10 has stalled #162.
Looking at the above release coverage, 13 would probably the next version to target in order to build on current (and likely at least one future) releases of Debian and Ubuntu.
The text was updated successfully, but these errors were encountered: