Dimchansky 0 6 августа, 2007 Опубликовано 6 августа, 2007 · Жалоба Доброго времени суток, Попробовал следовать инструкции на страничке: http://heavy-online.ru/arm-linux/ предварительно скачав все нужные файлы. Делал пошагово (применял все патчи), а на сборке glibc, где написано, что собирается очень долго и можно идти пить пиво, конкретно на строчке: make 2>&1 | tee make.out пива попить не удалось, т.к. тут же вывалился с ошибкой: arm-linux-gcc version.c -c -std=gnu99 -O2 -Wall -Winline -Wstrict-prototypes -Wwrite-strings -g -I../include -I. -I/usr/local/arm/src/BUILD/glibc-2.3.6/csu -I.. -I../libio -I/usr/local/arm/src/BUILD/glibc-2.3.6 -I../sysdeps/arm/elf -I../linuxthreads/sysdeps/unix/sysv/linux/arm -I../linuxthreads/sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/pthread -I../sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv -I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/arm -I../sysdeps/unix/sysv/linux/arm -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../sysdeps/unix/arm -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/arm -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -nostdinc -isystem /usr/local/arm/lib/gcc/arm-linux/3.4.6/include -isystem /usr/local/arm/sysroot/usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DHAVE_INITFINI -o /usr/local/arm/src/BUILD/glibc-2.3.6/csu/version.o -MD -MP -MF /usr/local/arm/src/BUILD/glibc-2.3.6/csu/version.o.dt -MT /usr/local/arm/src/BUILD/glibc-2.3.6/csu/version.o In file included from version.c:33: /usr/local/arm/src/BUILD/glibc-2.3.6/csu/version-info.h:2: error: missing terminating " character /usr/local/arm/src/BUILD/glibc-2.3.6/csu/version-info.h:3: error: missing terminating " character version.c:40: error: syntax error before string constant make[2]: *** [/usr/local/arm/src/BUILD/glibc-2.3.6/csu/version.o] Ошибка 1 make[2]: Leaving directory `/usr/local/arm/src/glibc-2.3.6/csu' make[1]: *** [csu/subdir_lib] Ошибка 2 make[1]: Leaving directory `/usr/local/arm/src/glibc-2.3.6' make: *** [all] Ошибка 2 В чём может быть проблема? Может быть нужно ещё какие-то патчи наложить? Я накладывал все, что нашёл в http://heavy-online.ru/arm-linux/files/packages/patches/ Собираю всё под Ubuntu Feisty 7.04 в Vmware. Есть идеи? UPDATE Похоже, нашёл в чём проблема. Проблема в dash, который используется в Ubuntu в качестве шелла по умолчанию. Люди предлагают два варианта: 1. Патчить Makeconfig 2. Поменять dash на bash Второй мне кажется проще, чем каждый раз патчить Makeconfig. Узнаём, какой шелл используется по умолчанию: ls -la /bin/sh Меняем на bash: sudo ln -sf /bin/bash /bin/sh Завтра проверю, поможет ли. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Make_Pic 0 7 августа, 2007 Опубликовано 7 августа, 2007 · Жалоба А меня интересует то-же сборка, но под WIN с использованием CYGWIN - Кто нибудь здесь может рассказать последовательность сборки по шагам и какие пакеты программ надо иметь для сборки? Может не совсем в тему - речь идет о сборке GCC под ядро MC68000 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimchansky 0 7 августа, 2007 Опубликовано 7 августа, 2007 · Жалоба А меня интересует то-же сборка, но под WIN с использованием CYGWIN - Я бы всё-таки рекомендовал Linux под VMware. Linux сейчас достаточно дружественная система, устанавливается не сложнее WinXP. Если трафик дорогой, то можно заказать тот же диск с Ubuntu за бесплатно (нахаляву). В 6-ой версии VMWare вообще облегчили жизнь в том плане, что операции drag-and-drop работают между ОС, есть сразу общая папка, общий буфер обмена, даже не замечаешь, что работаешь сразу в двух ОС, складывается впечатление, что это просто окошко с программой. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Странник 0 7 августа, 2007 Опубликовано 7 августа, 2007 · Жалоба А если есть тулчейн, на асме для мэйнлупа его использовать можно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Paramedic 0 26 ноября, 2007 Опубликовано 26 ноября, 2007 · Жалоба Следую инструкции на странице http://heavy-online.ru/arm-linux/ и не могу преодолеть этап сборки glibc. При попытке выполнения: BUILD_CC=gcc CC=${CROSS_COMPILE}gcc AR=${CROSS_COMPILE}ar \ RANLIB=${CROSS_COMPILE}ranlib AS=${CROSS_COMPILE}as LD=${CROSS_COMPILE}ld \ ../../glibc-2.3.6/configure --prefix=/usr --build=i386-unknown-linux \ --host=arm-linux --target=arm-linux --without-fp \ --without-__thread --enable-add-ons=linuxthreads \ --with-headers=${SYSROOT}/usr/include 2>&1 | tee configure.out Получаю вот что: ... checking for suffix of object files... configure: error: cannot compute suffix of object files: cannot compile Чтобы это значило? Собираю всё под Ubuntu 7.04. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andron86 0 26 ноября, 2007 Опубликовано 26 ноября, 2007 · Жалоба Следую инструкции на странице http://heavy-online.ru/arm-linux/ и не могу преодолеть этап сборки glibc. При попытке выполнения: BUILD_CC=gcc CC=${CROSS_COMPILE}gcc AR=${CROSS_COMPILE}ar \ RANLIB=${CROSS_COMPILE}ranlib AS=${CROSS_COMPILE}as LD=${CROSS_COMPILE}ld \ ../../glibc-2.3.6/configure --prefix=/usr --build=i386-unknown-linux \ --host=arm-linux --target=arm-linux --without-fp \ --without-__thread --enable-add-ons=linuxthreads \ --with-headers=${SYSROOT}/usr/include 2>&1 | tee configure.out Получаю вот что: ... checking for suffix of object files... configure: error: cannot compute suffix of object files: cannot compile Чтобы это значило? Собираю всё под Ubuntu 7.04. У меня по моему в этом заморочка была,точно не помню: --build=i386-unknown-linux постаил свой хост процессор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Paramedic 0 26 ноября, 2007 Опубликовано 26 ноября, 2007 · Жалоба У меня по моему в этом заморочка была,точно не помню: --build=i386-unknown-linux постаил свой хост процессор. А это как? Как его название запросить у системы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andron86 0 26 ноября, 2007 Опубликовано 26 ноября, 2007 · Жалоба А это как? Как его название запросить у системы? в /user посмотри x86-xxx-linux я точно не помню, давно было. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ghost_gluck 0 28 ноября, 2007 Опубликовано 28 ноября, 2007 (изменено) · Жалоба А это как? Как его название запросить у системы? Для Debian/Ubuntu Linux попробуй --build=i686-pc-linux-gnu или --build=i686-pc-linux, должно собираться. Свой toolchain собирал ./configure --target=arm-elf --prefix=[toolchain-prefix] --enable-interwork --enable-multilib --with-float=soft узнать архитектуру и т.д. можно через uname. uname -ms -m - print the machine hardware name -s - print the kernel name (linux, *bsd, aix, etc..) Готовый toolchain, инструкцию по сборке можно найти http://gnuarm.org/ http://gnuarm.org/support.html собирал себе таким образом. Бинарники армовские c использованием syscall компилил и исполнял через qemu-arm. Ниже приведен пример, как заставить qemu-arm исполнять бинарники. sudo modprobe binfmt_misc sudo mount -t binfmt_misc none /proc/sys/fs/binfmt_misc sudo sh -c 'echo ":arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm:" /proc/sys/fs/binfmt_misc/register' /usr/bin/qemu-arm - путь к бинарнику эмулятора. Изменено 28 ноября, 2007 пользователем ghost_gluck Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Paramedic 0 29 ноября, 2007 Опубликовано 29 ноября, 2007 · Жалоба Для Debian/Ubuntu Linux попробуй --build=i686-pc-linux-gnu или --build=i686-pc-linux, должно собираться. Свой toolchain собирал ./configure --target=arm-elf --prefix=[toolchain-prefix] --enable-interwork --enable-multilib --with-float=soft узнать архитектуру и т.д. можно через uname. uname -ms -m - print the machine hardware name -s - print the kernel name (linux, *bsd, aix, etc..) Спасибо за совет. Этот этап вроде прошёл, теперь застреваю на make 2>&1 | tee make.out С сообщением: collect2: ld returned 1 exit status make[1]: *** [/home/mihail/usr/local/arm/src/BUILD/glibc-2.3.6_make/libc.so] Error 1 make[1]: Leaving directory `/home/mihail/usr/local/arm/src/glibc-2.3.6' make: *** [install] Error 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 14 29 ноября, 2007 Опубликовано 29 ноября, 2007 · Жалоба Узнаём, какой шелл используется по умолчанию: ls -la /bin/sh Меняем на bash: sudo ln -sf /bin/bash /bin/sh Это принципиально не правильно. У каждого юзера шелл свой. И меняется он командой usermod (либо прямым редактированием файла /etc/passwd) и последующим перелогиниванием. Не надо трогать системный шелл. Либо временно установите шелл только для этого запуска make, переопределив переменную SHELL: $ SHELL=/bin/bash make Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
e-yes 0 29 ноября, 2007 Опубликовано 29 ноября, 2007 · Жалоба >Это принципиально не правильно. У каждого юзера шелл свой. И меняется он командой usermod (либо прямым редактированием файла /etc/passwd) и последующим перелогиниванием. Не надо трогать системный шелл. +1 И не надо читать вредные "хауту". То, что мануал по сборке тулчейна и кросскомпиляции ядра от хеви-онлайн на первых местах в гугле несет гораздо больше вреда, чем пользы. Ибо, если опыта до этого не было, практически невозможно что-то собрать, либо труднее, чем разобраться и самостоятельно тему освоить. Многочисленные топики не только на этом форуме - этому подтверждение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться