Improve the cross-compilation story in Ubuntu
We now have cross-compilers in Ubuntu, and interesting cross-compilation targets in Ubuntu. It's time to step up the best practices around them and make sure we have a good working solution for the packages that are part of the image.
Blueprint information
- Status:
- Not started
- Approver:
- Steve Langasek
- Priority:
- High
- Drafter:
- Matthias Klose
- Direction:
- Approved
- Assignee:
- Matthias Klose
- Definition:
- Discussion
- Series goal:
- Accepted for raring
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
Whiteboard
What is the standard way that users should be setting up cross-compilation environments now? <https:/
See https:/
Cross-buildability status of quantal packages: http://
[xnox] Is mingw-w64 discussions appropriate here? Or is it more about the well behaved suspects: armhf, aarch64, x32, powerpc...
[vorlon] this is primarily about the well-behaved suspects. But there's no reason this work can't be extended to target architectures that aren't part of Ubuntu.
== session notes ==
Standard method of cross compilation
* create a host-arch chroot for the host arch
* install crossbuild-
Two paths for cross-building:
- install qemu-user-static in the chroot
- use DEB_BUILD_
- but debian/rules should check for this itself
- best practices to have the test suite checked at build time whether it can run
Importing Linaro cross notes to Ubuntu wiki:
- https:/
- also: overview doc: (needs updating) https:/
- ping wookey & achiang when initial pass is done
Outstanding issues for multiarch build paths:
- https:/
- https:/
- others?
Work Items
Work items:
[vorlon] open a bug for rpath issue in toolchain, assign to hrw (bug 923779): DONE
[vorlon] concrete recommendations for test running: nocheck vs. qemu-user-static, add to cross build pages on wiki.ubuntu.com: TODO
[vorlon] provide two profiles for mk-sbuild: one for qemu, and one for nocheck: TODO
[jk-ozlabs] import wookey's cross build docs to wiki.ubuntu.com: INPROGRESS
[wookey] check jk's import of cross build docs: TODO
[achiang] check jk's import of cross build docs & do some test builds: TODO
[jk-ozlabs] define package sets: core, GUI, server (talk to rsalveti, achiang for input). Send email to vorlon, cjwatson, doko: TODO
[doko] fix the cross compiler default include paths to be multiarch compatible: DONE
[adconrad] check out apache build environment: INPROGRESS
[jk-ozlabs] bug adconrad regularly about apache build environment: DONE
[wookey] upstream config.site overrides http://
[doko] investigate how to dump config.cache in the build log (sbuild?): TODO
[doko] followup with wgrant about blhc scans: TODO
Dependency tree
* Blueprints in grey have been implemented.