Cannot build multi-arch (i386 armhf and arm64) packages in Jammy

Asked by Kafabih Rahmat

Hello, I want to asking in Bionic I can build package for multi-arch such as i386, armhf, arm64 and amd64 but why in Jammy I cannot build package for multi-arch? the launchpad builder always built amd64? The Bionic build is in here =>https://launchpad.net/~kafabih-kr/+archive/ubuntu/bionic-forwarded-port-dukto-last and the Jammy build is in here =>https://launchpad.net/~kafabih-kr/+archive/ubuntu/ksysguard-devel what I should to do for building package for multi-arch? because I need to build abandoned package which not available anymore in between Debian and Ubuntu repos.

Question information

Language:
English Edit question
Status:
Solved
For:
Launchpad itself Edit question
Assignee:
No assignee Edit question
Solved by:
Thomas Ward
Solved:
Last query:
Last reply:
Revision history for this message
Thomas Ward (teward) said (last edit ):
#1

Read https://www.debian.org/doc/debian-policy/ch-controlfields.html#architecture and consider using `any` instead of `all` because they mean vastly different things. If the package is not architecture dependent then it will only build on amd64 and then the resultant package will be assumed to work on all archs.

If you need individual arch compiles then `all` is the wrong Architecture string to use in your control file.

Revision history for this message
Kafabih Rahmat (kafabih-kr) said :
#2

I have already read debian policy and also add "Architecture: any" inside debian/control but the launchpad builder always built for amd64 only. You can see the build recept here =>https://code.launchpad.net/~kafabih-kr/+recipe/ksysguard-experimental and the debian/control file is in here =>https://bazaar.launchpad.net/~kafabih-kr/+junk/ksysguard/view/head:/debian/control

Revision history for this message
William Grant (wgrant) said :
#3

In addition to changing debian/control, you'll also need to enable desired architectures on the target PPA at https://launchpad.net/~kafabih-kr/+archive/ubuntu/ksysguard-devel/+edit. Launchpad by default only builds for x86, since resources are more limited on other architectures.

Revision history for this message
Kafabih Rahmat (kafabih-kr) said :
#4

I changed the detail of the PPA at here =>https://launchpad.net/~kafabih-kr/+archive/ubuntu/ksysguard-devel/+edit , but where is the i386 built? Keep in mind the i386 is still used by the most of personal computer in emerging country.

Revision history for this message
Best Thomas Ward (teward) said :
#5

Per my statements on this in your Telegram post on Ubuntu Flavors Support, `i386` is no longer supported in PPA builds since 19.10. Since 19.10 and onwards, Ubuntu has dropped 32bit desktop and server ISO images, and with a few exceptions does NOT support `i386` builds in PPAs (not without certain whitelisting or permissions that are NOT available to the vast majority of PPAs and such).

As such, you will **NEVER** see `i386` builds for Jammy in your PPA with your recipe.

(If you even try to upgrade 18.04 32-bit systems it will just fail to upgrade to later Ubuntu releases)

Revision history for this message
Thomas Ward (teward) said :
#6

If you *must* have 32-bit desktop support and your ksysguard application, then you will need to go to another distro such as Debian (not Ubuntu).

Revision history for this message
Kafabih Rahmat (kafabih-kr) said :
#7

Thanks Thomas Ward, that solved my question.