I have a package (Dymo CUPS drivers in this instance) that I need to compile to a .deb file to include in a private network's repositories. The source itself is sufficiently architecture independent that it'll compile on 32-bit and 64-bit. I am using debhelper
to build the packages, and have successfully built the package for the native architecture.
Most of the machines run Precise 64-bit, but some run Precise 32-bit. The current build machine is 64-bit. What I want to be able to do is "cross-compile" the package and generate the 32-bit packages from the 64-bit packages.
What I've tried:
- Adding "-a" or "--architecture" flags to
fakeroot debian/rules binary
- fails because it doesn't understand the argument (I must have copied it from a dpkg or other command) - Add
override_dh_auto_configure
indebian/rules
that supplies-m32
for CFLAGS etc - builds as 32-bit, but packages and defines dependencies as a 64-bit package - Installing
dpkg-cross
and runningfakeroot debian/rules binary-cross
(based on an idea from these cross-compile instructions) - fails because binary-cross doesn't exist as a standarddh
command
Things I can't try:
- Launchpad/PPA/any other external build service - everything needs to be part of our infrastructure
Is there any way to make debhelper
build 32-bit .deb files on a 64-bit machine? And if so, how?