Skip to content

Conversation

@bradloh
Copy link

@bradloh bradloh commented Nov 30, 2025

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

  • Command formatting: for better readability and better diffs/tracking
  • rustc and cargo are now advised to be installed by rustup. This is because the rustc Ubuntu package is too old on both 24.04 and 25.10.
  • just is now advised to be installed by cargo. This is because just is too old on 24.04
  • cargo is now listed as required instead of optional (partly due to the above change).

Added

  • 3 missing libraries that caused fatal build failures. It's worth noting that additional packages are available on apt that install rust bindings for these libraries (e.g. apt install rustlib-*), but these weren't necessary to fix the error.
  • build-essential package - because make and a cc (gcc) are required
  • lld because it was cited in the description but not the apt commands
  • git because the toolchain requires it. A potential issue if you're building in containers or remote servers

Removed

  • pop-launcher as a dependency, because it's actually a build target of this repo.

Testing

  • Built cosmic in 24.04 and 25.10 containers using just sysext
  • Tested the Cosmic build on Ubuntu 25.10. Worked on this PR on Cosmic!

Discussion

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.

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.

1 participant