release.yml: install arm64 shlibs on amd64 runner for cross-build shlibdeps
Some checks failed
Forgejo Release postit-deb / release (push) Failing after 2m9s
Some checks failed
Forgejo Release postit-deb / release (push) Failing after 2m9s
When cross-building PostIt.Desktop for linux-arm64 from an amd64 runner, dpkg-shlibdeps fails to resolve arm64 shlibs (libc6, libstdc++6, libdl, libm, libpthread, libfontconfig, libgtk-3, etc.): dpkg-shlibdeps: error: cannot find library libdl.so.2 needed by debian/postit/usr/lib/postit/PostIt.Desktop (ELF format: 'elf64-little' abi: '020100b700000000'; RPATH: '') dh_shlibdeps: error: ... returned exit code 2 Add arm64 as a foreign architecture via dpkg and install the shlibs needed at build time. Minimal set: libc6, libstdc++6, libfontconfig1, libfreetype6, libgtk-3-0. libpthread / libdl / libm are pulled in transitively via libc6. Discovered via Forgejo Actions run #10 on tag 1.0.6.
This commit is contained in:
parent
c0c5027001
commit
acb3ee2c8b
1 changed files with 12 additions and 0 deletions
|
|
@ -77,6 +77,18 @@ jobs:
|
|||
apt-get install -y --no-install-recommends \
|
||||
build-essential debhelper imagemagick librsvg2-bin \
|
||||
ca-certificates
|
||||
# dpkg-shlibdeps at arm64 build time needs the arm64
|
||||
# shlibs (libc6, libstdc++6, libdl, libm, libpthread,
|
||||
# libfontconfig, libgtk-3, etc.) to be present on the
|
||||
# host. We add arm64 as a foreign architecture and pull
|
||||
# them in. --no-install-recommends keeps the install
|
||||
# surface minimal.
|
||||
dpkg --add-architecture arm64
|
||||
apt-get update
|
||||
apt-get install -y --no-install-recommends \
|
||||
libc6:arm64 libstdc++6:arm64 \
|
||||
libfontconfig1:arm64 libfreetype6:arm64 \
|
||||
libgtk-3-0:arm64
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
: > "$STATE_FILE"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue