Skip to content

The package adoptium-ca-certificates is Architecture: all but does not declare Multi-Arch: foreign #1245

@billfor

Description

@billfor

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)


Metadata

Metadata

Assignees

Type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions