Talk:MokoMakefile

From Openmoko

Revision as of 22:36, 21 May 2007 by Alexgenaud (Talk | contribs)

Jump to: navigation, search

Contents

Make in parts

I have failed to build a few times (and shall continue to try). I've copied the '/home/moko' directory after the 'make setup' step and had restored the directory on each fail. However, I now suspect this might not be too wise and I'm starting over from scratch because I'm using nightly builds from a previous day -- perhaps that's all part of my trouble.

Can I consider a successful 'make setup' a stable platform to perform the final build (on any day) or am I correct to start over from scratch again. Is it possible to resume a build after failure or to keep svn/downloaded files for faster retrieval?

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.

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!

Personal tools

Make in parts

I have failed to build a few times (and shall continue to try). I've copied the '/home/moko' directory after the 'make setup' step and had restored the directory on each fail. However, I now suspect this might not be too wise and I'm starting over from scratch because I'm using nightly builds from a previous day -- perhaps that's all part of my trouble.

Can I consider a successful 'make setup' a stable platform to perform the final build (on any day) or am I correct to start over from scratch again. Is it possible to resume a build after failure or to keep svn/downloaded files for faster retrieval?

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.

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!