<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.openmoko.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.openmoko.org/api.php?action=feedcontributions&amp;user=Jas&amp;feedformat=atom</id>
		<title>Openmoko - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.openmoko.org/api.php?action=feedcontributions&amp;user=Jas&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Special:Contributions/Jas"/>
		<updated>2013-06-19T11:34:47Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.6</generator>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Talk:MokoMakefile</id>
		<title>Talk:MokoMakefile</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Talk:MokoMakefile"/>
				<updated>2008-08-08T10:51:28Z</updated>
		
		<summary type="html">&lt;p&gt;Jas: /* problem with make openmoko-devel-image */ me too&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== MokoMakefile won't work on Ubuntu Hardy Heron ==&lt;br /&gt;
Hello, there!&lt;br /&gt;
&lt;br /&gt;
Since my upgrade to Hardy Heron MokoMakefile seems to be broken on my ubuntu box. I already tried several times to download a new Makefile into a fresh directory - without success. What I get is always:&lt;br /&gt;
&lt;br /&gt;
 :~/moko$ make image&lt;br /&gt;
 ( cd build &amp;amp;&amp;amp; . ../setup-env &amp;amp;&amp;amp; \&lt;br /&gt;
           ( bitbake openmoko-devel-image u-boot-openmoko ) )&lt;br /&gt;
 ERROR:  Openembedded's config sanity checker detected a potential misconfiguration.&lt;br /&gt;
         Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).&lt;br /&gt;
         Following is the list of potential problems / advisories:&lt;br /&gt;
 &lt;br /&gt;
         /proc/sys/vm/mmap_min_addr is not 0. This will cause problems with qemu so please fix the value (as root).&lt;br /&gt;
 &lt;br /&gt;
 make: *** [openmoko-devel-image] Error 1&lt;br /&gt;
&lt;br /&gt;
For another report on this problem see also: http://lists.openmoko.org/pipermail/community/2008-May/017545.html&lt;br /&gt;
&lt;br /&gt;
When trying to compile the april software update (ASU) this error doesn't occour, though.&lt;br /&gt;
&lt;br /&gt;
=== solution ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudoedit /etc/sysctl.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And add 'vm.mmap_min_addr = 0' (without quotes) to that file.&lt;br /&gt;
&lt;br /&gt;
== The paths that are mentioned on this page are partially wrong ==&lt;br /&gt;
I am not sure enough what the paths should be, but - two things have changed since the section &amp;quot;developing with mokomakefile/How to add your own shiny new application&amp;quot; of this page was created:&lt;br /&gt;
 - The path where the packages are kept, and&lt;br /&gt;
 - Where to add the information that we have added a new package.&lt;br /&gt;
&lt;br /&gt;
== Update git to 1.5! ==&lt;br /&gt;
&lt;br /&gt;
Version git-1.4 does not work, check your version with the command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git --version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and install at least git version 1.5 if not already present.&lt;br /&gt;
&lt;br /&gt;
== Fails on a 32bit machine - try again without ccache? ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/bin/sh ./libtool --mode=compile     ccache     gcc -DHAVE_CONFIG_H -I.... -W... -O2 -c -o libbfd.lo build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17/bfd/libbfd.c&lt;br /&gt;
ccache gcc -DHAVE_CONFIG_H -I... -W... -O2 -c  /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17/bfd/libbfd.c -o   t shift count &amp;gt;= width of type&lt;br /&gt;
make[5]: *** [libbfd.lo] Error 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any insight here? --[[User:Adam|Adam]] 23:10, 15 May 2007 (CEST)&lt;br /&gt;
: Try without ccache (did you get it compiled meanwhile or can we remove this?) --[[User:BernhardKaindl|BernhardKaindl]] 23:05, 19 September 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Facing Problems with ogg libraries ==&lt;br /&gt;
just get the path and delete the .bb file that causes the problem&lt;br /&gt;
== Building on Fedora Core 6 ==&lt;br /&gt;
&lt;br /&gt;
Install stuff needed for OpenMoko:&lt;br /&gt;
  # yum install python m4 make wget curl ftp cvs monotone subversion \&lt;br /&gt;
    tar bzip2 gzip unzip python-psyco ccache perl texinfo texi2html \&lt;br /&gt;
    diffstat openjade docbook-style-dsssl docbook-style-xsl docbook-dtds \&lt;br /&gt;
    docbook-utils sed bison bc glibc-devel gcc binutils pcre pcre-devel git \&lt;br /&gt;
    quilt groff linuxdoc-tools patch compat-gcc-34 lynx netpbm&lt;br /&gt;
