Talk:MokoMakefile

From Openmoko

(Difference between revisions)
Jump to: navigation, search
m (do_compile fails with unreconized option '-Qy')
Line 77: Line 77:
  
 
I use bash for my shell and this seems to be caused by something in my .bashrc For now, I have just commented out my .bashrc for my builds. When I figure out what is really going on, I will put my findings here.
 
I use bash for my shell and this seems to be caused by something in my .bashrc For now, I have just commented out my .bashrc for my builds. When I figure out what is really going on, I will put my findings here.
 +
 +
It has something to do with the PATH variable. Try using "PATH=/bin:/usr/bin:/usr/local/bin make openmoko-devel-image" to get around it.
  
 
== (NOT FIXED) Fails on a 32bit machine ==
 
== (NOT FIXED) Fails on a 32bit machine ==

Revision as of 08:18, 20 July 2007

Contents

Required package

  make openmoko-devel-image

Failed on Ubuntu 7.04. Missing texi2html

sudo apt-get install texi2html

Fails trying to fetch uboot

on ubuntu edgy (with all the required sofware installed):

( cd build ; . ../setup-env ; \
          bitbake openmoko-devel-image )
NOTE: Using cache in '/content/build/tmp/cache/fic-gta01'
NOTE: Handling BitBake files: \ (4333/4333) [100 %]
NOTE: Parsing finished. 4149 cached, 0 parsed, 184 skipped, 0 masked.

NOTE: build 200704240008: started

OE Build Configuration:
BB_VERSION     = "1.6.7"
OE_REVISION    = "<unknown>"
TARGET_ARCH    = "arm"
TARGET_OS      = "linux"
MACHINE        = "fic-gta01"
DISTRO         = "openmoko"
DISTRO_VERSION = ".dev-snapshot-20070423"
TARGET_FPU     = "soft"

NOTE: preferred version 2.4 of glibc not available
NOTE: preferred version 2.4 of glibc-intermediate not available
NOTE: preferred version 2.4 of glibc not available
NOTE: Retrieved remote revisions: ['0', '1754', '0']
NOTE: Retrieved remote revisions: ['14da5f7675bbb427c469e3f45006e027b6e21db9', '0', '1811']
NOTE: package uboot-gta01-1.2.0+svnnow: started
NOTE: package uboot-gta01-1.2.0+svnnow-r4_14da5f7675bbb427c469e3f45006e027b6e21db9_0_1811: task do_fetch: started
fatal: corrupted pack file .git/objects/pack/pack-a146bcbc18f4826d6bf2a7f63be5dd77bbb5b2f5.pack
Fetch failure: git://www.denx.de/git/u-boot.git/
NOTE: Task failed: Fetch failed: Git: export PATH=/content/build/tmp/staging/i686-linux/bin/arm-linux:/content/build/tmp/staging/i686-linux/bin:/content/build/tmp/cross/bin:/content/bitbake/bin:/home/philip/work/trac/install/0.10-stable/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games; git pull git://www.denx.de/git/u-boot.git/ failed
NOTE: package uboot-gta01-1.2.0+svnnow-r4_14da5f7675bbb427c469e3f45006e027b6e21db9_0_1811: task do_fetch: failed
ERROR: TaskFailed event exception, aborting
NOTE: package uboot-gta01-1.2.0+svnnow: failed
ERROR: Build of openmoko-devel-image failed
make: *** [openmoko-devel-image] Fout 1

To fix this, upgrade git to 1.5.x. (1.4.x currently installed.)

Fails trying to download a TTF fonts. Workaround Below

Trying to build with the latest MokoMakefile fails with the following output:

