ubuntu-sdk-libs cannot be installed cross-architecture
The arm64/armhf version of ubuntu-sdk-libs is currently not installable on an amd64 host system. This prevents clickable cross-building images from being build which means that click apps, including the core apps, cannot be built.
In order to reproduce run the following on a clean focal container:
HOST_ARCH=amd64
TARGET_ARCH=arm64
wget -q https://repo.ubports.com/keyring.gpg -O /etc/apt/trusted.gpg.d/ubports.gpg
cat <<EOF >/etc/apt/sources.list
deb [arch=$HOST_ARCH] http://archive.ubuntu.com/ubuntu focal main restricted multiverse universe
deb [arch=$HOST_ARCH] http://archive.ubuntu.com/ubuntu focal-updates main restricted multiverse universe
deb [arch=$HOST_ARCH] http://archive.ubuntu.com/ubuntu focal-security main restricted multiverse universe
deb [arch=$TARGET_ARCH] http://ports.ubuntu.com/ubuntu-ports focal main restricted multiverse universe
deb [arch=$TARGET_ARCH] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted multiverse universe
deb [arch=$TARGET_ARCH] http://ports.ubuntu.com/ubuntu-ports focal-security main restricted multiverse universe
deb http://repo.ubports.com focal main
EOF
dpkg --add-architecture $TARGET_ARCH
apt-get update
apt-get dist-upgrade
Trying to install ubuntu-sdk-libs:arm64
results in the following error:
apt-get install --no-install-recommends ubuntu-sdk-libs:arm64
Reading package lists... Done
Building dependency tree
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:
ubuntu-sdk-libs:arm64 : Depends: qml-module-lomiri-content:arm64 but it is not going to be installed
Depends: qml-module-lomiri-downloadmanager:arm64 but it is not going to be installed
Depends: qml-module-ubuntu-content:arm64 but it is not going to be installed
Depends: qml-module-ubuntu-downloadmanager:arm64 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
The actual issue lies with the google-glog
and gflags
packages:
aptitude install --without-recommends ubuntu-sdk-libs:arm64
The following NEW packages will be installed:
…
The following packages are RECOMMENDED but will NOT be installed:
…
0 packages upgraded, 578 newly installed, 0 to remove and 0 not upgraded.
Need to get 206 MB of archives. After unpacking 2112 MB will be used.
The following packages have unmet dependencies:
libgoogle-glog0v5 : Conflicts: libgoogle-glog0v5:arm64 but 0.4.0-1build1 is to be installed
libgoogle-glog0v5:arm64 : Conflicts: libgoogle-glog0v5 but 0.4.0-1build1 is to be installed
libgflags2.2 : Conflicts: libgflags2.2:arm64 but 2.2.2-1build1 is to be installed
libgflags2.2:arm64 : Conflicts: libgflags2.2 but 2.2.2-1build1 is to be installed
The following actions will resolve these dependencies:
Install the following packages:
1) libboost-program-options1.71.0:arm64 [1.71.0-6ubuntu6 (focal)]
2) libldm-priv-common0:arm64 [0.1.2+0~20230302131750.41+ubports20.04~1.gbp86d086 (focal)]
3) lomiri-download-manager:arm64 [0.1.2+0~20230302131750.41+ubports20.04~1.gbp86d086 (focal)]
Keep the following packages at their current version:
4) libgflags2.2 [Not Installed]
5) libgoogle-glog0v5 [Not Installed]
6) libldm-common0 [Not Installed]
7) libldm-priv-common0 [Not Installed]
8) liblomiri-download-manager-common0 [Not Installed]
9) lomiri-download-manager [Not Installed]
However, if both google-glog
and gflags
packages are explicitly requested ubuntu-sdk-libs
can be installed just fine with apt-get install --no-install-recommends ubuntu-sdk-libs:arm64 libgoogle-glog0v5:arm64 libgflags2.2:arm64
.