README: Fix Build Dependencies for Ubuntu Distros #2570
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
I worked through dependency issues for a source build on Ubuntu 25.10, then re-tested the fixes in a 24.04 build container. Contributing the lessons learned upstream.
Changed
rustcandcargoare now advised to be installed byrustup. This is because therustcUbuntu package is too old on both 24.04 and 25.10.justis now advised to be installed bycargo. This is becausejustis too old on 24.04cargois now listed as required instead of optional (partly due to the above change).Added
aptthat install rust bindings for these libraries (e.g.apt install rustlib-*), but these weren't necessary to fix the error.build-essentialpackage - becausemakeand acc(gcc) are requiredlldbecause it was cited in the description but not theaptcommandsgitbecause the toolchain requires it. A potential issue if you're building in containers or remote serversRemoved
pop-launcheras a dependency, because it's actually a build target of this repo.Testing
just sysextDiscussion
Package names are repeated up to 3 times in this section. I would argue that the repetition adds little value, I would prefer to deduplicate the entries if that's amenable.
Ideally I would also want to classify dependencies as build-time required, run-time required, or both. For example, I originally built the binaries in a container, and then Cosmic wouldn't run on the host OS until I installed the same dependencies on the host. I think that's a bit of a project though, and outside of this PR's scope.