Yeah, I wonder if it makes sense to package those scripts into the
linux-header package. It's expected that those scripts are related with
the builder's native arch, as it's used during the build. Don't know if
removing these scripts could affect anything else then DKMS, but it
sounds like that it'd be more correct to fix DKMS instead of cross build
all the scripts and deploy that into the package.

-- 
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'.



_______________________________________________
Mailing list: https://launchpad.net/~tiomap-dev
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~tiomap-dev
More help   : https://help.launchpad.net/ListHelp

Reply via email to