This prevents it from satisfying dependencies of foreign-architecture packages like temurin-21-jre:arm64 on arm64 systems with multiarch enabled and arm64 is the foreign architecture. Please consider adding Multi-Arch: foreign to the control file.
The fix is imbeded in this issue, you just need to add Multi-Arch: foreign, to the control file, or take #1246
On a raspberry pi4 with debian 12, running 64bit kernel and 32bit userland with arm64 as foreign:
root@rpi4:/usr/lib#lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm
root@rpi4:/usr/lib#arch
aarch64
dpkg --print-architecture
armhf
dpkg --print-foreign-architectures
arm64
getconf LONG_BIT
32
root@rpi4:/usr/lib#apt install temurin-21-jre
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
temurin-21-jre:arm64 : Depends: adoptium-ca-certificates:arm64 but it is not installable
Recommends: fonts-dejavu-extra:arm64
E: Unable to correct problems, you have held broken packages.
root@rpi4:/usr/lib#apt-cache show adoptium-ca-certificates | grep -i multi-arch
^^ no multi-arch set
mkdir /tmp/fix; cd /tmp/fix
apt download adoptium-ca-certificates; dpkg-deb -R adoptium-ca-certificates pkg
sed -i '/^Architecture:/a Multi-Arch: foreign' pkg/DEBIAN/control
dpkg-deb -b pkg adoptium-ca-certificates_fixed.deb
dpkg-deb: building package 'adoptium-ca-certificates' in 'adoptium-ca-certificates_fixed.deb'.
dpkg -i adoptium-ca-certificates_fixed.deb
(Reading database ... 94252 files and directories currently installed.)
Preparing to unpack adoptium-ca-certificates_fixed.deb ...
Unpacking adoptium-ca-certificates (1.0.4-1) over (1.0.4-1) ...
Setting up adoptium-ca-certificates (1.0.4-1) ...
/etc/ssl/certs/adoptium/cacerts successfully populated.
root@rpi4:/tmp/fix#apt install temurin-21-jre:arm64
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
fonts-dejavu-extra libasound2:arm64 libbrotli1:arm64 libbsd0:arm64 libexpat1:arm64 libfontconfig1:arm64 libfreetype6:arm64 libmd0:arm64 libpng16-16:arm64 libx11-6:arm64
libxcb1:arm64 libxdmcp6:arm64 libxext6:arm64 libxi6:arm64 libxrender1:arm64 libxtst6:arm64 zlib1g:arm64
Suggested packages:
libasound2-plugins:arm64
The following NEW packages will be installed:
fonts-dejavu-extra libasound2:arm64 libbrotli1:arm64 libbsd0:arm64 libexpat1:arm64 libfontconfig1:arm64 libfreetype6:arm64 libmd0:arm64 libpng16-16:arm64 libx11-6:arm64
libxcb1:arm64 libxdmcp6:arm64 libxext6:arm64 libxi6:arm64 libxrender1:arm64 libxtst6:arm64 temurin-21-jre:arm64 zlib1g:arm64
0 upgraded, 19 newly installed, 0 to remove and 4 not upgraded.
Need to get 36.0 MB of archives.
After this operation, 180 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
.
.
root@rpi4:/tmp/fix#/usr/lib/jvm/temurin-21-jre-arm64/bin/java --version
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
openjdk 21.0.8 2025-07-15 LTS
OpenJDK Runtime Environment Temurin-21.0.8+9 (build 21.0.8+9-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.8+9 (build 21.0.8+9-LTS, mixed mode, sharing)
This prevents it from satisfying dependencies of foreign-architecture packages like temurin-21-jre:arm64 on arm64 systems with multiarch enabled and arm64 is the foreign architecture. Please consider adding Multi-Arch: foreign to the control file.
The fix is imbeded in this issue, you just need to add Multi-Arch: foreign, to the control file, or take #1246
On a raspberry pi4 with debian 12, running 64bit kernel and 32bit userland with arm64 as foreign:
^^ no multi-arch set