...
NOTE: fetch http://downloads.openmoko.org/sources/dejavu-ttf-2.15.tar.bz2
--10:32:52--  http://downloads.openmoko.org/sources/dejavu-ttf-2.15.tar.bz2
           => `/home/nat/moko/sources/dejavu-ttf-2.15.tar.bz2'
Resolving downloads.openmoko.org... 88.198.93.219
Connecting to downloads.openmoko.org|88.198.93.219|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
10:32:52 ERROR 404: Not Found.

NOTE: Task failed: Fetch failed: http://heanet.dl.sf.net/dejavu/dejavu-ttf-2.15.tar.bz2
NOTE: package ttf-dejavu-2.15-r0: task do_fetch: failed
ERROR: TaskFailed event exception, aborting
NOTE: package ttf-dejavu-2.15: failed
ERROR: Build of openmoko-devel-image failed
make: *** [openmoko-devel-image] Error 1

To work around this problem, download from here http://dejavu.sourceforge.net/wiki/index.php/Download and save into the sources/ subdirectory beneath where you are running make. Then create a file named dejavu-ttf-2.15.tar.bz2.md5 alongside the tar.bz2 file that contains the MD5 checksum on that download page. Then issue the make command again and the build will pick up where it left off.

do_compile fails with unreconized option '-Qy'

I use bash for my shell and this seems to be caused by something in my .bashrc For now, I have just commented out my .bashrc for my builds. When I figure out what is really going on, I will put my findings here.

It has something to do with the PATH variable. Try using "PATH=/bin:/usr/bin:/usr/local/bin make openmoko-devel-image" to get around it.

(NOT FIXED) Fails on a 32bit machine

| make[5]: Entering directory `/usr/local/oe/build/tmp/work/armv4t-linux/binutil
s-cross-2.17-r0/binutils-2.17/build.x86_64-linux.arm-linux/bfd'
| /bin/sh ./libtool --mode=compile ccache  gcc -DHAVE_CONFIG_H -I. -I/usr/local/
oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17/bfd -I. -I. 
-I/usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd -I/usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils
-2.17/bfd/../include  -I/usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross
-2.17-r0/binutils-2.17/bfd/../intl -I../intl  -isystem/usr/local/oe/build/tmp/st
aging/x86_64-linux/include -W -Wall -Wstrict-prototypes -Wmissing-prototypes -We
rror -isystem/usr/local/oe/build/tmp/staging/x86_64-linux/include -O2 -c -o libb
fd.lo /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-
2.17/bfd/libbfd.c
| ccache gcc -DHAVE_CONFIG_H -I. -I/usr/local/oe/build/tmp/work/armv4t-linux/bin
utils-cross-2.17-r0/binutils-2.17/bfd -I. -I. -I/usr/local/oe/build/tmp/work/arm
v4t-linux/binutils-cross-2.17-r0/binutils-2.17/bfd -I/usr/local/oe/build/tmp/wor
k/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17/bfd/../include -I/usr/local/
oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17/bfd/../intl 
-I../intl -isystem/usr/local/oe/build/tmp/staging/x86_64-linux/include -W -Wall 
-Wstrict-prototypes -Wmissing-prototypes -Werror -isystem/usr/local/oe/build/tmp
/staging/x86_64-linux/include -O2 -c /usr/local/oe/build/tmp/work/armv4t-linux/b
inutils-cross-2.17-r0/binutils-2.17/bfd/libbfd.c -o libbfd.o
| cc1: warnings being treated as errors
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c: In function 'bfd_getb_signed_64':
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:662: warning: left shift count >= width of type
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:662: warning: left shift count >= width of type
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c: In function 'bfd_getl_signed_64':
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:685: warning: left shift count >= width of type
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:685: warning: left shift count >= width of type
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c: In function 'bfd_putb64':
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:717: warning: right shift count >= width of type
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:718: warning: right shift count >= width of type
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:719: warning: right shift count >= width of type
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:720: warning: right shift count >= width of type
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c: In function 'bfd_putl64':
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:735: warning: right shift count >= width of type
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:736: warning: right shift count >= width of type
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:737: warning: right shift count >= width of type
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:738: warning: right shift count >= width of type
| make[5]: *** [libbfd.lo] Error 1

Any insight here? --Adam 23:10, 15 May 2007 (CEST)

Building on Fedora Core 6

Install stuff needed for OpenMoko:

 # yum install python m4 make wget curl ftp cvs monotone subversion \
   tar bzip2 gzip unzip python-psyco ccache perl texinfo texi2html \
   diffstat openjade docbook-style-dsssl docbook-style-xsl docbook-dtds \
   docbook-utils sed bison bc glibc-devel gcc binutils pcre pcre-devel git \
   quilt groff linuxdoc-tools patch compat-gcc-34 lynx netpbm

(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 "sleep" errors when trying to build without lynx).

Build it:

 $ make setup
 $ make openmoko-devel-image
 $ unset LD_LIBRARY_PATH
 $ make update-makefile && make update && make setup && make openmoko-devel-image

I have also done a

 $ unset LD_LIBRARY_PATH; make update-makefile && nice  make update && nice make setup && nice make all

(This takes several hours)

Build qemu:

 $ make qemu

