Talk:MokoMakefile
From Openmoko
(Cannot satisfy fstests fix) |
(conflicting types for 'futimens') |
||
Line 342: | Line 342: | ||
* make openmoko-devel-image | * make openmoko-devel-image | ||
</pre> | </pre> | ||
+ | |||
+ | == conflicting types for 'futimens' == | ||
+ | |||
+ | if you encounter the following error: | ||
+ | |||
+ | |||
+ | | In file included from utimecmp.c:40: | ||
+ | | utimens.h:2: error: conflicting types for 'futimens' | ||
+ | | /usr/include/sys/stat.h:370: error: previous declaration of 'futimens' was here | ||
+ | |||
+ | a patch is needed because your glib is too new. grab & enable the patch as follows | ||
+ | |||
+ | cd openembedded/packages/coreutils | ||
+ | mv coreutils_5.3.0.bb coreutils_5.3.0.orig | ||
+ | wget http://www.openembedded.org/repo/org.openembedded.dev/packages/coreutils/coreutils_5.3.0.bb | ||
+ | cd - | ||
+ | cd openembedded/packages/coreutils/coreutils-5.3.0 | ||
+ | wget http://www.openembedded.org/repo/org.openembedded.dev/packages/coreutils/coreutils-5.3.0/futimens.patch | ||
+ | cd - |
Revision as of 18:28, 22 July 2007
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. 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
Cannot satisfy fstests
make openmoko-devel-image ... | Collected errors: | ERROR: Cannot satisfy the following dependencies for task-openmoko-debug: | fstests NOTE: Task failed: /no-backup/Moko/build/tmp/work/fic-gta01-linux/openmoko-devel-image-1.0-r0/temp/log.do_rootfs.25036 NOTE: package openmoko-devel-image-1.0-r0: task do_rootfs: failed ERROR: TaskFailed event exception, aborting
Failed on debian etch 2007-07-20 Solution from mailing list post from hardskinone, report of an irc chat
I got help in IRC channel. I do following steps * remove fstest from oe/packages/tasks/task-openmoko.bb , * increase PR field by one * make openmoko-devel-image
conflicting types for 'futimens'
if you encounter the following error:
| In file included from utimecmp.c:40: | utimens.h:2: error: conflicting types for 'futimens' | /usr/include/sys/stat.h:370: error: previous declaration of 'futimens' was here
a patch is needed because your glib is too new. grab & enable the patch as follows
cd openembedded/packages/coreutils mv coreutils_5.3.0.bb coreutils_5.3.0.orig wget http://www.openembedded.org/repo/org.openembedded.dev/packages/coreutils/coreutils_5.3.0.bb cd - cd openembedded/packages/coreutils/coreutils-5.3.0 wget http://www.openembedded.org/repo/org.openembedded.dev/packages/coreutils/coreutils-5.3.0/futimens.patch cd -