cross
cross copied to clipboard
Update images to Ubuntu 22.04 LTS
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)
bors try --target linux
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).
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.
Now that the mirror issues have been fixed... bors try
seems bzip2 is no longer in default installation
seems
bzip2is no longer in default installation
That should probably be done explicitly too, since if it's already installed, we can just purge it later.
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'
Looks like
ncurses-baseis no longer a valid package or has no installation candidate: all thelinux-image.shscripts 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.
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.
Is there anything I can help here?
In the meantime
bindgenremoved support for ancient clang versions. The clang version in 18.04 is considered ancient. As a resultbindgen(>=0.60.0) doesn't work in any of those images out of the box. Probably a solution would be to upgradeclangin a customDockerfilewhich 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.
Is there anything I can help here? In the meantime
bindgenremoved support for ancient clang versions. The clang version in 18.04 is considered ancient. As a resultbindgen(>=0.60.0) doesn't work in any of those images out of the box. Probably a solution would be to upgradeclangin a customDockerfilewhich 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.
Any plans to include the
bindgendependencies by default? I have multiple projects with aCross.tomland Dockerfiles just for adding thebiindgendependencies.
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"]
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.
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