← Back to team overview

tiomap-dev team mailing list archive

[Bug 666267] Re: Cross compiled headers package breaks DKMS compilation

 

Hi Bryan,

Removing the binaries is not sufficient, I am affraid. DKMS build fails,
and I have in make.log:

  /bin/sh: scripts/basic/fixdep: not found

Best regards,

V.

-- 
Cross compiled headers package breaks DKMS compilation
https://bugs.launchpad.net/bugs/666267
You received this bug notification because you are a member of TI OMAP
Developers, which is a direct subscriber.

Status in “linux-ti-omap4” package in Ubuntu: New

Bug description:
When cross-compiling headers package on a PC, some x86 programs get shipped in the .deb.
Those programs get called during later compilation of DKMS modules, breaking the build.

Faulty binaries are:

  scripts/mod/mk_elfconfig
  scripts/mod/modpost
  scripts/kconfig/conf
  scripts/basic/hash
  scripts/basic/docproc
  scripts/basic/fixdep
  scripts/bin2c
  scripts/kallsyms
  scripts/pnmtologo
  scripts/conmakehash
  scripts/selinux/genheaders/genheaders
  scripts/selinux/mdp/mdp

Starting with, for example:

  https://launchpad.net/ubuntu/+archive/primary/+files/linux-ti-omap4_2.6.35.orig.tar.gz
  https://launchpad.net/ubuntu/+archive/primary/+files/linux-ti-omap4_2.6.35-903.16.diff.gz
  https://launchpad.net/ubuntu/+archive/primary/+files/linux-ti-omap4_2.6.35-903.16.dsc

Extract with 'dpkg-source -x linux-ti-omap4_2.6.35-903.16.dsc'.
Cross compilation is done with:

  fakeroot debian/rules clean
  export $(dpkg-architecture -aarmel)
  CROSS_COMPILE=arm-linux-gnueabi- skipabi=true skipmodule=true fakeroot debian/rules binary-omap4

To obtain cross compilers, add the following line to your '/etc/apt/sources.list':

  deb http://people.canonical.com/~hrw/ubuntu-maverick-armel-cross-compilers/ ./

Then install 'gcc-4.4-arm-linux-gnueabi'.
After cross build, the resulting .deb are:

  linux-headers-2.6.35-903-omap4_2.6.35-903.16_armel.deb
  linux-image-2.6.35-903-omap4_2.6.35-903.16_armel.deb

One can check the shipped x86 binaries by extracting the .deb:

  dpkg -x linux-headers-2.6.35-903-omap4_2.6.35-903.16_armel.deb extract

...and searching for x86 executables:

  find extract/usr/src/linux-headers-2.6.35-903-omap4/scripts -type f -exec file "{}" \; |grep ELF |grep x86 |sed 's,:.*,,'

Some more details on cross compiling can be found at 'http://idlethread.blogspot.com/2009/01/recipe-of-day-cross-compiling-armel.html'.