Skip to content

Conversation

chrysn
Copy link
Member

@chrysn chrysn commented Sep 2, 2021

This issue tracks changes needed in the Rust installation (OK: C2Rust -- the rest should just work) when #104 is rebased and gets merged.

By building c2rust on the same Ubuntu release (focal), the friction between different installed LLVM versions will be reduced.

This

  • switches from using c2rust's shipped build containers (which made sense back when supported Ubuntus had those old LLVM versions) to a plain feisty base,
  • consequently installs the build-deps manually, and
  • builds a Debian binary package in the course of installing c2rust.

The latter is done to get us rid of the manual apt-get install llvm-7-dev (and pray that it matches what c2rust needs) in favor of copying the .deb out of the c2rust image and getting the right build-deps automatically. (A part of building a Debian package is the tools inspecting any binaries for used shared libraries, looking up the packages they're in, and looking at that library's exported symbol versionings to get a correctly version for the dependency).

Put on hold / WIP / draft until #104 is done, given that these don't need lockstepping yet.

@chrysn chrysn marked this pull request as ready for review November 11, 2021 09:12
This ensures that the LLVM versions used around are aligned
@chrysn
Copy link
Member Author

chrysn commented Nov 11, 2021

With #104 done this is now ready for review.

The large changes have already been pushed to dockerhub and are thus available as chrysn/c2rust-built:focal; the only "real" change in this PR is that that is now actually used, which helps getting everyone agree on the same standard library files. (The other changes are also "real" but don't effect the builds directly, but indirectly because I uploaded :focal based on them already).

On a side note, c2rust-built is more and more becoming a Debian source package (but with no chance of upstreaming due to C2Rust's idiosyncrasies, I'm not going all the way of converting it, also because we have infrastructure for Docker builds but not for Debian builds).

@chrysn chrysn changed the title Preparing c2rust for focal update Build C2Rust on focal Nov 15, 2021
Copy link
Contributor

@kaspar030 kaspar030 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK.

bors merge

@chrysn
Copy link
Member Author

chrysn commented Nov 17, 2021

Thanks!

@bors
Copy link
Contributor

bors bot commented Nov 17, 2021

Build succeeded:

@bors bors bot merged commit d163760 into RIOT-OS:master Nov 17, 2021
@chrysn chrysn deleted the rust-for-focal branch November 17, 2021 10:46
chrysn added a commit to chrysn-pull-requests/riotdocker that referenced this pull request Nov 17, 2021
This drops a workaround that was necessary during evaluation of RIOT-OS#153 in
favor of a more long-term usable distinction between experimentation and
stable delivery, which is necessary until RIOT-OS#141 is done properly and
c2rust is built in one go with the rest of this.
bors bot added a commit that referenced this pull request Nov 17, 2021
162: riotbuild: Drop :focal tag in favor of a more stable one r=kaspar030 a=chrysn

This drops a workaround that was necessary during evaluation of #153 in
favor of a more long-term usable distinction between experimentation and
stable delivery, which is necessary until #141 is done properly and
c2rust is built in one go with the rest of this.

---

Cleanup change with no expected actual impact. (Tags diverge because `latest` = `for-riot` was rebuilt after #153 was merged, but any differences should be just because building is not byte-by-byte reproducible.)

Co-authored-by: chrysn <chrysn@fsfe.org>
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.

2 participants