[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Problems cross building arm debian packages

On Thu, May 06, 2010 at 12:28:12PM +0200, Francois Goudal wrote:
> In the hello source folder, I run : dpkg-buildpackage -aarmel
> -rfakeroot -us -uc
> After that, I get a file ../hello_2.2-2_armel.deb

> So it looks good. But actually, if I look at what's inside this
> package, I can see that the hello binary is actually an x86 ELF
> binary file :(

> Looking closer to the package build process, I can see that the
> ./configure is not run with any cross-compile options.

That's because debian/rules needs to be cross-build-aware and the source
package you're using as a test evidently isn't.  There is no implicit
support for cross-building; debian/rules is a makefile and needs to be
written in a way that the correct options are passed to configure to support
cross-building, whether that's via a helper such as dh7 or cdbs, or written
out by hand in debian/rules (as would seem to be required for the 'hello'
source package).

I would recommend using an actual base package as a test case for
cross-building, as these are much more likely to be set up for it already -
whereas toy packages such as 'hello' would not be.

> There's also a warning from dpkg-architecture which I don't really
> understand.

> dpkg-architecture: warning: Specified GNU system type
> arm-linux-gnueabi does not match gcc system type i486-linux-gnu.

That warning is output whenever dpkg-architecture is called with a -a
option; you should obviously ignore it when cross-building.

Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek@ubuntu.com                                     vorlon@debian.org

Attachment: signature.asc
Description: Digital signature

Reply to: