The most easy and painless way is to build QtMoko in debian squeeze chroot.
You will need debian on your PC
Clone current git tree:
git clone git://github.com/radekp/qtmoko.git
cd qtmoko git submodule init git submodule update
sudo scripts/qtmoko-chroot-armhf.sh
mkdir -p /root/qte/build cd /root/qte/build ../qtmoko/configure -device gta04 make export LD_LIBRARY_PATH=/root/qte/build/qtopiacore/host/lib/ make install
If you have e.g. 8 core processor you can speed it up by passing -j8 arg to configure and make.
Upload the result to your device (you must have phone and usb network up)
../qtmoko/devices/gta04/scripts/update_qtmoko
Very easy to setup, takes long time, can produce QtMoko armhf package
You will need working QtMoko installation on at least 8GB partition
Linking takes a lot of memory, so will need swap:
dd if=/dev/zero of=/swapfile bs=1024 count=1048576 mkswap /swapfile swapon /swapfile
apt-get update apt-get install git quilt debhelper build-essential libtiff4-dev libmng-dev quilt libxext-dev libasound2-dev libdbus-1-dev libssl-dev libts-dev libbluetooth-dev libxtst-dev libpng12-dev libjpeg8-dev libv4l-dev libspeexdsp-dev libglib2.0-dev libsqlite3-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libpulse-dev libvorbis-dev libgps-dev
git clone git://github.com/radekp/qtmoko.git cd qtmoko git submodule init git submodule update
scripts/build-package-gta04.sh
/etc/init.d/qtmoko-gta04 stop /etc/init.d/bluetooth stop
This is not supported anymore, but if you know what you are doing you can go on...
You will need Debian wheezy on your PC
Install required packages on your host PC:
apt-get build-dep libqt4-dev apt-get install libqt4-dev libv4l-dev libdbus-1-dev libqt4-sql-sqlite
We will use emdebian toolchain, check this page:
http://wiki.debian.org/EmdebianToolchain
Add emdebian apt repos and also sqeeze repos for older packages:
apt-get install emdebian-archive-keyring echo "deb http://ftp.cz.debian.org/debian/ squeeze main contrib non-free" >> /etc/apt/sources.list echo "deb http://www.emdebian.org/debian wheezy main" >> /etc/apt/sources.list apt-get update
apt-get install g++-4.4-arm-linux-gnueabi
apt-get install xapt xapt -a armel -m libxext-dev libasound2-dev libdbus-1-dev libssl-dev libts-dev libbluetooth-dev libxtst-dev libpng12-dev libjpeg8-dev libv4l-dev libspeexdsp-dev libglib2.0-dev libsqlite3-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libpulse-dev libvorbis-dev libgps-dev
Make sure that there is no libqt4 installed in /usr/arm-linux-gnueabi because QtMoko build can link agains that qt-x11 and will not work.
Make link for dbus.h:
cd /usr/arm-linux-gnueabi/include ln -s dbus-1.0/dbus dbus
git clone git://github.com/radekp/qtmoko.git
cd qtmoko git submodule init git submodule update
mkdir ../build cd ../build
../qtmoko/configure -device neo make make install
../qtmoko/devices/neo/scripts/update_qtmoko
git checkout origin/translations -b translations
* It's now possible to build QtMoko for x86 without cross compiling. This
is great for development.
sudo scripts/qtmoko-chroot-armhf.sh mkdir -p /root/qte/build-pc cd /root/qte/build-pc
../qtmoko/configure -device pc make export LD_LIBRARY_PATH=/root/qte/build-pc/qtopiacore/host/lib/ make install
* To run the image you need to be root and symlink the result image to opt:
cd /opt ln -s /root/qte/build-pc/image qtmoko
* Now switch to first console (CTRL+ALT+F1) and run it:
. /opt/qtmoko/qpe.env qpe
Make sure you have installed on your host PC: libqt4-dev, libv4l-dev
You can also do fetch all build dependecies for qt:
apt-get build-dep libqt4-dev
cd / sudo wget http://sourceforge.net/projects/qtmoko/files/Toolchain/qtmoko-debian-toolchain-armv4t-eabi.tar.gz/download -O qtmoko-debian-toolchain-armv4t-eabi.tar.gz sudo tar xzvpf qtmoko-debian-toolchain-armv4t-eabi.tar.gz
libmpfr1ldbl_XXX_i386.deb libgmp3c2_XXX_i386.deb
and extract the libraries from these package to /usr/lib32
git clone git://github.com/radekp/qtmoko.git
cd qtmoko git submodule init git submodule update
mkdir ../build cd ../build
../qtmoko/configure -force-build-qt -device neo make make install
../qtmoko/devices/neo/scripts/update_qtmoko
git checkout origin/translations -b translations
You need ARM device with a lot of storage 512MB of RAM (or 256MB + swap)
Working devices are e.g. N900 or qemu armel buildhost.
Basic buildhost can be downloaded from here:
http://sourceforge.net/projects/qtmoko/files/BuildHost/
apt-get build-dep libqt4-dev apt-get install libdbus-1-dev libts-dev libbluetooth-dev libasound2-dev
git clone git://github.com/radekp/qtmoko.git
cd qtmoko git submodule init git submodule update
mkdir ../build cd ../build
../qtmoko/configure -device neo -xplatform linux-native-g++ -l dbus-1 -I /usr/include/dbus-1.0/ -I /usr/lib/dbus-1.0/include make make install
Overview This is Trolltech's Qt Extended Open Source edition. See the LICENSE.GPL file for the licensing information of this software. This package contains source code for Qt Extended plus parts of the source code of Qt. Apart from this source package it should not be necessery to install any other Trolltech package to be able to compile Qt Extended.
Documentation The package contains the Qt Extended reference documentation including all relevant Qt documentation. The documentation includes the following:
Licenses You can only develop GPL licensed applications using the Qt Extended Open Source edition. If you wish to develop a commercial application, please go to http://www.trolltech.com/downloads to purchase the commercial package. For questions regarding licensing terms, email qt-sales@nokia.com.
Copyright C 2009 Trolltech ASA