Run it:

 # echo 1024 > /proc/sys/dev/rtc/max-user-freq
 $ make run-qemu

This will bring up the OpenMoko :) Use SPACE for AUX and ENTER for POWER. 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!

U-Boot compilation fails

Currently OpenMoko always uses the latest U-Boot sources. That causes problems because sometimes the patches OpenMoko wants to add to U-Boot do not fit anymore. Later on the build fails.

A workaround would is to modify openembedded/packages/uboot/uboot-gta01_svn.bb and change the first entry in SRC_URI to: git://www.denx.de/git/u-boot.git/;protocol=git;tag=c0c292b2852a12e9d93e99b3aaf5b0dac5f36fdc

IMPORTANT: As this is only a workaround do not flash the resulting U-Boot image onto the device. Use an official build instead.

Fails trying to build bluez-utils

on Gentoo Linux, it fails compiling bluez-utils (I've tried also "make clean-package-bluez-utils" before the following command)

$ make build-package-bluez-utils
( . ./setup-env ; cd build ; bitbake -c build bluez-utils )
NOTE: Using cache in '/home/moko/build/tmp/cache/fic-gta01'
NOTE: Handling BitBake files: | (4353/4353) [100 %]
NOTE: Parsing finished. 4171 cached, 0 parsed, 182 skipped, 0 masked.

NOTE: build 200707130914: started

OE Build Configuration:
BB_VERSION     = "1.6.9"
OE_REVISION    = "<unknown>"
TARGET_ARCH    = "arm"
TARGET_OS      = "linux"
MACHINE        = "fic-gta01"
DISTRO         = "openmoko"
DISTRO_VERSION = ".dev-snapshot-20070713"
TARGET_FPU     = "soft"

NOTE: preferred version 2.4 of glibc not available
NOTE: preferred version 2.4 of glibc-intermediate not available
NOTE: preferred version 2.4 of glibc not available
NOTE: package bluez-utils-3.9: started
NOTE: package bluez-utils-3.9-r2: task do_fetch: started
NOTE: package bluez-utils-3.9-r2: task do_fetch: completed
NOTE: package bluez-utils-3.9-r2: task do_unpack: started
NOTE: Unpacking /home/moko/sources/bluez-utils-3.9.tar.gz to /home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/
NOTE: Unpacking /home/moko/openembedded/packages/bluez/bluez-utils/hcid.conf to /home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/
NOTE: Unpacking /home/moko/openembedded/packages/bluez/bluez-utils/02dtl1_cs.sh to /home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/
NOTE: package bluez-utils-3.9-r2: task do_unpack: completed
NOTE: package bluez-utils-3.9-r2: task do_patch: started
NOTE: Applying patch 'hciattach-ti-bts.patch'
NOTE: Applying patch 'handle-eintr.patch'
NOTE: Applying patch 'default-manfid-0x0-to-bcps.patch'
NOTE: package bluez-utils-3.9-r2: task do_patch: completed
NOTE: package bluez-utils-3.9-r2: task do_configure: started
NOTE: package bluez-utils-3.9-r2: task do_configure: completed
NOTE: package bluez-utils-3.9-r2: task do_compile: started
ERROR: function do_compile failed

[...]

| if arm-linux-gcc -march=armv4t -mtune=arm920t -DHAVE_CONFIG_H -I. -I/home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/bluez-utils-3.9/tools -I.. -I/home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/bluez-utils-3.9/common  -isystem/home/moko/build/tmp/staging/arm-linux/include -I/home/moko/build/tmp/staging/arm-linux/include   -I/home/moko/build/tmp/staging/i686-linux/include   -isystem/home/moko/build/tmp/staging/arm-linux/include -O -g -D_FORTIFY_SOURCE=2 -MT hid2hci.o -MD -MP -MF ".deps/hid2hci.Tpo" -c -o hid2hci.o hid2hci.c; \
|       then mv -f ".deps/hid2hci.Tpo" ".deps/hid2hci.Po"; else rm -f ".deps/hid2hci.Tpo"; exit 1; fi
| hid2hci.c:40: error: static declaration of ‘usb_get_busses’ follows non-static declaration
| /home/moko/build/tmp/staging/i686-linux/include/usb.h:330: error: previous declaration of ‘usb_get_busses’ was here
| make[3]: *** [hid2hci.o] Error 1
| make[3]: Leaving directory `/home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/bluez-utils-3.9/tools'
| make[2]: *** [all-recursive] Error 1
| make[2]: Leaving directory `/home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/bluez-utils-3.9'
| make[1]: *** [all] Error 2
| make[1]: Leaving directory `/home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/bluez-utils-3.9'
| FATAL: oe_runmake failed
NOTE: Task failed: /home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/temp/log.do_compile.11907
NOTE: package bluez-utils-3.9-r2: task do_compile: failed
ERROR: TaskFailed event exception, aborting
NOTE: package bluez-utils-3.9: failed
ERROR: Build of bluez-utils failed
make: *** [build-package-bluez-utils] Error 1

I've tried also removing the "static" keyword from /home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/bluez-utils-3.9/tools/hid2hci.c:40 (which gives the above error) and I get another error:

[...]

| arm-linux-gcc -march=armv4t -mtune=arm920t -I/home/moko/build/tmp/staging/arm-linux/include -I/home/moko/build/tmp/staging/i686-linux/include -isystem/home/moko/build/tmp/staging/arm-linux/include -O -g -D_FORTIFY_SOURCE=2 -Wl,-rpath-link -Wl,/home/moko/build/tmp/staging/arm-linux/lib -Wl,-O1 -o hid2hci hid2hci.o  -L/home/moko/build/tmp/staging/arm-linux/lib -L/home/moko/build/tmp/staging/i686-linux/lib /home/moko/build/tmp/staging/i686-linux/lib/libusb.so -Wl,--rpath -Wl,/home/moko/build/tmp/staging/i686-linux/lib -Wl,--rpath -Wl,/home/moko/build/tmp/staging/i686-linux/lib
| /home/moko/build/tmp/staging/i686-linux/lib/libusb.so: could not read symbols: File in wrong format
| collect2: ld returned 1 exit status
| make[3]: *** [hid2hci] Error 1
| make[3]: Leaving directory `/home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/bluez-utils-3.9/tools'
| make[2]: *** [all-recursive] Error 1
| make[2]: Leaving directory `/home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/bluez-utils-3.9'
| make[1]: *** [all] Error 2
| make[1]: Leaving directory `/home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/bluez-utils-3.9'
| FATAL: oe_runmake failed
NOTE: Task failed: /home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/temp/log.do_compile.20770
NOTE: package bluez-utils-3.9-r2: task do_compile: failed
ERROR: TaskFailed event exception, aborting
NOTE: package bluez-utils-3.9: failed
ERROR: Build of bluez-utils failed
make: *** [build-package-bluez-utils] Error 1
$ file /home/moko/build/tmp/staging/i686-linux/lib/libusb-0.1.so.4.4.4 
/home/moko/build/tmp/staging/i686-linux/lib/libusb-0.1.so.4.4.4: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped

Shouldn't libusb be compiled for ARM and not for 80386?

openSUSE 10.2 workarounds

ltrace package fails to build with error:

...
checking for pid_t... yes
checking for getopt... yes
checking for getopt_long... yes
checking gelf.h usability... no
checking gelf.h presence... no
checking for gelf.h... no
configure: error: ***** gelf.h not found *****
FATAL: oe_runconf failed

FIX: edit /home/moko/build/tmp/work/armv4t-linux/ltrace-0.4-r0/ltrace-0.4/configure.ac at line 44: remove the following block:

for path in /usr/include/elfutils /usr/local/include/elfutils \
       /usr/include/libelf /usr/local/include/libelf; do
   if test -f ${path}/gelf.h; then
       CPPFLAGS="$CPPFLAGS -I ${path}"
   fi
done

( it adds /usr/include/elfutils to path, which causes cross-compile badness error )


QEMU fails to build usb-linux.c with error:

/usr/include/linux/usbdevice_fs.h:116: error: variable or field `__user' declared void
/usr/include/linux/usbdevice_fs.h:116: error: syntax error before '*' token
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c: In function `usb_host_handle_control':
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c:103: error: invalid application of `sizeof' to incomplete type `usbdevfs_ctrltran
sfer'
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c: In function `usb_host_handle_data':
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c:120: error: storage size of 'bt' isn't known
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c:132: error: invalid application of `sizeof' to incomplete type `usbdevfs_bulktran
sfer'
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c:120: warning: unused variable `bt'
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c: In function `usb_host_device_open':
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c:199: error: storage size of 'ctrl' isn't known
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c:202: error: invalid application of `sizeof' to incomplete type `usbdevfs_ioctl'
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c:199: warning: unused variable `ctrl'
make[2]: *** [usb-linux.o] Error 1

FIX: edit /home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c at line 29 add the following (before #include <linux/usbdevice_fs.h>)

#include <linux/compiler.h>

see: http://osdir.com/ml/emulators.kvm.devel/2007-01/msg00101.html

Personal tools

Required package

  make openmoko-devel-image

Failed on Ubuntu 7.04. Missing texi2html

sudo apt-get install texi2html

Fails trying to fetch uboot

on ubuntu edgy (with all the required sofware installed):

( cd build ; . ../setup-env ; \
          bitbake openmoko-devel-image )
NOTE: Using cache in '/content/build/tmp/cache/fic-gta01'
NOTE: Handling BitBake files: \ (4333/4333) [100 %]
NOTE: Parsing finished. 4149 cached, 0 parsed, 184 skipped, 0 masked.

NOTE: build 200704240008: started

OE Build Configuration:
BB_VERSION     = "1.6.7"
OE_REVISION    = "<unknown>"
TARGET_ARCH    = "arm"
TARGET_OS      = "linux"
MACHINE        = "fic-gta01"
DISTRO         = "openmoko"
DISTRO_VERSION = ".dev-snapshot-20070423"
TARGET_FPU     = "soft"

NOTE: preferred version 2.4 of glibc not available
NOTE: preferred version 2.4 of glibc-intermediate not available
NOTE: preferred version 2.4 of glibc not available
NOTE: Retrieved remote revisions: ['0', '1754', '0']
NOTE: Retrieved remote revisions: ['14da5f7675bbb427c469e3f45006e027b6e21db9', '0', '1811']
NOTE: package uboot-gta01-1.2.0+svnnow: started
NOTE: package uboot-gta01-1.2.0+svnnow-r4_14da5f7675bbb427c469e3f45006e027b6e21db9_0_1811: task do_fetch: started
fatal: corrupted pack file .git/objects/pack/pack-a146bcbc18f4826d6bf2a7f63be5dd77bbb5b2f5.pack
Fetch failure: git://www.denx.de/git/u-boot.git/
NOTE: Task failed: Fetch failed: Git: export PATH=/content/build/tmp/staging/i686-linux/bin/arm-linux:/content/build/tmp/staging/i686-linux/bin:/content/build/tmp/cross/bin:/content/bitbake/bin:/home/philip/work/trac/install/0.10-stable/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games; git pull git://www.denx.de/git/u-boot.git/ failed
NOTE: package uboot-gta01-1.2.0+svnnow-r4_14da5f7675bbb427c469e3f45006e027b6e21db9_0_1811: task do_fetch: failed
ERROR: TaskFailed event exception, aborting
NOTE: package uboot-gta01-1.2.0+svnnow: failed
ERROR: Build of openmoko-devel-image failed
make: *** [openmoko-devel-image] Fout 1

To fix this, upgrade git to 1.5.x. (1.4.x currently installed.)

Fails trying to download a TTF fonts. Workaround Below

Trying to build with the latest MokoMakefile fails with the following output:

...
NOTE: fetch http://downloads.openmoko.org/sources/dejavu-ttf-2.15.tar.bz2
--10:32:52--  http://downloads.openmoko.org/sources/dejavu-ttf-2.15.tar.bz2
           => `/home/nat/moko/sources/dejavu-ttf-2.15.tar.bz2'
Resolving downloads.openmoko.org... 88.198.93.219
Connecting to downloads.openmoko.org|88.198.93.219|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
10:32:52 ERROR 404: Not Found.

NOTE: Task failed: Fetch failed: http://heanet.dl.sf.net/dejavu/dejavu-ttf-2.15.tar.bz2
NOTE: package ttf-dejavu-2.15-r0: task do_fetch: failed
ERROR: TaskFailed event exception, aborting
NOTE: package ttf-dejavu-2.15: failed
ERROR: Build of openmoko-devel-image failed
make: *** [openmoko-devel-image] Error 1

To work around this problem, download from here http://dejavu.sourceforge.net/wiki/index.php/Download and save into the sources/ subdirectory beneath where you are running make. Then create a file named dejavu-ttf-2.15.tar.bz2.md5 alongside the tar.bz2 file that contains the MD5 checksum on that download page. Then issue the make command again and the build will pick up where it left off.

do_compile fails with unreconized option '-Qy'

I use bash for my shell and this seems to be caused by something in my .bashrc For now, I have just commented out my .bashrc for my builds. When I figure out what is really going on, I will put my findings here.

It has something to do with the PATH variable. Try using "PATH=/bin:/usr/bin:/usr/local/bin make openmoko-devel-image" to get around it.

(NOT FIXED) Fails on a 32bit machine

| make[5]: Entering directory `/usr/local/oe/build/tmp/work/armv4t-linux/binutil
s-cross-2.17-r0/binutils-2.17/build.x86_64-linux.arm-linux/bfd'
| /bin/sh ./libtool --mode=compile ccache  gcc -DHAVE_CONFIG_H -I. -I/usr/local/
oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17/bfd -I. -I. 
-I/usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd -I/usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils
-2.17/bfd/../include  -I/usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross
-2.17-r0/binutils-2.17/bfd/../intl -I../intl  -isystem/usr/local/oe/build/tmp/st
aging/x86_64-linux/include -W -Wall -Wstrict-prototypes -Wmissing-prototypes -We
rror -isystem/usr/local/oe/build/tmp/staging/x86_64-linux/include -O2 -c -o libb
fd.lo /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-
2.17/bfd/libbfd.c
| ccache gcc -DHAVE_CONFIG_H -I. -I/usr/local/oe/build/tmp/work/armv4t-linux/bin
utils-cross-2.17-r0/binutils-2.17/bfd -I. -I. -I/usr/local/oe/build/tmp/work/arm
v4t-linux/binutils-cross-2.17-r0/binutils-2.17/bfd -I/usr/local/oe/build/tmp/wor
k/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17/bfd/../include -I/usr/local/
oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17/bfd/../intl 
-I../intl -isystem/usr/local/oe/build/tmp/staging/x86_64-linux/include -W -Wall 
-Wstrict-prototypes -Wmissing-prototypes -Werror -isystem/usr/local/oe/build/tmp
/staging/x86_64-linux/include -O2 -c /usr/local/oe/build/tmp/work/armv4t-linux/b
inutils-cross-2.17-r0/binutils-2.17/bfd/libbfd.c -o libbfd.o
| cc1: warnings being treated as errors
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c: In function 'bfd_getb_signed_64':
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:662: warning: left shift count >= width of type
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:662: warning: left shift count >= width of type
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c: In function 'bfd_getl_signed_64':
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:685: warning: left shift count >= width of type
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:685: warning: left shift count >= width of type
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c: In function 'bfd_putb64':
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:717: warning: right shift count >= width of type
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:718: warning: right shift count >= width of type
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:719: warning: right shift count >= width of type
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:720: warning: right shift count >= width of type
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c: In function 'bfd_putl64':
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:735: warning: right shift count >= width of type
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:736: warning: right shift count >= width of type
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:737: warning: right shift count >= width of type
| /usr/local/oe/build/tmp/work/armv4t-linux/binutils-cross-2.17-r0/binutils-2.17
/bfd/libbfd.c:738: warning: right shift count >= width of type
| make[5]: *** [libbfd.lo] Error 1

Any insight here? --Adam 23:10, 15 May 2007 (CEST)

Building on Fedora Core 6

Install stuff needed for OpenMoko:

 # yum install python m4 make wget curl ftp cvs monotone subversion \
   tar bzip2 gzip unzip python-psyco ccache perl texinfo texi2html \
   diffstat openjade docbook-style-dsssl docbook-style-xsl docbook-dtds \
   docbook-utils sed bison bc glibc-devel gcc binutils pcre pcre-devel git \
   quilt groff linuxdoc-tools patch compat-gcc-34 lynx netpbm

(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 "sleep" errors when trying to build without lynx).

Build it:

 $ make setup
 $ make openmoko-devel-image
 $ unset LD_LIBRARY_PATH
 $ make update-makefile && make update && make setup && make openmoko-devel-image

I have also done a

 $ unset LD_LIBRARY_PATH; make update-makefile && nice  make update && nice make setup && nice make all

(This takes several hours)

Build qemu:

 $ make qemu

Run it:

 # echo 1024 > /proc/sys/dev/rtc/max-user-freq
 $ make run-qemu

This will bring up the OpenMoko :) Use SPACE for AUX and ENTER for POWER. 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!

U-Boot compilation fails

Currently OpenMoko always uses the latest U-Boot sources. That causes problems because sometimes the patches OpenMoko wants to add to U-Boot do not fit anymore. Later on the build fails.

A workaround would is to modify openembedded/packages/uboot/uboot-gta01_svn.bb and change the first entry in SRC_URI to: git://www.denx.de/git/u-boot.git/;protocol=git;tag=c0c292b2852a12e9d93e99b3aaf5b0dac5f36fdc

IMPORTANT: As this is only a workaround do not flash the resulting U-Boot image onto the device. Use an official build instead.

Fails trying to build bluez-utils

on Gentoo Linux, it fails compiling bluez-utils (I've tried also "make clean-package-bluez-utils" before the following command)

$ make build-package-bluez-utils
( . ./setup-env ; cd build ; bitbake -c build bluez-utils )
NOTE: Using cache in '/home/moko/build/tmp/cache/fic-gta01'
NOTE: Handling BitBake files: | (4353/4353) [100 %]
NOTE: Parsing finished. 4171 cached, 0 parsed, 182 skipped, 0 masked.

NOTE: build 200707130914: started

OE Build Configuration:
BB_VERSION     = "1.6.9"
OE_REVISION    = "<unknown>"
TARGET_ARCH    = "arm"
TARGET_OS      = "linux"
MACHINE        = "fic-gta01"
DISTRO         = "openmoko"
DISTRO_VERSION = ".dev-snapshot-20070713"
TARGET_FPU     = "soft"

NOTE: preferred version 2.4 of glibc not available
NOTE: preferred version 2.4 of glibc-intermediate not available
NOTE: preferred version 2.4 of glibc not available
NOTE: package bluez-utils-3.9: started
NOTE: package bluez-utils-3.9-r2: task do_fetch: started
NOTE: package bluez-utils-3.9-r2: task do_fetch: completed
NOTE: package bluez-utils-3.9-r2: task do_unpack: started
NOTE: Unpacking /home/moko/sources/bluez-utils-3.9.tar.gz to /home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/
NOTE: Unpacking /home/moko/openembedded/packages/bluez/bluez-utils/hcid.conf to /home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/
NOTE: Unpacking /home/moko/openembedded/packages/bluez/bluez-utils/02dtl1_cs.sh to /home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/
NOTE: package bluez-utils-3.9-r2: task do_unpack: completed
NOTE: package bluez-utils-3.9-r2: task do_patch: started
NOTE: Applying patch 'hciattach-ti-bts.patch'
NOTE: Applying patch 'handle-eintr.patch'
NOTE: Applying patch 'default-manfid-0x0-to-bcps.patch'
NOTE: package bluez-utils-3.9-r2: task do_patch: completed
NOTE: package bluez-utils-3.9-r2: task do_configure: started
NOTE: package bluez-utils-3.9-r2: task do_configure: completed
NOTE: package bluez-utils-3.9-r2: task do_compile: started
ERROR: function do_compile failed

[...]

| if arm-linux-gcc -march=armv4t -mtune=arm920t -DHAVE_CONFIG_H -I. -I/home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/bluez-utils-3.9/tools -I.. -I/home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/bluez-utils-3.9/common  -isystem/home/moko/build/tmp/staging/arm-linux/include -I/home/moko/build/tmp/staging/arm-linux/include   -I/home/moko/build/tmp/staging/i686-linux/include   -isystem/home/moko/build/tmp/staging/arm-linux/include -O -g -D_FORTIFY_SOURCE=2 -MT hid2hci.o -MD -MP -MF ".deps/hid2hci.Tpo" -c -o hid2hci.o hid2hci.c; \
|       then mv -f ".deps/hid2hci.Tpo" ".deps/hid2hci.Po"; else rm -f ".deps/hid2hci.Tpo"; exit 1; fi
| hid2hci.c:40: error: static declaration of ‘usb_get_busses’ follows non-static declaration
| /home/moko/build/tmp/staging/i686-linux/include/usb.h:330: error: previous declaration of ‘usb_get_busses’ was here
| make[3]: *** [hid2hci.o] Error 1
| make[3]: Leaving directory `/home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/bluez-utils-3.9/tools'
| make[2]: *** [all-recursive] Error 1
| make[2]: Leaving directory `/home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/bluez-utils-3.9'
| make[1]: *** [all] Error 2
| make[1]: Leaving directory `/home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/bluez-utils-3.9'
| FATAL: oe_runmake failed
NOTE: Task failed: /home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/temp/log.do_compile.11907
NOTE: package bluez-utils-3.9-r2: task do_compile: failed
ERROR: TaskFailed event exception, aborting
NOTE: package bluez-utils-3.9: failed
ERROR: Build of bluez-utils failed
make: *** [build-package-bluez-utils] Error 1

I've tried also removing the "static" keyword from /home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/bluez-utils-3.9/tools/hid2hci.c:40 (which gives the above error) and I get another error:

[...]

| arm-linux-gcc -march=armv4t -mtune=arm920t -I/home/moko/build/tmp/staging/arm-linux/include -I/home/moko/build/tmp/staging/i686-linux/include -isystem/home/moko/build/tmp/staging/arm-linux/include -O -g -D_FORTIFY_SOURCE=2 -Wl,-rpath-link -Wl,/home/moko/build/tmp/staging/arm-linux/lib -Wl,-O1 -o hid2hci hid2hci.o  -L/home/moko/build/tmp/staging/arm-linux/lib -L/home/moko/build/tmp/staging/i686-linux/lib /home/moko/build/tmp/staging/i686-linux/lib/libusb.so -Wl,--rpath -Wl,/home/moko/build/tmp/staging/i686-linux/lib -Wl,--rpath -Wl,/home/moko/build/tmp/staging/i686-linux/lib
| /home/moko/build/tmp/staging/i686-linux/lib/libusb.so: could not read symbols: File in wrong format
| collect2: ld returned 1 exit status
| make[3]: *** [hid2hci] Error 1
| make[3]: Leaving directory `/home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/bluez-utils-3.9/tools'
| make[2]: *** [all-recursive] Error 1
| make[2]: Leaving directory `/home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/bluez-utils-3.9'
| make[1]: *** [all] Error 2
| make[1]: Leaving directory `/home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/bluez-utils-3.9'
| FATAL: oe_runmake failed
NOTE: Task failed: /home/moko/build/tmp/work/armv4t-linux/bluez-utils-3.9-r2/temp/log.do_compile.20770
NOTE: package bluez-utils-3.9-r2: task do_compile: failed
ERROR: TaskFailed event exception, aborting
NOTE: package bluez-utils-3.9: failed
ERROR: Build of bluez-utils failed
make: *** [build-package-bluez-utils] Error 1
$ file /home/moko/build/tmp/staging/i686-linux/lib/libusb-0.1.so.4.4.4 
/home/moko/build/tmp/staging/i686-linux/lib/libusb-0.1.so.4.4.4: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped

Shouldn't libusb be compiled for ARM and not for 80386?

openSUSE 10.2 workarounds

ltrace package fails to build with error:

...
checking for pid_t... yes
checking for getopt... yes
checking for getopt_long... yes
checking gelf.h usability... no
checking gelf.h presence... no
checking for gelf.h... no
configure: error: ***** gelf.h not found *****
FATAL: oe_runconf failed

FIX: edit /home/moko/build/tmp/work/armv4t-linux/ltrace-0.4-r0/ltrace-0.4/configure.ac at line 44: remove the following block:

for path in /usr/include/elfutils /usr/local/include/elfutils \
       /usr/include/libelf /usr/local/include/libelf; do
   if test -f ${path}/gelf.h; then
       CPPFLAGS="$CPPFLAGS -I ${path}"
   fi
done

( it adds /usr/include/elfutils to path, which causes cross-compile badness error )


QEMU fails to build usb-linux.c with error:

/usr/include/linux/usbdevice_fs.h:116: error: variable or field `__user' declared void
/usr/include/linux/usbdevice_fs.h:116: error: syntax error before '*' token
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c: In function `usb_host_handle_control':
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c:103: error: invalid application of `sizeof' to incomplete type `usbdevfs_ctrltran
sfer'
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c: In function `usb_host_handle_data':
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c:120: error: storage size of 'bt' isn't known
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c:132: error: invalid application of `sizeof' to incomplete type `usbdevfs_bulktran
sfer'
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c:120: warning: unused variable `bt'
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c: In function `usb_host_device_open':
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c:199: error: storage size of 'ctrl' isn't known
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c:202: error: invalid application of `sizeof' to incomplete type `usbdevfs_ioctl'
/home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c:199: warning: unused variable `ctrl'
make[2]: *** [usb-linux.o] Error 1

FIX: edit /home/moko/openmoko/trunk/src/host/qemu-neo1973/usb-linux.c at line 29 add the following (before #include <linux/usbdevice_fs.h>)

#include <linux/compiler.h>

see: http://osdir.com/ml/emulators.kvm.devel/2007-01/msg00101.html