Ensure that a base set of packages is cross-compilable

Registered by Steve Magoun

Ensure that a base set of packages is cross-compilable from an x86 host to an ARM target. The goal is to ensure the packaging of packages in Ubuntu Core, Ubuntu Server, and a base set of desktop system libraries/applications (qt, gtk, glib, freetype, firefox) supports cross-compilation of those packages..

Blueprint information

Status:
Not started
Approver:
Steve Langasek
Priority:
Medium
Drafter:
Jeremy Kerr
Direction:
Approved
Assignee:
Jeremy Kerr
Definition:
Approved
Series goal:
Accepted for precise
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Initial implementation plan

 * define exact set of packages
 * define the standard cross-built environment
 * set up regular automated cross builds
   * will provide regular progress indication
   * indicates cross-build regressions
 * iterative package updates for cross-build bugfixes
  * driven by results of automated build tests

[hrw 2011.11.25] apt-get install pkg-config-arm-linux-gnueabi pkg-config-arm-linux-gnueabihf
[smagoun 2011.12.15] https://launchpad.net/v6scan

Work items:
[jk-ozlabs] define our standard method of cross-compilation: INPROGRESS
[wookey] send jk details of cross environment: DONE
[cjwatson] send jk details of cross environment (essentially superfluous now): DONE
[jk-ozlabs] establish or define canonical "cross in Ubuntu" pages: status, patching info, etc: TODO
[jk-ozlabs] define package sets: core, GUI, server: TODO
[smagoun] release ARMvX-checking tool: DONE
[hrw] fix the cross compiler default include paths to be multiarch compatible: TODO
[hrw] install package config triplet link: DONE
[hrw] link above bug to blueprint: DONE
[vorlon] send info about required variables to hrw: TODO
[smagoun] send "common mistakes" URL to jk: DONE
[adconrad] check out apache build environment: TODO
[jk-ozlabs] bug adconrad regularly about apache build environment: INPROGRESS
[cjwatson] query launchpad for per-package build times: DONE
[adconrad] change sbuild to dump out anything that might be cross-specific in build logs: TODO
everyone: FIX LOTS OF PACKAGES: INPROGRESS

Cross-build environment spec here: https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/UsingMultiArch

Script to scrape build durations from Launchpad: http://paste.ubuntu.com/811427/
Output when run as './build-duration.py --suite oneiric --component main --architecture armel | sort -nr -k4': http://paste.ubuntu.com/811433/
The times are in seconds; feel free to sort, slice and dice, or run with different parameters to your hearts' content.
 -- cjwatson, 2012-01-21

(?)

Work Items