feat/release-page #2
1 changed files with 13 additions and 12 deletions
workflow: install binutils-aarch64-linux-gnu for dh_makeshlibs
Some checks failed
Forgejo Release postit-deb / release (push) Failing after 1m51s
Some checks failed
Forgejo Release postit-deb / release (push) Failing after 1m51s
dh_makeshlibs is invoked by debhelper during cross-builds to produce the .shlibs cache, and it calls arch-specific objdump to read ELF symbols of the bin we're shipping. For arm64 that means aarch64-linux-gnu-objdump, which is provided by binutils-aarch64-linux-gnu (~50 Mo in apt). binutils-aarch64-linux-gnu ships the cross-binutils without the cross-gcc; we don't need gcc-arm64 because there's no C code in this package (the build is pure dotnet publish).
commit
efddac2942
|
|
@ -76,18 +76,19 @@ jobs:
|
|||
apt-get update
|
||||
apt-get install -y --no-install-recommends \
|
||||
build-essential debhelper imagemagick librsvg2-bin \
|
||||
ca-certificates
|
||||
# No arm64 shlibs install needed: \`dotnet publish
|
||||
# --runtime linux-arm64\` cross-compiles natively on amd64
|
||||
# (no arm64 toolchain required), and dpkg-buildpackage
|
||||
# is invoked with -Pcross so debhelper skips the
|
||||
# arch-specific helper tools (aarch64-linux-gnu-objdump
|
||||
# for dh_makeshlibs, etc.) that aren't available on the
|
||||
# host. dh_shlibdeps works without arm64 libs because
|
||||
# we don't ship arm64 build dependencies in debian/control
|
||||
# (the dotnet-sdk-10.0 there is only meaningful for amd64
|
||||
# native builds; dpkg-buildpackage -d skips that check
|
||||
# for arm64 cross).
|
||||
ca-certificates binutils-aarch64-linux-gnu
|
||||
# binutils-aarch64-linux-gnu provides aarch64-linux-gnu-objdump,
|
||||
# which dh_makeshlibs needs to read the ELF symbol table of
|
||||
# the PostIt.Desktop arm64 binary. Without it, dh_makeshlibs
|
||||
# fails with "Can't exec 'aarch64-linux-gnu-objdump': No
|
||||
# such file or directory" (~50 Mo, standard cross-toolkit
|
||||
# binutils — no arm64 GCC needed because there's no C code to
|
||||
# compile, only .NET to publish).
|
||||
#
|
||||
# We don't install libc6:arm64 etc. — dpkg-buildpackage -d
|
||||
# skips the build-deps check (we don't need the arm64 SDK),
|
||||
# and -Pcross toggles the cross-build profile so debhelper
|
||||
# adapts to the cross-build context.
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
: > "$STATE_FILE"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue