Сборка Openmoko на Ubuntu 8.10
Собрать Openmoko из исходников – это как пару раз пройтись по минному полю – туда и обратно
Здесь решение нескольких багов, которые возникли во время сборки. Может кому-то пригодится.
В Система -> Администрирование -> Источники приложений должны быть включены источники «Приложения с открытым исходным кодом, поддерживаемые компанией Canonical (main)» и «Свободное ПО, поддерживаемое сообществом (universe)»
Устанавливаем все необходимое:
sudo apt-get install monotone git-core git-svn git-email git-cvs git-arch gitk python-dev ccache m4 sed bison make cvs gawk libc6-dev g++ subversion sharutils docbook openjade quilt libmpfr-dev libpcre3-dev texinfo texi2html libboost-date-time-dev libboost-filesystem-dev libboost-regex-dev libboost-test-dev libboost-dev zlib1g-dev build-essential dh-make debhelper devscripts gcc-3.4 lynx netpbm libsdl1.2-dev dosfstools help2man python-psyco lynx
Создаем папку для openmoko:
mkdir openmoko
cd openmoko
Скачиваем Makefile для сборки:
wget http://svn.projects.openmoko.org/svnroot/mokomakefile/trunk/Makefile
Компилируем:
make
Скрипт сам скачает все что нужно из git и svn хранилищ.
Натыкаемся на грабли:
Добавляем в файл ./build/conf/local.conf строчку:
BBFILES = "/home/ghost/openmoko/openembedded/packages/*/*.bb"
MACHINE = "om-gta01"
DISTRO = "openmoko"
BUILD_ARCH = "i686"
INHERIT += "rm_work"
Снова запускаем make:
make
Следующие грабли – не собирается qemu:
...
ERROR: '/home/ghost/openmoko/openembedded/packages/qemu/qemu-native_0.9.1.bb' failed
NOTE: build 200903121638: completed
make: *** [openmoko-asu-image] Ошибка 1
В логе /openmoko/build/tmp/work/i686-linux/qemu-native-0.9.1-r7/temp/log.do_compile.10019 наблюдаем:
/home/ghost/openmoko/build/tmp/work/i686-linux/qemu-native-0.9.1-r7/qemu-0.9.1/linux-user/syscall.c:79:26: warning: linux/dirent.h: No such file or directory
Правим файл syscall.c в /openmoko/build/tmp/work/i686-linux/qemu-native-0.9.1-r7/qemu-0.9.1/linux-user/:
Ищем строчку:
#include <linux/dirent.h>
Меняем ее на:
#include <dirent.h>
Продолжаем сборку:
make
И опять ошибки:
NOTE: generating locale tr_CY (UTF-8)
Segmentation fault
NOTE: Task failed: localedef returned an error (command was PATH="/home/ghost/openmoko/build/tmp/staging/i686-linux/usr/bin/armv4t-angstrom-linux-gnueabi:/home/ghost/openmoko/build/tmp/staging/i686-linux/usr/sbin:/home/ghost/openmoko/build/tmp/staging/i686-linux/usr/bin:/home/ghost/openmoko/build/tmp/cross/armv4t/bin:/home/ghost/openmoko/build/tmp/staging/i686-linux/sbin:/home/ghost/openmoko/build/tmp/staging/i686-linux/bin:/home/ghost/openmoko/bitbake/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" I18NPATH="/home/ghost/openmoko/build/tmp/work/armv4t-angstrom-linux-gnueabi/glibc-2.6.1-r12/locale-tree//usr/share/i18n" qemu-arm -r 2.6.16 -L /home/ghost/openmoko/build/tmp/work/armv4t-angstrom-linux-gnueabi/glibc-2.6.1-r12/locale-tree /home/ghost/openmoko/build/tmp/work/armv4t-angstrom-linux-gnueabi/glibc-2.6.1-r12/locale-tree/bin/localedef --force --old-style --no-archive --prefix=/home/ghost/openmoko/build/tmp/work/armv4t-angstrom-linux-gnueabi/glibc-2.6.1-r12/locale-tree --inputfile=/usr/share/i18n/locales/tr_CY --charmap=UTF-8 tr_CY).
NOTE: package glibc-2.6.1-r12: task do_package: failed
ERROR: TaskFailed event exception, aborting
NOTE: package glibc-2.6.1: failed
Добавляем в файл ./build/conf/local.conf строчку:
ENABLE_BINARY_LOCALE_GENERATION = "0"
Продолжаем
make
Дальше надо набраться терпения;)
Распечатать
Другие записи:
- Сборка Google Chrome OS (Chromium OS) в Ubuntu 8.04
- Перекодируем видео для Explay M8 в openSUSE 11.1
- Создаем загрузочную флешку Russian Fedora Remix 11 в openSUSE 11.1
- Делаем из Acer Aspire One Playstation :)
- Установка SALOME-MECA 2009.1 в Ubuntu 8.10
- Ограничиваем права пользователя в оболочке c помощью Limited Shell (lshell) в Debian Lenny
- Устанавливаем SystemRescueCd на Flash
- Полезная заметка про screen и ssh
- Быстрая настройка openSUSE 11.1 для Acer Aspire One
- Установка OpenSSO в Linux (Ubuntu Server 8.04)

