Outdated packages in Ubuntu Focal
Opened this issue · 2 comments
Checklist
- I've looked through the issues and pull requests for similar reports
Describe your issue
My project uses gtk4
and libadwaita
crates, and those rely on some system development packages, e.g libpango1.0-dev
.
The packages exist in Ubuntu's repos, but the versions are too old.
I added this to the pre-build flag:
pre-build = ["dpkg --add-architecture i386 && apt-get update && apt-get install libpango1.0-dev"]
It runs and downloads the library successfully, but the build fails with error:
cargo:warning=`PKG_CONFIG_ALLOW_SYSTEM_CFLAGS="1" PKG_CONFIG_PATH="/usr/lib/i386-linux-gnu/pkgconfig/:" "pkg-config" "--libs" "--cflags" "pango" "pango >= 1.46"` did not exit successfully: exit status: 1
error: could not find system library 'pango' required by the 'pango-sys' crate
--- stderr
Requested 'pango >= 1.46' but version of Pango is 1.38.1
This is for pango-sys
, and the same errors happen to gobject-sys
, gio-sys
, glib-sys
, and gdk-pixbuf-sys
. And I'm afraid as I add more deps, this will just happen more and more, and manually building the latest versions of these packages is gonna be quite a big hassle.
Is there any plan to support more recent versions of Ubuntu images? From what I've read in other issues, the older versions seem to be necessary for some projects for some reason, if that's the case can we have more options separated from these (e.g. by adding a -ubuntu22.04
prefix for example)?
What target(s) are you cross-compiling for?
i686-pc-windows-gnu, i686-unknown-linux-gnu, x86_64-pc-windows-gnu
Which operating system is the host (e.g computer cross is on) running?
- macOS
- Windows
- Linux / BSD
- other OS (specify in description)
What architecture is the host?
- x86_64 / AMD64
- arm32
- arm64 (including Mac M1)
What container engine is cross using?
- docker
- podman
- other container engine (specify in description)
cross version
cross 0.2.5
Example
No response
Additional information / notes
No response
current images on main use focal (20.04)
You can use them by using cross installed from main or specifying the image directly
[target.i686-unknown-linux-gnu]
image = "ghcr.io/cross-rs/i686-unknown-linux-gnu:main"
There's no plans to support multiple at the same time, we do have plans to update to jammy (22.04).
See #973 for the focal update
--- stderr
Requested 'glib-2.0 >= 2.66' but version of GLib is 2.64.6
Still not recent enough with focal 😭
Is there any workaround for this? It's a real blocker since building for Windows 32-bit target is such a pain, even in a Windows x64-bit host (can't use Windows x86 host, since msys2 doesn't support it since more than 3 years).