[Community] [Gta04-owner] Report on QtMoko

Sven Dyroff S.Dyroff at phytec.de
Fri Jun 17 14:33:22 CEST 2016


Hello Nikolaus,

> I am already happy if that is
> a strech goal and the initial goal is to get in compile & run again on 
top of Debian
> (like it was some time ago).

Perhaps it's the easiest and fastest way that I did with QtMoko V46 in 
August 2012, although it's the most stupid one. Because so many people 
comlained about failed trials to build QtMoko at that time and finally I 
intended to try it by myself, I did the following:

- Using VM Workstation manager I created a completely new and empty VM.

- I began to follow Radek's readme step by step in the way as I understood 
them.

- After *each* step I took a snapshot from the VM and created a precise 
protocol of these steps and the associated snapshots.

- Like many others on this list before me, at some time I encountered the 
first build error.

- I began to consider if the last steps of Radek's readme that I had 
executed could somehow be understood in another way.

- After identifying such a possibility, I used the VM workstation manager 
in order to remigrate to the appropriate VM snapshot. Then I executed the 
alternative possibility of the step.

- I stepped forward towards the next steps, again precisely protocolling 
them and taking snapshots of the VM, until I encountered the next build 
error.

- I reiterated this procedure as long until I succeeded.


In the end it turned out that the essential key was the sequence in that 
you need to do installations of software packages and updates of these 
software packages. In particular it makes a big difference if you do

  - install A
  - install B
  - update

or if you do

  - install A
  - update
  - install B
  - update


In the end I published the final protocol on this list and indeed other 
guys confirmed that this was working.


But if you do so, please be also aware of some completely unexpected 
reactions:
Radek shot down almoust all of my explanations, ranted and clamoured that 
he didn't like this and didn't like that what I exposed, and not only 
refused to upload my guidance to his sourceforge account, but even didn't 
reworked his own guidance in order to make it clearer for others than 
himself.


Up to now I didn't commemorate this old story, but because in the 
meanwhile it seems to be a severe show stopper that noone exept Radek 
himself manages to get QtMoko compiling and unfortunately I don't find the 
time to do that work again for V57 at the moment, I hereby attach my 
guidance from V46 again in the hope that it might be useful for someone. 
Possible abuses to me are useless, and all others have herewith be 
warned...

Best regards
   Sven


----------------------------------------------------------------%<----------------------------------------------------------------------------------------

Cross compling from sources
===========================

* You need to set up a system with Debian Wheezy, using
  
http://cdimage.debian.org/mirror/cdimage/wheezy_di_alpha1/i386/iso-cd/debian-wheezy-DI-a1-i386-CD-1.iso
  and to get it up-to-date:

apt-get update

* Install Qt with XLib
  This must be done BEFORE installing the emdebian toolchain because 
otherwise you'll get
  version conflicts between Wheezy and Squeeze, resulting in compile 
errors while doing
  the "qtmoko/configure" command.

apt-get build-dep libqt4-dev
apt-get install libqt4-dev libv4l-dev libdbus-1-dev libqt4-sql-sqlite

* Use emdebian toolchain
  Add emdebian apt repos and also sqeeze repos for older packages 
according to
  http://wiki.debian.org/EmdebianToolchain

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

* Install armel cross compiler:

apt-get install g++-4.4-arm-linux-gnueabi

* Install xapt and libraries qtmoko depens on:

apt-get install xapt
xapt -a armel -m libqt4-dev libts-dev libasound2-dev libspeexdsp-dev 
libssl-dev libxtst-dev libbluetooth-dev libdbus-1-dev

* Make link for dbus.h:

cd /usr/arm-linux-gnueabi/include
ln -s dbus-1.0/dbus dbus
cd -

* Install git:

apt-get install git

* Clone current git tree:
  Note: When you fetch from a git repository, you get the entire commit 
history
  at least for the branch that you asked for. This may include other tags 
that you
  did not ask for explicitly. When you do "git fetch <your-remote>" 
*without*
  specifying a branch or tag, git will fetch *all* branches.
  Looks like QtMoko uses submodules that use submodules. Git submodule 
commands
  are still in their infancy, I'd say, so expect some warts. Where the 
installed
  git supports it, I usually use "git submodule init" (initial checkout) 
or "git
  submodule sync" (subsequent checkouts), followed by "git submodule 
--init
  --recursive". Check the documentation.

git clone git://github.com/radekp/qtmoko.git

  Note: Creates a local tracking branch for "master" only!
  (As can be checked with "git branch" within subdirectory "qtmoko".)

* Get a tracking branch for "master_gta04":

cd qtmoko
git checkout master_gta04
git pull

* Initialize and update submodules
  To ensure a consistent state of your directory tree,
  you need to issue all three submodule commands *after* every change of 
branch (checkout).
  When the sync command and init option are not used upon subsequent 
checkouts,
  "git submodule update" can "get stuck" and refuse to proceed because of 
"unknown commits".
  After "git submodule init" and "git submodule update" the 
"qtopiacore/qt"-directory should be populated with Qt sources.
  This directory and few others are git submodules so that we can track 
easily the upstream - you can even see it on github:
  https://github.com/radekp/qtmoko/tree/master/qtopiacore

git submodule init
git submodule sync
git submodule update

* Create build directory (you can't build from the git directory):

mkdir ../build
cd ../build

* Build it:

../qtmoko/configure -system-qt -device gta04
make
make install

* Create archive "qtmoko-update.tar.gz", move it to "root at 192.168.0.202:/" 
and extract it there to "/opt/qtmoko":

../qtmoko/devices/gta04/scripts/update_qtmoko



===SUCCESS===SUCCESS===SUCCESS===SUCCESS===SUCCESS===SUCCESS===SUCCESS===SUCCESS===SUCCESS===SUCCESS===



* If you want translations to various languages you need to checkout the 
translations git branch:

git checkout origin/translations -b translations

---------------------------------------------------------------->%----------------------------------------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.goldelico.com/pipermail/community/attachments/20160617/9b37b91f/attachment.html>


More information about the Community mailing list