(notice ''compat-gcc-34'' wich was needed for FC6 (gcc 4 installed), and ''lynx'' which is needed by ''qemu'' (no fallback to ''wget'', ''curl'', or ''links'' at the moment and no check for it, resulting in strange &amp;quot;sleep&amp;quot; errors when trying to build without ''lynx'').&lt;br /&gt;
&lt;br /&gt;
Build it:&lt;br /&gt;
  $ make setup&lt;br /&gt;
  $ make openmoko-devel-image&lt;br /&gt;
  $ unset LD_LIBRARY_PATH&lt;br /&gt;
  $ make update-makefile &amp;amp;&amp;amp; make update &amp;amp;&amp;amp; make setup &amp;amp;&amp;amp; make openmoko-devel-image&lt;br /&gt;
&lt;br /&gt;
I have also done a&lt;br /&gt;
  $ unset LD_LIBRARY_PATH; make update-makefile &amp;amp;&amp;amp; nice  make update &amp;amp;&amp;amp; nice make setup &amp;amp;&amp;amp; nice make all&lt;br /&gt;
(This takes several hours)&lt;br /&gt;
&lt;br /&gt;
Build qemu:&lt;br /&gt;
  $ make qemu&lt;br /&gt;
&lt;br /&gt;
Run it:&lt;br /&gt;
  # echo 1024 &amp;gt; /proc/sys/dev/rtc/max-user-freq&lt;br /&gt;
  $ make run-qemu&lt;br /&gt;
This will bring up the OpenMoko :) Use SPACE for AUX and ENTER for POWER.&lt;br /&gt;
Not quite the same as holding a Neo1973 in your hands I would guess, but this is the best we can do for now. Thanks!&lt;br /&gt;
&lt;br /&gt;
== Building on Ubuntu Feisty ==&lt;br /&gt;
&lt;br /&gt;
MokoMakefile requires more than 512 MB of RAM + Swap space (around 1GB?).&lt;br /&gt;
&lt;br /&gt;
If you need swap, please '''check that its size under Feisty is not null'''!&lt;br /&gt;
&lt;br /&gt;
[https://bugs.launchpad.net/ubuntu/+bug/105490 Bug #105490] describes the current issue and offers a workaround (23 Jul 07).&lt;br /&gt;
&lt;br /&gt;
== Fails trying to build bluez-utils == &lt;br /&gt;
on Gentoo Linux, it fails compiling bluez-utils (I've tried also &amp;quot;make clean-package-bluez-utils&amp;quot; before the following command)&lt;br /&gt;
&lt;br /&gt;
do a &amp;quot;make build-package-libusb; make clean-package-bluez-utils&amp;quot; and it should continue (the bluez-utils .bb is missing the libusb dependency)&lt;br /&gt;
&lt;br /&gt;
== openSUSE 10.1 and 10.2 workarounds ==&lt;br /&gt;
&lt;br /&gt;
ltrace package fails to build with error: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
checking for pid_t... yes&lt;br /&gt;
checking for getopt... yes&lt;br /&gt;
checking for getopt_long... yes&lt;br /&gt;
checking gelf.h usability... no&lt;br /&gt;
checking gelf.h presence... no&lt;br /&gt;
checking for gelf.h... no&lt;br /&gt;
configure: error: ***** gelf.h not found *****&lt;br /&gt;
FATAL: oe_runconf failed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''FIX: '''&lt;br /&gt;
edit ''/home/moko/build/tmp/work/armv4t-linux/ltrace-0.4-r0/ltrace-0.4/configure.ac''&lt;br /&gt;
at line 44: remove the following block:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for path in /usr/include/elfutils /usr/local/include/elfutils \&lt;br /&gt;
       /usr/include/libelf /usr/local/include/libelf; do&lt;br /&gt;
   if test -f ${path}/gelf.h; then&lt;br /&gt;
       CPPFLAGS=&amp;quot;$CPPFLAGS -I ${path}&amp;quot;&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
( it adds /usr/include/elfutils to path, which causes cross-compile badness error )&lt;br /&gt;
&lt;br /&gt;
=== QEMU build fails to compile USB code ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/include/linux/usbdevice_fs.h:116: error: variable or field `__user' declared void&lt;br /&gt;
/usr/include/linux/usbdevice_fs.h:116: error: syntax error before '*' token&lt;br /&gt;
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c: In function `usb_host_handle_control':&lt;br /&gt;
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c:103: error: invalid application of `sizeof' to incomplete type `usbdevfs_ctrltran&lt;br /&gt;
sfer'&lt;br /&gt;
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c: In function `usb_host_handle_data':&lt;br /&gt;
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c:120: error: storage size of 'bt' isn't known&lt;br /&gt;
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c:132: error: invalid application of `sizeof' to incomplete type `usbdevfs_bulktran&lt;br /&gt;
sfer'&lt;br /&gt;
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c:120: warning: unused variable `bt'&lt;br /&gt;
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c: In function `usb_host_device_open':&lt;br /&gt;
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c:199: error: storage size of 'ctrl' isn't known&lt;br /&gt;
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c:202: error: invalid application of `sizeof' to incomplete type `usbdevfs_ioctl'&lt;br /&gt;
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c:199: warning: unused variable `ctrl'&lt;br /&gt;
make[2]: *** [usb-linux.o] Error 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''FIX: '''&lt;br /&gt;
edit ''/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c''&lt;br /&gt;
at line 29 add the following (before ''#include &amp;lt;linux/usbdevice_fs.h&amp;gt;'')&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/compiler.h&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
hint: there is a copy of the file in ''/home/moko/build/tmp/work/i686-linux/qemu-native-0.9.0+cvs20070613-r5/qemu/usb-linux.c''&lt;br /&gt;
&lt;br /&gt;
''see: http://osdir.com/ml/emulators.kvm.devel/2007-01/msg00101.html''&lt;br /&gt;
&lt;br /&gt;
== Cannot satisfy fstests ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  make openmoko-devel-image&lt;br /&gt;
...&lt;br /&gt;
| Collected errors:&lt;br /&gt;
| ERROR: Cannot satisfy the following dependencies for task-openmoko-debug:&lt;br /&gt;
|        fstests&lt;br /&gt;
NOTE: Task failed: /no-backup/Moko/build/tmp/work/fic-gta01-linux/openmoko-devel-image-1.0-r0/temp/log.do_rootfs.25036&lt;br /&gt;
NOTE: package openmoko-devel-image-1.0-r0: task do_rootfs: failed&lt;br /&gt;
ERROR: TaskFailed event exception, aborting&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Failed on debian etch 2007-07-20&lt;br /&gt;
Solution from mailing list post from hardskinone, report of an irc chat&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I got help in IRC channel. I do following steps&lt;br /&gt;
     * remove fstest from oe/packages/tasks/task-openmoko.bb ,&lt;br /&gt;
     * increase PR field by one&lt;br /&gt;
     * make openmoko-devel-image&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== conflicting types for 'futimens' ==&lt;br /&gt;
&lt;br /&gt;
if you encounter the following error:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 | In file included from utimecmp.c:40:&lt;br /&gt;
 | utimens.h:2: error: conflicting types for 'futimens'&lt;br /&gt;
 | /usr/include/sys/stat.h:370: error: previous declaration of 'futimens' was here&lt;br /&gt;
&lt;br /&gt;
a patch is needed because your glibc is too new. grab &amp;amp; enable the patch as follows &lt;br /&gt;
&lt;br /&gt;
 cd openembedded/packages/coreutils&lt;br /&gt;
 mv coreutils_5.3.0.bb coreutils_5.3.0.orig&lt;br /&gt;
 wget http://www.openembedded.org/repo/org.openembedded.dev/packages/coreutils/coreutils_5.3.0.bb&lt;br /&gt;
 cd -&lt;br /&gt;
 cd openembedded/packages/coreutils/coreutils-5.3.0&lt;br /&gt;
 wget http://www.openembedded.org/repo/org.openembedded.dev/packages/coreutils/coreutils-5.3.0/futimens.patch&lt;br /&gt;
 cd -&lt;br /&gt;
&lt;br /&gt;
== Workaround for problems compiling mtd-utils ==&lt;br /&gt;
&lt;br /&gt;
Change the line on &amp;lt;code&amp;gt;openembedded/packages/mtd/mtd-utils_1.0.0+git.bb&amp;lt;/code&amp;gt; which reads:&lt;br /&gt;
&lt;br /&gt;
 SRC_URI = &amp;quot;git://git.infradead.org/mtd-utils.git;protocol=git;tag=master \&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 SRC_URI = &amp;quot;git://git.infradead.org/mtd-utils.git;protocol=git;tag=a6fa706fe9e7696b4b2045edf9698c3bac07e3e3 \&lt;br /&gt;
&lt;br /&gt;
which forces the recipe to use an older revision (the one which worked last time I built the image on my computer).&lt;br /&gt;
&lt;br /&gt;
Be sure to remember to undo the change later, or else you will not get any new changes to that package. --[[User:CesarB|CesarB]] 04:48, 25 July 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
Note: these patches should be updated - the lzo patch is included in the current version, so backing off to the previous version and repatching seems silly.   I was able to make it through this part of the build by applying the remaining patches manually. --[[User:Mellon|Ted Lemon]] 15:44, 29 July 2007 (CDT)&lt;br /&gt;
&lt;br /&gt;
== Monotone segfaulting on Ubuntu Feisty Fawn/PPC ==&lt;br /&gt;
If you are running Ubuntu Feisty Fawn on a PowerPC computer you will experience problems running monotone. To fix this issue you need to install monotone as well as the libboost packages from Gutsy. The easiest way to accomplish this is to add the gutsy repositories to your sources.list&lt;br /&gt;
and change the preferences to look like this:&lt;br /&gt;
&lt;br /&gt;
 Package: *&lt;br /&gt;
 Pin: release a=feisty&lt;br /&gt;
 Pin-Priority: 700&lt;br /&gt;
 &lt;br /&gt;
 Package: *&lt;br /&gt;
 Pin: release a=gutsy&lt;br /&gt;
 Pin-Priority: -100&lt;br /&gt;
 &lt;br /&gt;
 Package: libc6 libc6-dev tzdata util-linux libgcc1 libstdc++6 monotone   &lt;br /&gt;
 Pin: release a=gutsy&lt;br /&gt;
 Pin-Priority: 800&lt;br /&gt;
 &lt;br /&gt;
 Package: libboost-*&lt;br /&gt;
 Pin: release a=gutsy&lt;br /&gt;
 Pin-Priority: 800&lt;br /&gt;
&lt;br /&gt;
After doing this install monotone in this way:&lt;br /&gt;
 apt-get -t gutsy install monotone.&lt;br /&gt;
That should install monotone 0.35 with updated (and working) boost libraries.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fails on ncurses install in Fedora 7 with a &amp;quot;tic -x&amp;quot; message ==&lt;br /&gt;
Adjust the following command to your system, then run it:&lt;br /&gt;
 export LD_LIBRARY_PATH=/home/moko/build/tmp/work/x86_64-linux/ncurses-native-5.4-r8/ncurses-5.4/lib&lt;br /&gt;
Then start make again and it should pick up where it left off.&lt;br /&gt;
&lt;br /&gt;
You can get a list of potential paths to use with the following command from you main moko directory:&lt;br /&gt;
 find . | grep libncurses&lt;br /&gt;
&lt;br /&gt;
The basic problem is that it is linking against your main system libraries instead of the OpenEmbedded ones.&lt;br /&gt;
&lt;br /&gt;
There's probably a cleaner way of handling this - please update this entry if you know it.&lt;br /&gt;
&lt;br /&gt;
This has been fixed in Openembedded, see [http://bugs.openembedded.org/show_bug.cgi?id=2554 Openembedded Bug #2554] for further details.&lt;br /&gt;
&lt;br /&gt;
== uboot-gta01 fails to build ==&lt;br /&gt;
Changes in the GIT of U-Boot make the OpenMoko patches unapplyable. For the use of Revision ''cc3023b9f95d7ac959a764471a65001062aecf41'' and everything will be fine for now.&lt;br /&gt;
&lt;br /&gt;
== Perl fails to build ==&lt;br /&gt;
After following every bit of advice I can find to 'make clean' and nuke the perl build directories, every build comes up with:&lt;br /&gt;
&lt;br /&gt;
 | make[1]: Entering directory `/src/openmoko/build/tmp/work/i686-linux/perl-native-5.8.7-r3/perl-5.8.7'&lt;br /&gt;
 | make[1]: *** No rule to make target `&amp;lt;command-line&amp;gt;', needed by `miniperlmain.o'.  Stop.&lt;br /&gt;
 | make[1]: Leaving directory `/src/openmoko/build/tmp/work/i686-linux/perl-native-5.8.7-r3/perl-5.8.7'&lt;br /&gt;
 | FATAL: oe_runmake failed&lt;br /&gt;
 NOTE: Task failed: /src/openmoko/build/tmp/work/i686-linux/perl-native-5.8.7-r3/temp/log.do_compile.19531&lt;br /&gt;
 NOTE: package perl-native-5.8.7-r3: task do_compile: failed&lt;br /&gt;
&lt;br /&gt;
Solution turned out to be editing &lt;br /&gt;
/src/openmoko/build/tmp/work/i686-linux/perl-native-5.8.7-r3/perl-5.8.7/makedepend.SH and at line 169 change the regexp to eat references to &amp;quot;&amp;lt;command.line&amp;gt;&amp;quot; to catch what was leaking through.&lt;br /&gt;
&lt;br /&gt;
== glibc fails to build ==&lt;br /&gt;
If you see an error like &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: package glibc-2.6.1: started&lt;br /&gt;
NOTE: package glibc-2.6.1-r10: task do_configure: started&lt;br /&gt;
ERROR: function do_configure failed&lt;br /&gt;
ERROR: log data follows (/home/alex/moko/build/tmp/work/armv4t-angstrom-linux-gn&lt;br /&gt;
ueabi/glibc-2.6.1-r10/temp/log.do_configure.11446)&lt;br /&gt;
| NOTE: Running /home/alex/moko/build/tmp/work/armv4t-angstrom-linux-gnueabi/gli&lt;br /&gt;
bc-2.6.1-r10/glibc-2.6.1/configure                  --build=i686-linux&lt;br /&gt;
   --host=arm-angstrom-linux-gnueabi                --target=arm-angstrom-linux-&lt;br /&gt;
gnueabi                     --prefix=/usr                   --exec_prefix=/usr&lt;br /&gt;
   --bindir=/usr/bin                --sbindir=/usr/sbin                     --li&lt;br /&gt;
bexecdir=/usr/libexec               --datadir=/usr/share                    --sy&lt;br /&gt;
sconfdir=/etc               --sharedstatedir=/usr/com               --localstate&lt;br /&gt;
dir=/var                    --libdir=/usr/lib               --includedir=/usr/in&lt;br /&gt;
clude               --oldincludedir=/usr/include                    --infodir=/u&lt;br /&gt;
sr/share/info               --mandir=/usr/share/man                       --enab&lt;br /&gt;
le-kernel=2.4.0   --without-cvs --disable-profile --disable-debug --without-gd&lt;br /&gt;
 --enable-clocale=gnu   --enable-add-ons=ports,nptl,libidn   --with-headers=/hom&lt;br /&gt;
e/alex/moko/build/tmp/staging/arm-angstrom-linux-gnueabi/usr/include   --without&lt;br /&gt;
-selinux     --without-fp --without-fp              ...&lt;br /&gt;
| configure: loading site script /home/alex/moko/openembedded/site/endian-little&lt;br /&gt;
| configure: loading site script /home/alex/moko/openembedded/site/common-linux&lt;br /&gt;
| configure: loading site script /home/alex/moko/openembedded/site/common-glibc&lt;br /&gt;
| configure: loading site script /home/alex/moko/openembedded/site/arm-common&lt;br /&gt;
| configure: loading site script /home/alex/moko/openembedded/site/arm-linux&lt;br /&gt;
| configure: loading site script /home/alex/moko/openembedded/site/common&lt;br /&gt;
| configure: loading site script /home/alex/moko/openembedded/site/common&lt;br /&gt;
| checking build system type... i686-pc-linux-gnu&lt;br /&gt;
| checking host system type... arm-angstrom-linux-gnueabi&lt;br /&gt;
| checking add-on ports for preconfigure fragments... am33 arm hppa m68k mips&lt;br /&gt;
| configure: running configure fragment for add-on nptl&lt;br /&gt;
| configure: running configure fragment for add-on libidn&lt;br /&gt;
| checking sysdep dirs... ports/sysdeps/arm/elf ports/sysdeps/unix/sysv/linux/ar&lt;br /&gt;
m/eabi/nptl ports/sysdeps/unix/sysv/linux/arm/eabi sysdeps/unix/sysv/linux/arm/e&lt;br /&gt;
abi ports/sysdeps/unix/sysv/linux/arm/nptl ports/sysdeps/unix/sysv/linux/arm sys&lt;br /&gt;
deps/unix/sysv/linux/arm ports/sysdeps/unix/sysv/linux nptl/sysdeps/unix/sysv/li&lt;br /&gt;
nux nptl/sysdeps/pthread sysdeps/pthread sysdeps/unix/sysv/linux sysdeps/gnu sys&lt;br /&gt;
deps/unix/common sysdeps/unix/mman sysdeps/unix/inet ports/sysdeps/unix/sysv npt&lt;br /&gt;
l/sysdeps/unix/sysv sysdeps/unix/sysv ports/sysdeps/unix/arm ports/sysdeps/unix&lt;br /&gt;
nptl/sysdeps/unix sysdeps/unix sysdeps/posix ports/sysdeps/arm/eabi ports/sysdep&lt;br /&gt;
s/arm/nptl ports/sysdeps/arm sysdeps/wordsize-32 sysdeps/ieee754/flt-32 sysdeps/&lt;br /&gt;
ieee754/dbl-64 sysdeps/ieee754 sysdeps/generic/elf sysdeps/generic&lt;br /&gt;
| checking for a BSD-compatible install... /home/alex/moko/build/tmp/staging/i68&lt;br /&gt;
6-linux/usr/bin/install -c&lt;br /&gt;
| checking whether ln -s works... yes&lt;br /&gt;
| checking for arm-angstrom-linux-gnueabi-gcc... arm-angstrom-linux-gnueabi-gcc&lt;br /&gt;
-march=armv4t -mtune=arm920t&lt;br /&gt;
| checking for suffix of object files... o&lt;br /&gt;
| checking whether we are using the GNU C compiler... yes&lt;br /&gt;
| checking whether arm-angstrom-linux-gnueabi-gcc -march=armv4t -mtune=arm920t a&lt;br /&gt;
ccepts -g... yes&lt;br /&gt;
| checking for arm-angstrom-linux-gnueabi-gcc -march=armv4t -mtune=arm920t optio&lt;br /&gt;
n to accept ANSI C... none needed&lt;br /&gt;
| checking for gcc... gcc&lt;br /&gt;
| checking how to run the C preprocessor... arm-angstrom-linux-gnueabi-gcc -E&lt;br /&gt;
| configure: error: C preprocessor &amp;quot;arm-angstrom-linux-gnueabi-gcc -E&amp;quot; fails san&lt;br /&gt;
ity check&lt;br /&gt;
| See `config.log' for more details.&lt;br /&gt;
| FATAL: oe_runconf failed&lt;br /&gt;
NOTE: Task failed: /home/alex/moko/build/tmp/work/armv4t-angstrom-linux-gnueabi/&lt;br /&gt;
glibc-2.6.1-r10/temp/log.do_configure.11446&lt;br /&gt;
NOTE: package glibc-2.6.1-r10: task do_configure: failed&lt;br /&gt;
ERROR: TaskFailed event exception, aborting&lt;br /&gt;
NOTE: package glibc-2.6.1: failed&lt;br /&gt;
ERROR: Build of /home/alex/moko/openembedded/packages/glibc/glibc_2.6.1.bb do_co&lt;br /&gt;
nfigure failed&lt;br /&gt;
ERROR: Task 7 (/home/alex/moko/openembedded/packages/glibc/glibc_2.6.1.bb, do_co&lt;br /&gt;
nfigure) failed&lt;br /&gt;
NOTE: Tasks Summary: Attempted 448 tasks of which 440 didn't need to be rerun an&lt;br /&gt;
d 1 failed.&lt;br /&gt;
ERROR: '/home/alex/moko/openembedded/packages/glibc/glibc_2.6.1.bb' failed&lt;br /&gt;
NOTE: build 200808041052: completed&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Try&lt;br /&gt;
&lt;br /&gt;
 cd source&lt;br /&gt;
 rm glibc*2.6.1*&lt;br /&gt;
 cd ../build&lt;br /&gt;
 . ../setup-env&lt;br /&gt;
 bitbake -crebuild glibc&lt;br /&gt;
&lt;br /&gt;
if this doesn't help, you have to do this&lt;br /&gt;
&lt;br /&gt;
 cd build&lt;br /&gt;
 . ../setup-env&lt;br /&gt;
 bitbake -f -c fetch gcc-cross-initial &amp;amp;&amp;amp; bitbake gcc-cross-initial &amp;amp;&amp;amp; bitbake -crebuild glibc&lt;br /&gt;
&lt;br /&gt;
== Gettext fails to build ==&lt;br /&gt;
Gettext's build is broken unless you have emacs installed. Crazy though it seems. You will see an error like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| WARNING: Warnings can be ignored. :-)&lt;br /&gt;
| if test &amp;quot;no&amp;quot; != no; then \&lt;br /&gt;
|         set x; \&lt;br /&gt;
|         list='po-mode.el po-compat.el'; for p in $list; do \&lt;br /&gt;
|           if test -f &amp;quot;$p&amp;quot;; then d=; else d=&amp;quot;./&amp;quot;; fi; \&lt;br /&gt;
|           set x &amp;quot;$@&amp;quot; &amp;quot;$d$p&amp;quot;; shift; \&lt;br /&gt;
|         done; \&lt;br /&gt;
|         shift; \&lt;br /&gt;
|         EMACS=&amp;quot;no&amp;quot; /bin/bash ../../config/elisp-comp &amp;quot;$@&amp;quot; || exit 1; \&lt;br /&gt;
| if test &amp;quot;no&amp;quot; != no; then \&lt;br /&gt;
|         set x; \&lt;br /&gt;
|         list='po-mode.el po-compat.el'; for p in $list; do \&lt;br /&gt;
|           if test -f &amp;quot;$p&amp;quot;; then d=; else d=&amp;quot;./&amp;quot;; fi; \&lt;br /&gt;
|           set x &amp;quot;$@&amp;quot; &amp;quot;$d$p&amp;quot;; shift; \&lt;br /&gt;
|         done; \&lt;br /&gt;
|         shift; \&lt;br /&gt;
|         EMACS=&amp;quot;no&amp;quot; /bin/bash ../../config/elisp-comp &amp;quot;$@&amp;quot; || exit 1; \&lt;br /&gt;
|       else : ; fi&lt;br /&gt;
| mv: cannot move `elc-temp' to `elc-stamp': No such file or directory&lt;br /&gt;
| make[5]: Leaving directory `/home/raster/moko/build/tmp/work/i686-linux/gettext-native-0.14.1-r5/gettext-0.14.1/gettext-tools/misc'&lt;br /&gt;
| make[5]: *** [elc-stamp] Error 1&lt;br /&gt;
| make[5]: Leaving directory `/home/raster/moko/build/tmp/work/i686-linux/gettext-native-0.14.1-r5/gettext-0.14.1/gettext-tools/misc'&lt;br /&gt;
| make[4]: *** [po-mode.elc] Error 2&lt;br /&gt;
| make[4]: *** Waiting for unfinished jobs....&lt;br /&gt;
| make[4]: Leaving directory `/home/raster/moko/build/tmp/work/i686-linux/gettext-native-0.14.1-r5/gettext-0.14.1/gettext-tools/misc'&lt;br /&gt;
| make[3]: *** [all-recursive] Error 1&lt;br /&gt;
| make[3]: Leaving directory `/home/raster/moko/build/tmp/work/i686-linux/gettext-native-0.14.1-r5/gettext-0.14.1/gettext-tools'&lt;br /&gt;
| make[2]: *** [all] Error 2&lt;br /&gt;
| make[2]: Leaving directory `/home/raster/moko/build/tmp/work/i686-linux/gettext-native-0.14.1-r5/gettext-0.14.1/gettext-tools'&lt;br /&gt;
| make[1]: *** [all-recursive] Error 1&lt;br /&gt;
| make[1]: Leaving directory `/home/raster/moko/build/tmp/work/i686-linux/gettext-native-0.14.1-r5/gettext-0.14.1'&lt;br /&gt;
| FATAL: oe_runmake failed&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The solution is simple - install emacs (example below for debian/ubuntu) and try again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install emacs&lt;br /&gt;
make clean-package-gettext-native-0.14.1-r5&lt;br /&gt;
make openmoko-devel-image                  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Building OpenMoko with chroot ==&lt;br /&gt;
&lt;br /&gt;
There may be hundreds of issues which may cause that OpenMoko fails to build on your system, so it might be more straightforward  to just install  a standardized build environment in which the openmoko build runs in chroot, independent of your distribution.&lt;br /&gt;
&lt;br /&gt;
There is now a (not fully working) script which is able to set up a 32-bit openSUSE 10.3 build environment for building OpenMoko posted on distro-devel: [http://lists.openmoko.org/pipermail/distro-devel/2007-November/000076.html]&lt;br /&gt;
&lt;br /&gt;
On gentoo and debian-like distribution, you can use debootstrap to quickly setup a base chroot.&lt;br /&gt;
&lt;br /&gt;
Please note that in addition to the common /dev, /sys and /proc, /dev/shm should also be mounted with --bind option. It is at least required to build a qtopia-x11 image. (Otherwise you will get some semaphore 'function not implemented' errors at qtopia-x11 installation stage).&lt;br /&gt;
&lt;br /&gt;
== Fails compiling binutils-cross on Gentoo/AMD64 and openSUSE/x86_64 ==&lt;br /&gt;
&lt;br /&gt;
make setup works fine, but when running make openmoko-devel-image it fails with the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
| make[4]: Entering directory `build/tmp/work/armv4t-angstrom-linux-gnueabi/binutils-cross-2.18-r0/binutils-2.18/build.x86_64-linux.arm-angstrom-linux-gnueabi/libiberty/testsuite'&lt;br /&gt;
| make[4]: Nothing to be done for `install'.&lt;br /&gt;
| make[4]: Leaving directory `build/tmp/work/armv4t-angstrom-linux-gnueabi/binutils-cross-2.18-r0/binutils-2.18/build.x86_64-linux.arm-angstrom-linux-gnueabi/libiberty/testsuite'&lt;br /&gt;
| make[3]: Leaving directory `build/tmp/work/armv4t-angstrom-linux-gnueabi/binutils-cross-2.18-r0/binutils-2.18/build.x86_64-linux.arm-angstrom-linux-gnueabi/libiberty'&lt;br /&gt;
| make[2]: Nothing to be done for `install-target'.&lt;br /&gt;
| make[2]: Leaving directory `build/tmp/work/armv4t-angstrom-linux-gnueabi/binutils-cross-2.18-r0/binutils-2.18/build.x86_64-linux.arm-angstrom-linux-gnueabi'&lt;br /&gt;
| make[1]: Leaving directory `build/tmp/work/armv4t-angstrom-linux-gnueabi/binutils-cross-2.18-r0/binutils-2.18/build.x86_64-linux.arm-angstrom-linux-gnueabi'&lt;br /&gt;
| rmdir: build/tmp/cross//home/techiem2/Moko/build/tmp/cross/lib/gcc-lib: No such file or directory&lt;br /&gt;
| rmdir: build/tmp/cross//home/techiem2/Moko/build/tmp/cross/lib: No such file or directory&lt;br /&gt;
| rmdir: build/tmp/cross//home/techiem2/Moko/build/tmp/cross: No such file or directory&lt;br /&gt;
| mv: cannot stat `build/tmp/cross/lib/libiberty.a': No such file or directory&lt;br /&gt;
NOTE: Task failed: build/tmp/work/armv4t-angstrom-linux-gnueabi/binutils-cross-2.18-r0/temp/log.do_stage.9730&lt;br /&gt;
NOTE: package binutils-cross-2.18-r0: task do_populate_staging: failed&lt;br /&gt;
ERROR: TaskFailed event exception, aborting&lt;br /&gt;
NOTE: package binutils-cross-2.18: failed&lt;br /&gt;
ERROR: Build of openembedded/packages/binutils/binutils-cross_2.18.bb do_populate_staging failed&lt;br /&gt;
ERROR: Task 1641 (openembedded/packages/binutils/binutils-cross_2.18.bb, do_populate_staging) failed&lt;br /&gt;
NOTE: Tasks Summary: Attempted 107 tasks of which 107 didn't need to be rerun and 1 failed.&lt;br /&gt;
ERROR: 'openembedded/packages/binutils/binutils-cross_2.18.bb' failed&lt;br /&gt;
make: *** [openmoko-devel-image] Error 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The final reason why the build cannot continue is:&lt;br /&gt;
 mv: cannot stat `/home/techiem2/Moko/build/tmp/cross/lib/libiberty.a': No such file or directory&lt;br /&gt;
&lt;br /&gt;
=== The lib64 issue ===&lt;br /&gt;
&lt;br /&gt;
Likely, Gentoo/AMD64 uses lib64 instead of lib as the library directory for x86_64 libraries. It's l likey that many (or all?) AMD64 distributions do for their 64-bit binaries. On openSUSE-x86_64, the same happens. Debian/x86-64 seems to either not use lib64 or is somehow supported by the openmoko distribution.&lt;br /&gt;
&lt;br /&gt;
On multilib/lib64 platforms like Gentoo/x86_64 and openSUSE-x86_64, the openmoko build runs into a final problem at the end of build: It tries to use fakeroot which uses LD_PRELOAD to fake a different root directory and in the final stages, after hours of compiling, fakeroot execution causes warning messages because on multilib/lib64 systems as they have two versions of many libraries, the 64-bit libraries are in /lib64, /usr/lib64 and oder lib64 paths, while the 32-bit libraries are in /lib, /usr/lib and other lib paths. Some tool on these lib64 distributions are adapted to install 64-bit libraries to lib64, but this seems to fail when cross-compiling.&lt;br /&gt;
&lt;br /&gt;
At least on openSUSE-10.3 the missing libiberty.a was installed to build/tmp/cross/lib64/libiberty.a, which looks wrong, and it is if this libiberty.a file contains 32-bit arm objects. If it contains 64-bit x86_64 objects, it's fine, but openembedded/openmoko is not expecting it in a lib64 directory. I am not sure what is the case.&lt;br /&gt;
&lt;br /&gt;
The lib64 fakeroot issue requires to change the openembedded build scripts, which is doable. But it's not very easy to find the correct script and patch it correctly. If you feel adventourus, go ahead and try to build openmoko on a lib64 distribution, but it's easyer to set up a complete 32-bit chroot environment and run a normal build in it.&lt;br /&gt;
&lt;br /&gt;
After seeing this, I assumed that openmoko/openembedded was clearly not tested with lib64 build hosts and since that would mean that even if I'd fix that error, many others could follow, and as I was not interested to fix the lib64 bugs but rather wanted to see something running first, I decided to make openmoko/openembedded think that it was running on a normal 32-bit non-lib64 machine.&lt;br /&gt;
&lt;br /&gt;
There are several ways to do that:&lt;br /&gt;
* You install an 32bit x86-Linux somewhere and use that for building:&lt;br /&gt;
** Do a native install and dual-boot the 32bit x86-linux (That's for dummies which do not know the other tricks)&lt;br /&gt;
** Install 32bit x86-Linux in a virtual machine (Takes powerful hardware and has some overhead too).  Use [http://gentoo-wiki.com/VirtualBox VirtualBox], for example.&lt;br /&gt;
* you can install a 32-bit development system in to a chroot jail and compile there (also quite some setup and inconvinience).  See [http://www.gentoo.org/proj/en/base/amd64/howtos/chroot.xml the gentoo guide]&lt;br /&gt;
&lt;br /&gt;
=== Building on SuSE Linux 10.3-AMD64 with -m32 (not finished) ===&lt;br /&gt;
&lt;br /&gt;
Install the following packages for the 32-bit C/C++ compiler target option -m32 to work and to compile what is needed&lt;br /&gt;
&lt;br /&gt;
 gcc42-32bit gcc42libgcc42-32bit glibc-devel-32bit libstdc++-devel-32bit ncurses-devel-32bit zlib-devel-32bit (maybe also gtk2-devel-32bit)&lt;br /&gt;
&lt;br /&gt;
The openSUSE 10.3-AMD64 has no libopenssl-devel-32bit, but you can install the 32-bit rpm from the i586 10.3 rpm tree:&lt;br /&gt;
 &lt;br /&gt;
 libopenssl-devel&lt;br /&gt;
&lt;br /&gt;
You should also make sure that gdbm-devel is not installed.&lt;br /&gt;
The multilib support in ld has an issue which surfaces when it is called from perl's Configure script to complile a test program with -Lgdbm. If gdbm-devel is installed, it finds /usr/lib64/libgdbm.so, but since it's not compatible with 32-bit, it skips it, but also does not search the specified -Lpath where the OpenEmbedded-built libgdbm.so is already installed. To work around this, uninstall /usr/lib64/libgdbm.so with:&lt;br /&gt;
 rpm -e gdbm-devel&lt;br /&gt;
&lt;br /&gt;
Note these need to be the 32-bit cpp33 and gcc33 rpms as the 64-bit gcc33 rpms for openSUSE do not support the 32-bit target.&lt;br /&gt;
&lt;br /&gt;
To make the OpenMoko build think that its running on 32-bit i686, use linux32 (changes uname -m to i686 in the new shell):&lt;br /&gt;
&lt;br /&gt;
 linux32 bash&lt;br /&gt;
&lt;br /&gt;
And set up gcc scripts which force the use of gcc-3.3 (it can only generate 32-bit assembly) for all compilation:&lt;br /&gt;
&lt;br /&gt;
 mkdir bin;cd bin&lt;br /&gt;
 echo '/usr/bin/${0##*/}-3.3 -m32 &amp;quot;$@&amp;quot;'        &amp;gt;gcc&lt;br /&gt;
 echo '/usr/bin/${0##*/} -m elf_i386 &amp;quot;$@&amp;quot;' &amp;gt;ld&lt;br /&gt;
 echo '/usr/bin/${0##*/} --32 &amp;quot;$@&amp;quot;'        &amp;gt;gas&lt;br /&gt;
 sed -i '1i#!/bin/sh' gcc gas ld&lt;br /&gt;
 chmod 755 gcc gas ld&lt;br /&gt;
 ln -s gcc cc &lt;br /&gt;
 ln -s gcc c++&lt;br /&gt;
 ln -s gcc g++&lt;br /&gt;
 ln -s gas as&lt;br /&gt;
 echo PATH=\&amp;quot;&amp;quot;$PWD&amp;quot;:\$PATH\&amp;quot; &amp;gt;.setup-gcc-m32&lt;br /&gt;
 cd -&lt;br /&gt;
&lt;br /&gt;
Then set the path and test it:&lt;br /&gt;
&lt;br /&gt;
 source bin/.setup-gcc-m32&lt;br /&gt;
 type gcc&lt;br /&gt;
&lt;br /&gt;
== More package requirements ==&lt;br /&gt;
&lt;br /&gt;
On my system (Kubuntu 6.10) build failed with message &amp;quot;ERROR: QEMU requires SDL or Cocoa for graphical output&amp;quot; because package &amp;lt;tt&amp;gt;libsdl-image1.2-dev&amp;lt;/tt&amp;gt; was missing. Use &amp;lt;tt&amp;gt;apt-get install libsdl-image1.2-dev&amp;lt;/tt&amp;gt; to install. Additionally I had to install packages &amp;lt;tt&amp;gt;cvs&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;diffstat&amp;lt;/tt&amp;gt;. I was also asked to install Psyco JIT Compiler (package &amp;lt;tt&amp;gt;python-psyco&amp;lt;/tt&amp;gt;) to increase performance. Nevertheless &amp;lt;tt&amp;gt;make flash-qemu-local&amp;lt;/tt&amp;gt; took some hours, but now I finally can get an impression of the phone that I am looking for! -- [[User:Nichtich|Nichtich]] 00:26, 20 September 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
== pango-directfb failed to build due to missing Glib 2.14.x ==&lt;br /&gt;
&lt;br /&gt;
The latest(as of Sept. 25, 2007) build started to fail with the following error:&lt;br /&gt;
&lt;br /&gt;
 | checking for GLIB... no&lt;br /&gt;
 | configure: error:&lt;br /&gt;
 | *** Glib 2.14.0 or better is required. The latest version of&lt;br /&gt;
 | *** Glib is always available from ftp://ftp.gtk.org/.&lt;br /&gt;
 | FATAL: oe_runconf failed&lt;br /&gt;
 NOTE: Task failed:&lt;br /&gt;
 /media/sdc1/moko/build/tmp/work/armv4t-angstrom-linux-gnueabi/\&lt;br /&gt;
     pango-directfb-1.18.1-r0/temp/log.do_configure.19927&lt;br /&gt;
 NOTE: package pango-directfb-1.18.1-r0: task do_configure: failed&lt;br /&gt;
 ERROR: TaskFailed event exception, aborting&lt;br /&gt;
 NOTE: package pango-directfb-1.18.1: failed&lt;br /&gt;
 ERROR: Build of /media/sdc1/moko/openembedded/packages/pango/\&lt;br /&gt;
     pango-directfb_1.18.1.bb do_configure failed&lt;br /&gt;
&lt;br /&gt;
The Glib included in the build tree seems to be only 2.12.12, so looks like something&lt;br /&gt;
is broken in term of dependency.&lt;br /&gt;
&lt;br /&gt;
This had happened on both of Fedora 7 and Debian Etch.  I am running the latest &lt;br /&gt;
MokoMakefile with OM-2007.2.  The funny thing is that the build had worked only &lt;br /&gt;
couple nights ago. Any idea?  I will update anything I find here and also on my blog(see my user profile).&lt;br /&gt;
[[User:ttz|ttz]] Wed Sep 26 12:17:33 CDT 2007&lt;br /&gt;
&lt;br /&gt;
pango-directfb had been removed from OE for now due to the report of it breaking builds like OpenMoko.&lt;br /&gt;
&lt;br /&gt;
[[User:ttz|ttz]] Thu Oct  4 10:20:12 CDT 2007&lt;br /&gt;
&lt;br /&gt;
== uicmoc4 failes to compile ==&lt;br /&gt;
&lt;br /&gt;
This is solved by installing libz-dev&lt;br /&gt;
&lt;br /&gt;
Or, look at [http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=747 Bug #747]&lt;br /&gt;
&lt;br /&gt;
== svn: REPORT request failed on '/repos/tasks/!svn/vcc/default' ==&lt;br /&gt;
&lt;br /&gt;
  osiris$ make update&lt;br /&gt;
  ...&lt;br /&gt;
  Fetching external item into 'trunk/src/target/OM-2007.2/applications/openmoko-today2/libkoto'&lt;br /&gt;
  svn: REPORT request failed on '/repos/tasks/!svn/vcc/default'&lt;br /&gt;
  svn: REPORT of '/repos/tasks/!svn/vcc/default': 200 OK (http://svn.o-hand.com)&lt;br /&gt;
  make: *** [update-openmoko] Error 1&lt;br /&gt;
&lt;br /&gt;
  osiris$ cd openmoko/trunk/src/target/OM-2007.2/applications/openmoko-today2//libkoto/&lt;br /&gt;
  osiris$ svn up -r HEAD&lt;br /&gt;
  svn: REPORT request failed on '/repos/tasks/!svn/vcc/default'&lt;br /&gt;
  svn: REPORT of '/repos/tasks/!svn/vcc/default': 200 OK (http://svn.o-hand.com)&lt;br /&gt;
&lt;br /&gt;
Anyone know about this one?&lt;br /&gt;
--[[User:Blackh|Blackh]] 00:11, 12 October 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
== bootparam_prot.h fails to install in glibc-intermediate-2.5 package (Debian sid) ==&lt;br /&gt;
&lt;br /&gt;
  | install: cannot stat&lt;br /&gt;
    `/home/blackh/src/openmoko/moko/build/tmp/work/armv4t-angstrom-linux-gnueabi/&lt;br /&gt;
    glibc-intermediate-2.5-r7/glibc-2.5/sunrpc/rpcsvc/bootparam_prot.h'&lt;br /&gt;
    No such file or directory&lt;br /&gt;
  NOTE: Task failed: /home/blackh/src/openmoko/moko/build/tmp/work/armv4t-angstrom-linux-gnueabi/&lt;br /&gt;
    glibc-intermediate-2.5-r7/temp/log.do_stage.3940&lt;br /&gt;
&lt;br /&gt;
For some reason, on Debian, the rpcgen command needs &amp;quot;-Y /usr/bin&amp;quot; added to the end of it or it won't work (&amp;quot;cannot find any C preprocessor (cpp)&amp;quot;).  This can be fixed by hand...&lt;br /&gt;
&lt;br /&gt;
 cd /home/blackh/src/openmoko/moko/build/tmp/work/armv4t-angstrom-linux-gnueabi/&lt;br /&gt;
    glibc-intermediate-2.5-r7/glibc-2.5/sunrpc/rpcsvc&lt;br /&gt;
 for f in *.x ; do rpcgen -h $f -o ${f%%.x}.h -Y /usr/bin ; done&lt;br /&gt;
&lt;br /&gt;
This command will generate the right files and you can resume the build with&lt;br /&gt;
&lt;br /&gt;
make openmoko-devel-image&lt;br /&gt;
&lt;br /&gt;
Here is a better fix - put this script, calling it rpcgen, somewhere in your PATH before /usr/bin:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  exec /usr/bin/rpcgen -Y /usr/bin &amp;quot;$@&amp;quot;&lt;br /&gt;
&lt;br /&gt;
--[[User:Blackh|Blackh]] 05:17, 12 October 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Cannot find SVN openmoko-terminal2 ==&lt;br /&gt;
I'm having an issue when building MokoMakeFile where it is unable to find http://svn.openmoko.org/trunk/src/target/OM-2007.2/applications/openmoko-terminal2.  Any ideas on how to fix this?&lt;br /&gt;
&lt;br /&gt;
--[[User:cartera|cartera]]&lt;br /&gt;
&lt;br /&gt;
== problem with make openmoko-devel-image ==&lt;br /&gt;
&lt;br /&gt;
when i try to do my first make openmoko-devel-image I obtain this error:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NOTE: Running task 844 of 5445 (ID: 671, /home/xraver/moko/openembedded/packages/linux/linux-openmoko_2.6.24+git.bb, do_fetch)&lt;br /&gt;
NOTE: package linux-openmoko-2.6.24+git20080422: started&lt;br /&gt;
NOTE: package linux-openmoko-1_2.6.24+git20080422-r0: task do_fetch: started&lt;br /&gt;
NOTE: fetch http://downloads.openmoko.org/sources/git_git.openmoko.org.git.kernel.git_4194.tar.gz&lt;br /&gt;
--08:47:41--  http://downloads.openmoko.org/sources/git_git.openmoko.org.git.kernel.git_4194.tar.gz&lt;br /&gt;
           =&amp;gt; `/home/xraver/moko/sources/git_git.openmoko.org.git.kernel.git_4194.tar.gz'&lt;br /&gt;
Risoluzione di downloads.openmoko.org in corso... 88.198.93.219&lt;br /&gt;
Connessione a downloads.openmoko.org|88.198.93.219:80... connesso.&lt;br /&gt;
HTTP richiesta inviata, aspetto la risposta... 404 Not Found&lt;br /&gt;
08:47:41 ERRORE 404: Not Found.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this location http://downloads.openmoko.org/sources/ the file git_git.openmoko.org.git.kernel.git_4194.tar.gz does not exist.&lt;br /&gt;
Any solutions?&lt;br /&gt;
&lt;br /&gt;
--[[User:xraver|Giorgio Ravera]]&lt;br /&gt;
&lt;br /&gt;
I get a similar error&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NOTE: package linux-openmoko-2.6.24+git0+855f715f8568a50391d1526ab2954925c08dab79: started&lt;br /&gt;
NOTE: package linux-openmoko-2_2.6.24+git0+855f715f8568a50391d1526ab2954925c08dab79-r2: task do_fetch: started&lt;br /&gt;
fatal: The remote end hung up unexpectedly&lt;br /&gt;
fatal: Fetch failure: git://git.openmoko.org/git/kernel.git&lt;br /&gt;
NOTE: Running task 1268 of 7057 (ID: 4365, /home/vale/moko/openembedded/packages/libpng/libpng-native_1.2.20.bb, do_package_stage)&lt;br /&gt;
NOTE: Task failed: Fetch failed: Fetch command export PATH=/home/vale/moko/build/tmp/staging/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi:/home/vale/moko/build/tmp/staging/x86_64-linux/usr/sbin:/home/vale/moko/build/tmp/staging/x86_64-linux/usr/bin:/home/vale/moko/build/tmp/cross/bin:/home/vale/moko/build/tmp/staging/x86_64-linux/sbin:/home/vale/moko/bitbake/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games; git fetch git://git.openmoko.org/git/kernel.git stable failed with signal 128, output:&lt;br /&gt;
fatal: The remote end hung up unexpectedly&lt;br /&gt;
fatal: Fetch failure: git://git.openmoko.org/git/kernel.git&lt;br /&gt;
&lt;br /&gt;
NOTE: package linux-openmoko-2_2.6.24+git0+855f715f8568a50391d1526ab2954925c08dab79-r2: task do_fetch: failed&lt;br /&gt;
ERROR: TaskFailed event exception, aborting&lt;br /&gt;
NOTE: package linux-openmoko-2.6.24+git0+855f715f8568a50391d1526ab2954925c08dab79: failed&lt;br /&gt;
ERROR: Build of /home/vale/moko/openembedded/packages/linux/linux-openmoko_2.6.24+git.bb do_fetch failed&lt;br /&gt;
...&lt;br /&gt;
ERROR: Task 911 (/home/vale/moko/openembedded/packages/linux/linux-openmoko_2.6.24+git.bb, do_fetch) failed&lt;br /&gt;
...&lt;br /&gt;
NOTE: Tasks Summary: Attempted 1265 tasks of which 1258 didn't need to be rerun and 1 failed.&lt;br /&gt;
ERROR: '/home/vale/moko/openembedded/packages/linux/linux-openmoko_2.6.24+git.bb' failed&lt;br /&gt;
NOTE: build 200808080806: completed&lt;br /&gt;
make: *** [openmoko-devel-image] Fehler 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:bubbas|bubbas]]&lt;br /&gt;
&lt;br /&gt;
I have the same error as bubbas... any ideas?&lt;br /&gt;
&lt;br /&gt;
--[[User:jas|jas]]&lt;br /&gt;
&lt;br /&gt;
== Wishlist: Make qemu optional ==&lt;br /&gt;
&lt;br /&gt;
Hi,&lt;br /&gt;
&lt;br /&gt;
I’ve just set up MokoMakefile, and after &amp;lt;tt&amp;gt;make setup&amp;lt;/tt&amp;gt; I tried to get a package with &amp;lt;tt&amp;gt;make build-package-openmoko-messages2&amp;lt;/tt&amp;gt;, but it’s spending a lot of time and disk space on building native libraries and qemu – something that I have not asked for. It would be nice if I could build packages for my phone without having to build unneccessary stuff.&lt;br /&gt;
&lt;br /&gt;
Thanks,&lt;br /&gt;
Joachim&lt;br /&gt;
&lt;br /&gt;
== SVN Certificate issues for Gentoo users ==&lt;br /&gt;
&lt;br /&gt;
Note for Gentoo users: I think Portage creates a ~/.subversion directory as root if you've ever compiled a svn ebuild via &amp;quot;sudo emerge&amp;quot;.  If this happens, certificates won't be saved, so you have to take back ownership of the directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chown -R $USER ~/.subversion&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Before running a svn co from the openmoko svn server to accept the certificate, otherwise the authentication information will not be saved.&lt;br /&gt;
[[User:Kelvie|kelvie]] 06:05, 18 July 2008 (UTC)&lt;/div&gt;</summary>
		<author><name>Jas</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/GSM</id>
		<title>GSM</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/GSM"/>
				<updated>2007-08-03T09:43:37Z</updated>
		
		<summary type="html">&lt;p&gt;Jas: /* GSM 07.05 - Additional AT commands (SMS and CBS) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''GSM''', ([http://en.wikipedia.com/wiki/GSM Global System for Mobile communications]) is the phone standard and network type supported by the [[Neo1973]]. Future phones may support other standards.&lt;br /&gt;
&lt;br /&gt;
GSM covers making phone calls, sending '''SMS''' text messages, and access to Internet via '''GPRS'''. A '''SIM''' ([http://en.wikipedia.org/wiki/Subscriber_Identity_Module Subscriber Identity Module]) card is given along the contract with an operator, and the customer inserts the card in the phone to authorize it. The card is plastic (approximately 15mm*23mm*1mm) with several gold contacts on, and it determines the mobile phone 'number' and what network the phone is on.&lt;br /&gt;
&lt;br /&gt;
The Neo1973 phone can be used with any operator that has a GSM network; it is quad-band and thus supports every frequency (850, 900, 1800, and 1900 MHz). Thus it will work in most countries, with the exception of some of the US and some other parts of the world that completely lack GSM coverage.&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
Calls can be placed using the graphical [[Dialer]] or the textual gsmd-tool.&lt;br /&gt;
&lt;br /&gt;
Rest needs to be done on the command-line [[manually using GSM]] and [[manually using GPRS]], until [[gsmd]] supports more.&lt;br /&gt;
&lt;br /&gt;
== Programming ==&lt;br /&gt;
&lt;br /&gt;
The GSM features (including dialing, SMS, GPRS, and SIM access) will be programmed via [[gsmd]].&lt;br /&gt;
&lt;br /&gt;
== Standards information ==&lt;br /&gt;
&lt;br /&gt;
You can find a full list of GSM/3GPP standards at [http://webapp.etsi.org/key/key.asp?full_list=y this ETSI site] (attention! more than 2000 entries) or at [http://pda.etsi.org/pda/queryform.asp the light-weight ETSI site].&lt;br /&gt;
&lt;br /&gt;
=== GSM 02.07 - Required features ===&lt;br /&gt;
&lt;br /&gt;
See [[GSM02.07]].&lt;br /&gt;
&lt;br /&gt;
=== GSM 07.07 - Main AT commands ===&lt;br /&gt;
&lt;br /&gt;
07.07 describes the main commands used by the [[Gsmd]] software of the Openmoko system to communicate via a serial interface with the [[GSM]] subsystem of the phone.&lt;br /&gt;
&lt;br /&gt;
* http://www.ctiforum.com/standard/standard/etsi/0707.pdf&lt;br /&gt;
&lt;br /&gt;
For more, see [[Hardware:AT Commands]].&lt;br /&gt;
&lt;br /&gt;
Note that the descendant of this specification is [http://www.3gpp.org/ftp/Specs/html-info/27007.htm 3GPP TS 27.007 - AT command set for User Equipment (UE)]. (Does OpenMoko support any of these newer versions?)&lt;br /&gt;
&lt;br /&gt;
=== GSM 07.05 - Additional AT commands (SMS and CBS) ===&lt;br /&gt;
&lt;br /&gt;
* http://www.ctiforum.com/standard/standard/etsi/0705.pdf&lt;br /&gt;
&lt;br /&gt;
A more user-friendly resource is:&lt;br /&gt;
&lt;br /&gt;
* http://www.developershome.com/sms/&lt;br /&gt;
&lt;br /&gt;
=== GSM 07.10 - Multiplexing ===&lt;br /&gt;
&lt;br /&gt;
* direct link?&lt;br /&gt;
&lt;br /&gt;
{{Languages|SIM}}&lt;br /&gt;
[[Category:Applications]]&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Jas</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/MokoMakefile</id>
		<title>MokoMakefile</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/MokoMakefile"/>
				<updated>2007-08-02T00:36:20Z</updated>
		
		<summary type="html">&lt;p&gt;Jas: /* QEMU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==MokoMakefile==&lt;br /&gt;
MokoMakefile is a fully automated way of setting up an OpenMoko development environment.  It is an invaluable tool for getting new developers up and running with a build environment which is configured the same as all the other existing developers.  It brings the same repeatability to build environment creation and maintenance as that which OpenEmbedded brings to the main task of actually building embedded software distributions.&lt;br /&gt;
&lt;br /&gt;
Note that MokoMakefile does *not* replace bitbake, or svn, or monotone, or openembedded, or qmake, or anything else.  It is a wrapper around all that to make it easy to set up and maintain a development environment that fully complies with the setup instructions published by OpenMoko.  Note that you need about 7 GB of available disk space for MokoMakefile to succeed. Please check that your RAM + swap partition space is greater than 512 MB (around 1GB?).&lt;br /&gt;
&lt;br /&gt;
MokoMakefile is developed by [[User:RodWhitby|Rod Whitby]] - it is not an official product of OpenMoko (although I would be happy for them to pick it up and use it internally).  If there is any discrepancy between the [[Building_OpenMoko_from_scratch|official OpenMoko build instructions]], and the operation of the MokoMakefile, then you should consider the official instructions to be correct.&lt;br /&gt;
&lt;br /&gt;
=== Before you begin ===&lt;br /&gt;
'''Check that your /bin/sh (ls -l /bin/sh) is not linked to dash rather than bash.''' Using dash will cause you pain. This is true for a standard install of Ubuntu 7.04 (at least when installing from Live CD). If your /bin/sh points to /bin/dash, correct it with (as root):&lt;br /&gt;
 ln -sf /bin/bash /bin/sh&lt;br /&gt;
&lt;br /&gt;
Note: on  http://www.openembedded.org/wiki/OEandYourDistro are better instructions for Ubuntu to make sh be bash.&lt;br /&gt;
&lt;br /&gt;
If you have previously built with dash as your sh shell then your perl compile is probably broken.  One symptom is that the build will error and whine about an 'Unterminated quote string'.  Another symptom is a message that says 'You haven't done a &amp;quot;make depend&amp;quot; yet!'  If you get these then you need to:&lt;br /&gt;
 make clean-package-perl&lt;br /&gt;
 make clean-package-perl-native&lt;br /&gt;
and rebuild.&lt;br /&gt;
 &lt;br /&gt;
If all else fails then just rm -rf the perl work dir and the perl stamps.  Here's an i686 host example:&lt;br /&gt;
 rm -rf build/tmp/work/i686-linux/perl-native-5.8.7-r3 &lt;br /&gt;
 rm -f  build/tmp/stamps/i686-linux/perl*&lt;br /&gt;
&lt;br /&gt;
As of r99, MokoMakefile has patches which should make it build correctly with dash.&lt;br /&gt;
&lt;br /&gt;
You need to get mtn and svn for make.&lt;br /&gt;
 sudo apt-get install subversion monotone&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
Here are the steps to use it:&lt;br /&gt;
&lt;br /&gt;
1 - Make sure your build host is set up according to:&lt;br /&gt;
   http://www.openembedded.org/wiki/OEandYourDistro&lt;br /&gt;
2 - Create your $OMDIR directory (note that you can change ~/moko to any directory you like):&lt;br /&gt;
   mkdir ~/moko ; cd ~/moko&lt;br /&gt;
3 - Grab MokoMakefile:&lt;br /&gt;
   wget http://www.rwhitby.net/files/openmoko/Makefile&lt;br /&gt;
&lt;br /&gt;
If that doesn't work, try &lt;br /&gt;
&lt;br /&gt;
   wget http://svn.nslu2-linux.org/svnroot/mokomakefile/trunk/Makefile&lt;br /&gt;
4 - Set up the environment:&lt;br /&gt;
   make setup&lt;br /&gt;
5 - Start building. Before starting a lengthy make process, check in Tips section about how to make Make multicore aware. You may want to modify the build/conf/local.conf file for your target (emulation/chroot) environment:&lt;br /&gt;
   make openmoko-devel-image&lt;br /&gt;
&lt;br /&gt;
This will set up the recommended directory structure as described in [[Building OpenMoko from scratch]], will download all the required software (from the right places with the right versions), and will immediately start building an image.&lt;br /&gt;
&lt;br /&gt;
Once you have done this, you can choose to continue using the MokoMakefile to initiate your subsequent builds, or you can go into the build directory and run bitbake commands manually.  The choice is yours.&lt;br /&gt;
&lt;br /&gt;
===Updating the environment=== &lt;br /&gt;
For easy maintenance of your build environment the following commands are available.&lt;br /&gt;
&lt;br /&gt;
1 - To update the MokoMakefile to the latest version:&lt;br /&gt;
   make update-makefile &lt;br /&gt;
&lt;br /&gt;
2 - To update the OpenMoko repository checkout and the MokoMakefile patches to the latest version:&lt;br /&gt;
   make update&lt;br /&gt;
&lt;br /&gt;
3 - To make sure that any recent changes to the build directory structure have been applied:&lt;br /&gt;
   make setup &lt;br /&gt;
&lt;br /&gt;
A quick way to rebuild a new image with the latest updates:&lt;br /&gt;
   make update-makefile &amp;amp;&amp;amp; make update setup openmoko-devel-image&lt;br /&gt;
&lt;br /&gt;
===Reporting Problems===&lt;br /&gt;
&lt;br /&gt;
First, make sure that the problem is reproducible after running&lt;br /&gt;
&lt;br /&gt;
 make update-makefile ; make update ; make setup&lt;br /&gt;
&lt;br /&gt;
then running&lt;br /&gt;
&lt;br /&gt;
 make clean-package-&amp;lt;foo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(where you replace &amp;lt;foo&amp;gt; with the name of the package which is failing)&lt;br /&gt;
&lt;br /&gt;
then running&lt;br /&gt;
&lt;br /&gt;
 make all&lt;br /&gt;
&lt;br /&gt;
If you can get the error to occur three times in a row after running that sequence of commands three times, then feel free to report it to rwhitby in #openmoko on [http://wiki.openmoko.org/wiki/Development_resources#IRC IRC].&lt;br /&gt;
&lt;br /&gt;
===Work-arounds===&lt;br /&gt;
&lt;br /&gt;
Work-arounds for temporary or isolated problems should be added to the [[Talk:MokoMakefile|Discussion page]] which is associated with this page.  As they are fixed, they will be removed from that page.&lt;br /&gt;
&lt;br /&gt;
===Tips=== &lt;br /&gt;
*You can reduce the amount of consumed disk space significantly by adding&lt;br /&gt;
   INHERIT += &amp;quot;rm_work&amp;quot;&lt;br /&gt;
in your local.conf (e.g. ~/moko/build/conf/local.conf). This will remove the contents of each build/tmp/work/*/&amp;lt;package&amp;gt; directory after the corresponding package builds correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*If you an encounter an error with monotone similar to the following:&lt;br /&gt;
   mtn: misuse: database /home/''username''/moko/OE.mtn is laid out according to an old schema&lt;br /&gt;
Then you need to upgrade OE.mtn  Use the following command while in ~/moko:&lt;br /&gt;
   # mtn --db OE.mtn db migrate&lt;br /&gt;
&lt;br /&gt;
*If a certain package does not build due to corrupted download or some such try to remove the sources and rebuild it.&lt;br /&gt;
 rm sources/&amp;lt;package&amp;gt;*&lt;br /&gt;
 cd build&lt;br /&gt;
 . ../setup-env&lt;br /&gt;
 bitbake -crebuild &amp;lt;package&amp;gt;&lt;br /&gt;
after that your build might just work again.&lt;br /&gt;
&lt;br /&gt;
*For people with multiple CPU's (or dual-core ones) this small patch might be useful to build things faster.&lt;br /&gt;
Edit the local.conf and add the following lines:&lt;br /&gt;
 PARALLEL_MAKE = &amp;quot;-j 4&amp;quot;&lt;br /&gt;
 BB_NUMBER_THREADS = &amp;quot;4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Change the PARALLEL_MAKE and BB_NUMBER_THREADS values to something that suits better if it chokes your machine.&lt;br /&gt;
&lt;br /&gt;
*For amd64 host users you need the patch from http://bugs.openembedded.org/show_bug.cgi?id=1765 to build db3-native&lt;br /&gt;
&lt;br /&gt;
===QEMU===&lt;br /&gt;
The MokoMakefile now has support for automatically building, flashing, and running [[OpenMoko under QEMU|the new Neo1973 emulator]] (which is based on QEMU).&lt;br /&gt;
&lt;br /&gt;
Dependencies: &lt;br /&gt;
&lt;br /&gt;
*gcc 3.4 or 3.3 ('apt-get install gcc-3.4' in Ubuntu 7.04)&lt;br /&gt;
*lynx ('apt-get install lynx' in Ubuntu 7.04)&lt;br /&gt;
*netpbm ('apt-get install netpbm' in Ubuntu 7.04)&lt;br /&gt;
*sdl-devel ('apt-get install libsdl1.2-dev in Ubuntu .704')&lt;br /&gt;
*mkdosfs ('apt-get install dosfstools' in Debian 4.0)&lt;br /&gt;
&lt;br /&gt;
“'''make qemu'''” will build qemu-neo1973, download the latest official OpenMoko images, flash the images into the virtual NAND flash, create an empty virtual SD card, and run the emulator (you still need to install the makefile as mentioned above, however).&lt;br /&gt;
&lt;br /&gt;
Other targets are “'''make download-images'''” (to download the latest official images), “'''make flash-qemu-official'''” (to flash those images) and “'''make flash-qemu-local'''” (which will flash your latest locally built images), which can then be followed by “''''make run-qemu'''” or “'''make run-qemu-snapshot'''” to run the emulator with the most recently flashed images. You can also use “''''make qemu-copy-package-''foo'''''” to copy the &amp;lt;code&amp;gt;.ipk&amp;lt;/code&amp;gt; file for package ''foo'' to the virtual SD card, and later use “''''ipkg install /media/mmcblk0/''file'''''” from within the emulated Neo1973 to install the package.&lt;br /&gt;
&lt;br /&gt;
Make sure you have the “lynx” and “netpbm” packages installed on your build host first.&lt;br /&gt;
&lt;br /&gt;
You're also invited to read more about how to run [[OpenMoko under QEMU]] in the article dedicated to this subject.&lt;br /&gt;
&lt;br /&gt;
===Developing with MokoMakefile===&lt;br /&gt;
&lt;br /&gt;
For the following explanations $OMDIR is the directory where there Makefile puts all the stuff.&lt;br /&gt;
&lt;br /&gt;
To make in-tree changes and have them built and used by qemu:&lt;br /&gt;
&lt;br /&gt;
  cd $OMDIR/openmoko&lt;br /&gt;
  quilt new descriptive-patch-name.patch&lt;br /&gt;
  quilt add trunk/src/name-of-file-to-change # do this for every file you are about to modify&lt;br /&gt;
  ...make the changes...&lt;br /&gt;
  quilt refresh # this creates a file in $OMDIR/patches/openmoko-HEAD/ and updates the quilt series file there&lt;br /&gt;
&lt;br /&gt;
Note: Do '''NOT''' use absolute paths as this confuses quilt and will get you a diff of the file against /dev/null!&lt;br /&gt;
&lt;br /&gt;
To build the changes and have them used by qemu:&lt;br /&gt;
&lt;br /&gt;
  make build-qemu&lt;br /&gt;
  make flash-qemu-local&lt;br /&gt;
  make run-qemu&lt;br /&gt;
&lt;br /&gt;
If you want to modify applications instead of the openmoko toolchain, this is what you have to do (example: openmoko-messages):&lt;br /&gt;
&lt;br /&gt;
  cd $OMDIR&lt;br /&gt;
  . ./setup-env&lt;br /&gt;
  cd build&lt;br /&gt;
  bitbake -c unpack openmoko-messages&lt;br /&gt;
  cd ../build/tmp/work/armv4t-linux/openmoko-messages-0.0.1+svnnow-r2_2276/openmoko-messages/&lt;br /&gt;
  ...make the changes...&lt;br /&gt;
  cd -&lt;br /&gt;
  bitbake openmoko-messages&lt;br /&gt;
&lt;br /&gt;
Then continue with MokoMakefile usage.&lt;br /&gt;
&lt;br /&gt;
If you want to add an application to your openmoko distribution, do this:&lt;br /&gt;
All file edits should be done using quilt as described above. That way a patch can easily be submitted to the openmoko project.&lt;br /&gt;
First, create a directory that will correspond to your package and edit a '''.bb''' file in there:&lt;br /&gt;
  cd $OMDIR/openmoko/&lt;br /&gt;
  quilt new mycoolpackage.patch&lt;br /&gt;
  mkdir trunk/oe/packages/mycoolpackage&lt;br /&gt;
  quilt add trunk/oe/packages/mycoolpackage/mycoolpackage_1.bb&lt;br /&gt;
  quilt edit trunk/oe/packages/mycoolpackage/mycoolpackage_1.bb&lt;br /&gt;
&lt;br /&gt;
The file should have the following content:&lt;br /&gt;
  DESCRIPTION = &amp;quot;This is a cool package&amp;quot;&lt;br /&gt;
  SECTION = &amp;quot;username/mycoolpackage&amp;quot;&lt;br /&gt;
  PV = &amp;quot;1&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  inherit autotools&lt;br /&gt;
  &lt;br /&gt;
  SRC_URI = &amp;quot;http://www.example.com/download/mycoolpackage-1.tar.gz&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Explanation:&lt;br /&gt;
* DESCRIPTION - Just a short text explaining the package&lt;br /&gt;
* SECTION - I have no clue, but I'll use username/mycoolpackage for now&lt;br /&gt;
* PV - Package Version&lt;br /&gt;
* inherit autotools - The package can be compiled by './configure &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install' so we tell MokoMakefile to do it this way.&lt;br /&gt;
* SRC_URI = ... - This is the download location of the package source. It's imperative that the tar.gz contains a directory called '''packagename-packageversion''' (in this case: mycoolpackage-1) so that MokoMakefile can find it automatically or the build will fail.&lt;br /&gt;
&lt;br /&gt;
This is not all. We also need to tell MokoMakfile that it needs to build and include the package in the image. To do this, do&lt;br /&gt;
  $OMDIR/openmoko# quilt edit trunk/oe/packages/tasks/task-openmoko.bb&lt;br /&gt;
Here, increase the value '''PR''' by one and add '''mycoolpackage \''' (with the backslash!) just before the line reading '''#  update-alternatives \'''.&lt;br /&gt;
&lt;br /&gt;
Now run&lt;br /&gt;
  quilt refresh&lt;br /&gt;
  cd ..&lt;br /&gt;
  make update all&lt;br /&gt;
&lt;br /&gt;
And if everything's alright you should now have an OpenMoko image to flash to your phone or run in qemu as described above.&lt;br /&gt;
&lt;br /&gt;
=== Hello World application ===&lt;br /&gt;
&lt;br /&gt;
There is a [http://wiki.openmoko.org/wiki/Building_a_hello_world_application Hello World!] tutorial available too.&lt;br /&gt;
&lt;br /&gt;
===Testimonials=== &lt;br /&gt;
MokoMakefile is recommended by 4 out of 4 new developers on #openmoko, with testimonials such as &amp;quot;For some reason last night I couldn't get my manual install of everything to work (bb complained about my bbpath I think) ... but with your makefile, it works great!&amp;quot;, and &amp;quot;MokoMakefile rocks!&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Project page:&lt;br /&gt;
http://mokomakefile.projects.openmoko.org/&lt;br /&gt;
&lt;br /&gt;
{{Languages|MokoMakefile}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;br /&gt;
[[Category:Guides]]&lt;/div&gt;</summary>
		<author><name>Jas</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Jas</id>
		<title>User:Jas</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Jas"/>
				<updated>2007-07-31T15:58:13Z</updated>
		
		<summary type="html">&lt;p&gt;Jas: Initial version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Simon Josefsson, http://josefsson.org/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* OpenMoko interests:&lt;br /&gt;
** Creating a crypto-GSM phone&lt;br /&gt;
** Controlling EIB/KNX-controlled intelligent house systems&lt;/div&gt;</summary>
		<author><name>Jas</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Neo1973_compatible_cellphone_providers</id>
		<title>Neo1973 compatible cellphone providers</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Neo1973_compatible_cellphone_providers"/>
				<updated>2007-07-15T06:51:38Z</updated>
		
		<summary type="html">&lt;p&gt;Jas: add info for sweden&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
The Neo1973 uses quad-band [[GSM]] (850/900/1800/1900 MHz) so any GSM provider in the world should be compatible. In general, when you are looking for a mobile solution in your region, you would need to be aware of:&lt;br /&gt;
* the ''network coverage'' of available providers&lt;br /&gt;
* different ''tariffs'' of these providers&lt;br /&gt;
and choose the one that is right for you. If you haven't had any experience with GSM coverage in your area, you may want to inquire locally from the available providers and people you know that may already have experienced GSM at your location. You may also want to subscribe to our mailing list. If you have doubts about the coverage for your area, you may want to borrow a GSM phone or buy an inexpensive one so that you can get a feel for how the Neo1973 will work in your area. You can help keep your cost down by using a prepaid card for your testing.&lt;br /&gt;
&lt;br /&gt;
Here is some information on Prepaid GSM cards:&lt;br /&gt;
* [http://www.prepaidgsm.net/ PrePaidGSM - worldwide overview about GSM prepaid offers]&lt;br /&gt;
Think twice before choosing a tariff with long duration contracts (more than 12 months), because prices for the GPRS data tariffs are ''likely'' to lower in many countries. Also, long duration contracts are mostly combined with hardware (ie: free or steeply discounted phone with a 24 or 36 month contract). It will be worth your while to shop around for competing offers from the different providers in your area.&lt;br /&gt;
&lt;br /&gt;
We chose the GSM network format for the Neo1973 because GSM is in use by more countries than any other mobile phone standard. As a result, you will have better coverage with the Neo1973, and we felt that it was the best choice for our OpenMoko devices. When the Neo1973 is successful, and we believe that it will be, we will be developing new devices that we will be bringing to market. They will be running OpenMoko and supporting additional mobile phone network standards as well. So if GSM is not available in your area (ie: some areas in the USA), OpenMoko will be bringing other options to market in the future.&lt;br /&gt;
&lt;br /&gt;
Below is a list of Neo1973-compatible providers around the world. Please help by filling this out ''alphabetically'':&lt;br /&gt;
&lt;br /&gt;
== Canada ==&lt;br /&gt;
* [http://www.fido.ca/ Fido]&lt;br /&gt;
* [http://www.icewireless.ca/ IceWireless]&lt;br /&gt;
* [http://www.rogers.ca/ Rogers]&lt;br /&gt;
&lt;br /&gt;
== China ==&lt;br /&gt;
* China Mobile&lt;br /&gt;
* China Unicom (CHINA UNICOM GSM)&lt;br /&gt;
&lt;br /&gt;
== Czech Republic ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.vodafone.cz/ Vodafone]&lt;br /&gt;
* [http://www.cz.o2.com/ o2]&lt;br /&gt;
* [http://www.t-mobile.cz/ T-mobile]&lt;br /&gt;
&lt;br /&gt;
== Denmark ==&lt;br /&gt;
* Sonofon ([http://www.sonofon.dk/english/index.shtml English] - [http://www.sonofon.dk/ Danish])&lt;br /&gt;
* TDC A/S ([http://tdc.com English] - [http://privat.tdc.dk/mobil/ Danish])&lt;br /&gt;
* Telia DK ([http://telia.dk/privat/produkter/mobil/ Danish])&lt;br /&gt;
&lt;br /&gt;
== Estonia ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.emt.ee/ EMT]&lt;br /&gt;
* [http://www.tele2.ee/ Tele2] - Very low rates for GPRS. You can get 3GB of bandwidth for 675EEK(~43€) per month.&lt;br /&gt;
* [http://www.elisa.ee/ Elisa] - With M-internet plan you get free access to Elisa wifi hotspots  &lt;br /&gt;
&lt;br /&gt;
== Finland ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.cubio.fi Cubio]&lt;br /&gt;
* [http://www.dnafinland.fi Dna] - Also a roaming network operator (Network operated under the name Dna Networks Ltd)&lt;br /&gt;
* [http://www.elisa.fi Elisa] - Also a roaming network operator.&lt;br /&gt;
* [http://www.go.fi Go mobile]&lt;br /&gt;
* [http://www.hesburger.fi/heseliittyma/ Hesburger] - Do you want sim card(s) with that?&lt;br /&gt;
* [http://www.kolumbus.fi Kolumbus] - Strangely they don't offer their website in English, but they're a part of the Elisa.&lt;br /&gt;
* [http://www.teliasonera.com Teliasonera] - Also a roaming network operator.&lt;br /&gt;
* [http://www.tele.fi Telefinland] - They haven't got an English site, but they're part of the Teliasonera.&lt;br /&gt;
* [http://www.gsm.aland.fi/ Ålands Mobiltelefon] - Only in the Åland Islands in the southwestern Finland. Also a roaming network operator.&lt;br /&gt;
&lt;br /&gt;
== France ==&lt;br /&gt;
&lt;br /&gt;
All:&lt;br /&gt;
* [http://www.sfr.fr SFR]&lt;br /&gt;
* [http://www.bouyguestelecom.fr/ Bouygues]&lt;br /&gt;
* [http://www.orange.fr Orange]&lt;br /&gt;
&lt;br /&gt;
== Germany ==&lt;br /&gt;
All: &lt;br /&gt;
* [http://www.vodafone.de/ Vodafone]&lt;br /&gt;
* [http://www.o2online.de/ o2]&lt;br /&gt;
* [http://www.eplus.de/ E-Plus]&lt;br /&gt;
* [http://www.t-mobile.de/ T-mobile]&lt;br /&gt;
== India ==&lt;br /&gt;
All GSM:&lt;br /&gt;
* Airtel&lt;br /&gt;
* Vodafone&lt;br /&gt;
* [http://www.ideacellular.com/ Idea]&lt;br /&gt;
* Reliance GSM&lt;br /&gt;
* BPL Mobile&lt;br /&gt;
* Spice&lt;br /&gt;
&lt;br /&gt;
== Japan ==&lt;br /&gt;
&lt;br /&gt;
According to the [http://www.gsmworld.com/roaming/gsminfo/cou_jp.shtml GSM-Association] there is no GSM in Japan, except for UMTS.&lt;br /&gt;
&lt;br /&gt;
== Latvia ==&lt;br /&gt;
* [http://www.lmt.lv/ LMT]&lt;br /&gt;
* [http://www.bite.lv/ Bitė]&lt;br /&gt;
* [http://www.tele2.lv/ Tele2]&lt;br /&gt;
&lt;br /&gt;
== Lithuania ==&lt;br /&gt;
* [http://www.omnitel.lt/ Omnitel]&lt;br /&gt;
* [http://www.bite.lt/ Bitė]&lt;br /&gt;
* [http://www.tele2.lt/ Tele2]&lt;br /&gt;
&lt;br /&gt;
== Netherlands ==&lt;br /&gt;
All.&lt;br /&gt;
* [http://www.vodafone.nl/ Vodafone]&lt;br /&gt;
* [http://www.telfort.nl/ Telfort]&lt;br /&gt;
* [http://www.orange.nl/ Orange]&lt;br /&gt;
* [http://www.t-mobile.nl/ T-mobile]&lt;br /&gt;
* [http://www.kpn.com/mobiel KPN]&lt;br /&gt;
* [http://www.hi.nl/ Hi]&lt;br /&gt;
(There are more)&lt;br /&gt;
&lt;br /&gt;
For a breakdown of SIM-only plans, go to [http://www.bellen.com/mobiel_overzicht/default.asp?taal=nl&amp;amp;land=nl&amp;amp;prgr=4 Bellen.com]&lt;br /&gt;
&lt;br /&gt;
== New Zealand ==&lt;br /&gt;
* [http://www.vodafone.co.nz/ Vodafone]&lt;br /&gt;
&lt;br /&gt;
== Norway ==&lt;br /&gt;
* [http://www.netcom.no/ NetCom] (GSM900/1800 &amp;amp; UMTS)&lt;br /&gt;
* [http://www.networknorway.no/ Network Norway] (GSM900)&lt;br /&gt;
* [http://www.telenormobil.no/ Telenor] (GSM900/1800 &amp;amp; UMTS)&lt;br /&gt;
&lt;br /&gt;
== Poland ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.eragsm.pl/ Era]&lt;br /&gt;
* [http://www.plusgsm.pl/ Plus]&lt;br /&gt;
* [http://www.orange.pl/ Orange] - europe wide provider&lt;br /&gt;
* [http://www.playmobile.pl/ Play]&lt;br /&gt;
&lt;br /&gt;
== Romania ==&lt;br /&gt;
 &lt;br /&gt;
* [http://www.vodafone.ro Vodafone] (226-01; GSM900)&lt;br /&gt;
* [http://www.orange.ro Orange] (226-10; GSM900)&lt;br /&gt;
* [http://www.cosmote.com Cosmote] (226-06; GSM1800)&lt;br /&gt;
&lt;br /&gt;
* [http://www.zapp.ro/ Zapp] is running CDMA (Qualcomm style) and as such it is incompatible with [[Neo1973]].&lt;br /&gt;
&lt;br /&gt;
== Russia ==&lt;br /&gt;
=== global ===&lt;br /&gt;
* [http://www.beeline.ru/ Билайн]/BeeLine (GSM900/1800)&lt;br /&gt;
* [http://megafon.ru/ МегаФон]/MegaFon (GSM900/1800)&lt;br /&gt;
* [http://www.mts.ru МТС]/MTS (GSM900/1800)&lt;br /&gt;
=== regional ===&lt;br /&gt;
* [http://www.smarts.ru/ СМАРТС]/SMARTS (GSM900/1800)&lt;br /&gt;
* [http://wwwtele2.ru TELE2] (GSM900/1800)&lt;br /&gt;
* [http://www.u-tel.ru/ Ютел]/Utel (GSM900/1800)&lt;br /&gt;
* [http://www2.sibirtelecom.ru/857 Сибирьтелеком]/Sibirtelecom (GSM-900/1800)&lt;br /&gt;
* [http://www.ncc.nnov.ru/ НСС]/NSS (GSM900/1800)&lt;br /&gt;
* [http://www.bwc.ru/ Байкалвестком]/Baykalvestcom (GSM900/1800)&lt;br /&gt;
&lt;br /&gt;
== Slovak Republic ==&lt;br /&gt;
All:&lt;br /&gt;
* [http://www.orange.sk/ Orange]&lt;br /&gt;
* [http://www.sk.o2.com/ o2]&lt;br /&gt;
* [http://www.t-mobile.sk/ T-mobile]&lt;br /&gt;
&lt;br /&gt;
== South Africa ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.vodacom.co.za/ Vodacom]&lt;br /&gt;
* [http://www.mtn.co.za/ MTN]&lt;br /&gt;
* [http://www.cellc.co.za/ Cell C]&lt;br /&gt;
&lt;br /&gt;
== Sweden ==&lt;br /&gt;
&lt;br /&gt;
Operators with their own physical networks:&lt;br /&gt;
* [http://comviq.se/ Comviq/Tele2]&lt;br /&gt;
* [http://www.telia.se/ Telia]&lt;br /&gt;
* [http://www.tre.se/ 3]&lt;br /&gt;
* [http://www.telenor.se Telenor]&lt;br /&gt;
&lt;br /&gt;
Virtual Operators:&lt;br /&gt;
* [http://www.tangomini.se TangoMini]&lt;br /&gt;
* [http://www.halebop.se Halebop]&lt;br /&gt;
* [http://www.djuice.se Djuice]&lt;br /&gt;
&lt;br /&gt;
== Switzerland ==&lt;br /&gt;
(all)&lt;br /&gt;
* [http://www.swisscom-mobile.ch/ Swisscom Mobile]&lt;br /&gt;
* [http://www.sunrise.ch/ Sunrise]&lt;br /&gt;
* [http://www.orange.ch/ Orange]&lt;br /&gt;
&lt;br /&gt;
== Taiwan ==&lt;br /&gt;
&lt;br /&gt;
* Chunghwa Telecom&lt;br /&gt;
* Far EasTone Telecommunications Co Ltd&lt;br /&gt;
* KG Telecom&lt;br /&gt;
* MobiTai&lt;br /&gt;
* Taiwan Mobile Co.Ltd&lt;br /&gt;
&lt;br /&gt;
== Ukraine ==&lt;br /&gt;
* [http://www.umc.ua/ UMC] (including virtual [http://www.jeans.com.ua/ Jeans], [http://www.ekotel.com.ua/ Ecotel])&lt;br /&gt;
* [http://www.kyivstar.net/ Kyivstar] (including virtual [http://www.djuice.com.ua/ DJUICE], [http://mobilych.com.ua/ Mobilych])&lt;br /&gt;
* [http://www.life.com.ua/ life:)]&lt;br /&gt;
* [http://www.beeline.ua/ Beeline]&lt;br /&gt;
* [http://gsm.goldentele.com/ Golden Telecom]&lt;br /&gt;
* [http://www.privatmobile.com.ua/ PrivatMobile]&lt;br /&gt;
&lt;br /&gt;
== United Kingdom ==&lt;br /&gt;
* [http://www.vodafone.co.uk/ Vodafone]&lt;br /&gt;
* [http://www.o2.co.uk/ O2]&lt;br /&gt;
* [http://www.orange.co.uk/ Orange]&lt;br /&gt;
* [http://www.t-mobile.co.uk/ T-mobile]&lt;br /&gt;
* [http://www.three.co.uk/ 3]&lt;br /&gt;
&lt;br /&gt;
== United States ==&lt;br /&gt;
&lt;br /&gt;
* [http://cingular.com/ AT&amp;amp;T] - (Was Cingular) &lt;br /&gt;
* [http://t-mobile.com/ T-Mobile]&lt;br /&gt;
* Other (more local) GSM-network providers can be found at [http://www.gsmworld.com/roaming/gsminfo/cou_us.shtml GSMworld.com]&lt;br /&gt;
* [http://www.unicel.com/ UNICEL] - A provider that has GPRS and EDGE in many parts of Northeast / New England. Coverage in ME, VT, NH, MA, NY. It is not listed at GSMworld. 850/1900 bands.&lt;br /&gt;
* Wikipedia has a list of providers and technologies [http://en.wikipedia.org/wiki/List_of_United_States_mobile_phone_companies here]. Only GSM networks are compatible with the Neo1973.&lt;br /&gt;
* [http://www.prepaidgsm.net/en/usa.html PrepaidGSM.net information about GSM prepaid cards in the USA]&lt;br /&gt;
&lt;br /&gt;
== Uruguay ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.ancel.com.uy/ Ancel] -&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Venezuela ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.digitel.com.ve/ Digitel] - This works on the 900Mhz band.&lt;br /&gt;
* [http://www.movistar.com.ve/ Movistar] - Previously named Telcel. It is moving from CDMA to GSM, but currently all its new phones are GSM. They work on the 850 Mhz band.&lt;br /&gt;
&lt;br /&gt;
== Rest of World (Africa, Asia, Australia, Europe, South America) ==&lt;br /&gt;
&lt;br /&gt;
* almost all use GSM thus they are compatible&lt;br /&gt;
&lt;br /&gt;
(More info available at: [http://www.gsmworld.com/roaming/gsminfo/index.shtml GSMworld.com])&lt;br /&gt;
{{Languages|Neo1973_compatible_cellphone_providers}}&lt;/div&gt;</summary>
		<author><name>Jas</name></author>	</entry>

	</feed>