CrossCompile

Revision 7 as of 2013-12-17 11:00:22

Clear message

Trusty click chroot

TODO

Trusty sbuild chroot

One time setup:

$ mk-sbuild --skip-proposed --target armhf trusty

Build the package:

$ sbuild -A -d trusty --host armhf package*.dsc

Saucy chroot

Here is a quick how-to, cross-compiling with cmake to build a qml extension.

# Create chroot with cross-compiler
$ mk-sbuild --target armhf --name cmake saucy
$ sudo schroot -c source:cmake-amd64-armhf -u root

# Install build-dependencies
$ apt-get install libqt5svg5-dev:armhf libqt5v8-5-dev:armhf libqt5xmlpatterns5-dev:armhf qt3d5-dev:armhf qtbase5-dev:armhf qtdeclarative5-dev:armhf qtscript5-dev:armhf qtsensors5-dev:armhf qttools5-dev:armhf
$ apt-get install cmake

# Change into your sources
$ cd src/
$ mkdir armhf-build
$ cd armhf-build

# Prepare environment
$ export $(dpkg-architecture -aarmhf)
$ export CMAKE_TOOLCHAIN_FILE=/etc/dpkg-cross/cmake/CMakeCross.txt

# Build
$ cmake ../

# Fix up paths to moc
$ find . -name AutomocInfo.cmake | xargs sed -i 's;AM_QT_MOC_EXECUTABLE .*;AM_QT_MOC_EXECUTABLE "/usr/lib/'$DEB_BUILD_MULTIARCH'/qt5/bin/moc");'

$ make
$ find . -name '*.so'