cross icon indicating copy to clipboard operation
cross copied to clipboard

Update images to Ubuntu 22.04 LTS

Open Jules-Bertholet opened this issue 3 years ago • 24 comments

Jules-Bertholet avatar Jul 27 '22 11:07 Jules-Bertholet

readme table needs to be updated.

You can generate the table with

cargo xtask target-info --tag local (all the images need to be built though beforehand)

Emilgardis avatar Jul 27 '22 13:07 Emilgardis

bors try --target linux

Emilgardis avatar Jul 27 '22 13:07 Emilgardis

try

Build failed:

bors[bot] avatar Jul 27 '22 14:07 bors[bot]

Marked this for the 0.4.0 milestone since it updates glibc from 2.21 to 2.35, which isn't supported on any Debian distribution as of yet (even on the unstable release, sid).

Alexhuszagh avatar Jul 27 '22 15:07 Alexhuszagh

Looks like the error in the images containing a Linux image for full system emulation have an unrelated error: dropbear-2022.82 has a 520 error right now. We might need to switch to another mirror if this stays for a while. A mirror exists if needed.

Alexhuszagh avatar Jul 27 '22 16:07 Alexhuszagh

Now that the mirror issues have been fixed... bors try

Alexhuszagh avatar Jul 28 '22 08:07 Alexhuszagh

try

Build failed:

bors[bot] avatar Jul 28 '22 09:07 bors[bot]

seems bzip2 is no longer in default installation

Emilgardis avatar Jul 28 '22 09:07 Emilgardis

seems bzip2 is no longer in default installation

That should probably be done explicitly too, since if it's already installed, we can just purge it later.

Alexhuszagh avatar Jul 28 '22 15:07 Alexhuszagh

Looks like ncurses-base is no longer a valid package or has no installation candidate: all the linux-image.sh scripts are failing with:

apt-get -d --no-install-recommends download libcrypt1:mips64el busybox:mips64el dropbear-bin:mips64el libtommath1:mips64el libtomcrypt1:mips64el libgmp10:mips64el libc6:mips64el linux-image-5.10.0-16-5kc-malta:mips64el ncurses-base zlib1g:mips64el
#22 20.92 E: Can't find a source to download version '6.3-2' of 'ncurses-base:amd64'

Alexhuszagh avatar Jul 28 '22 16:07 Alexhuszagh

Looks like ncurses-base is no longer a valid package or has no installation candidate: all the linux-image.sh scripts are failing with:

apt-get -d --no-install-recommends download libcrypt1:mips64el busybox:mips64el dropbear-bin:mips64el libtommath1:mips64el libtomcrypt1:mips64el libgmp10:mips64el libc6:mips64el linux-image-5.10.0-16-5kc-malta:mips64el ncurses-base zlib1g:mips64el
#22 20.92 E: Can't find a source to download version '6.3-2' of 'ncurses-base:amd64'

Oh, the issue is Ubuntu 22.04 added the package ncurses-base, which has version 6.3-2, which is higher than the ncurses-base in bullseye (6.2+20201114-2). We should also be using bookworm or sid for this upgrade as well, since Ubuntu 22.04 is based off of those versions. We also might need to choose an exact installation candidate, similar to how we do so for conflicting packages on amd64 in linux-image.sh.

Alexhuszagh avatar Jul 30 '22 05:07 Alexhuszagh

Is there anything I can help here?

In the meantime bindgen removed support for ancient clang versions. The clang version in 18.04 is considered ancient. As a result bindgen (>=0.60.0) doesn't work in any of those images out of the box. Probably a solution would be to upgrade clang in a custom Dockerfile which is required anyways to install the bindgen requirements.

flxo avatar Nov 11 '22 07:11 flxo

Is there anything I can help here?

In the meantime bindgen removed support for ancient clang versions. The clang version in 18.04 is considered ancient. As a result bindgen (>=0.60.0) doesn't work in any of those images out of the box. Probably a solution would be to upgrade clang in a custom Dockerfile which is required anyways to install the bindgen requirements.

We use 20.04 on the latest mains and are working on a 0.3.0 release currently. I believe those should still work with bindgen. We'd like ideally to have a release on 20.04 before migrating to 22.04, personally, and I'd like a few bug fixes in the meantime. I'll test this later today with a more recent build.

Alexhuszagh avatar Nov 11 '22 13:11 Alexhuszagh

Is there anything I can help here? In the meantime bindgen removed support for ancient clang versions. The clang version in 18.04 is considered ancient. As a result bindgen (>=0.60.0) doesn't work in any of those images out of the box. Probably a solution would be to upgrade clang in a custom Dockerfile which is required anyways to install the bindgen requirements.

We use 20.04 on the latest mains and are working on a 0.3.0 release currently. I believe those should still work with bindgen. We'd like ideally to have a release on 20.04 before migrating to 22.04, personally, and I'd like a few bug fixes in the meantime. I'll test this later today with a more recent build.

Thanks. I didn't know that there's 20.04 in between. Haven't tried but it's very likely this works.

Any plans to include the bindgen dependencies by default? I have multiple projects with a Cross.toml and Dockerfiles just for adding the biindgen dependencies.

flxo avatar Nov 12 '22 09:11 flxo

Any plans to include the bindgen dependencies by default? I have multiple projects with a Cross.toml and Dockerfiles just for adding the biindgen dependencies.

Not currently, the clang deps take up a lot of space.

You can skip the additional Dockerfiles and only use a Cross.toml (or even just Cargo.toml like this)

# Cross.toml

[target.TARGET]
pre-build = ["apt-get update && apt-get install --assume-yes --no-install-recommends libclang-3.9-dev clang-3.9"]

Emilgardis avatar Nov 12 '22 11:11 Emilgardis

What's the ETA on this change? currently unable to compile anything using libssl as Ubuntu 20.04 only provides libssl1 while every distro now uses libssl3, and Ubuntu 22.04 doesn't have an official package for libssl1.

ShayBox avatar Mar 02 '23 11:03 ShayBox

What's the ETA on this change?

there is no ETA on 0.4.0, we still have to do 0.3.0 which needs on other changes. development has slowed down a bit due to availability, but any help is greatly appreciated

Emilgardis avatar Mar 02 '23 21:03 Emilgardis