Кросскомпиляция под ARM
satyr 24 мая, 2009 - 01:10
Установил crossdev с опцией "-t arm-unknown-linux-gnu".
Хочу собрать mc-4.6.2 из исходников:
$ ./configure --without-edit --without-gpm-mouse --without-mmap --without-subshell --without-x --without-vfs --with-glib-static --with-screen=mcslang CC=arm-unknown-linux-gnu-gcc --host=x86-pc-linux-gnu --target=arm-unknown-linux-gnu $make
Но, похоже что используются native библиотеки, а не для arm.
arm-unknown-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -DDATADIR=\""/usr/local/share/mc/"\" -DLOCALEDIR=\""/usr/local/share/locale"\" -DSAVERDIR=\""/usr/local/libexec/mc"\" -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I.. -g -O2 -Wall -MT ecs.o -MD -MP -MF .deps/ecs.Tpo -c -o ecs.o ecs.c mv -f .deps/ecs.Tpo .deps/ecs.Po arm-unknown-linux-gnu-gcc -std=gnu99 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I.. -g -O2 -Wall -o mc achown.o background.o boxes.o chmod.o chown.o cmd.o color.o command.o complete.o cons.handler.o dialog.o dir.o execute.o ext.o file.o filegui.o filenot.o fileopctx.o find.o findme.o glibcompat.o help.o hotlist.o info.o key.o keyxdef.o layout.o learn.o listmode.o logging.o main.o menu.o mountlist.o mouse.o option.o panelize.o popt.o poptconfig.o popthelp.o poptparse.o profile.o regex.o rxvt.o screen.o setup.o slint.o subshell.o textconf.o tree.o treestore.o tty.o user.o util.o utilunix.o view.o widget.o win.o wtools.o x11conn.o ecs.o ../slang/libmcslang.a /usr/lib/libglib-2.0.a /usr/libexec/gcc/arm-unknown-linux-gnu/ld: /usr/lib/libglib-2.0.a(garray.o): Relocations in generic ELF (EM: 3) /usr/lib/libglib-2.0.a: could not read symbols: File in wrong format collect2: выполнение ld завершилось с кодом возврата 1 make[2]: *** [mc] Ошибка 1
Какие переменные окружения и как установить, чтобы собрать mc?
»
- Для комментирования войдите или зарегистрируйтесь
начатьс стоит с тго чот
начатьс стоит с тго чот прочитать howto по кросскомпиляции. =)
например это http://www.gentoo.org/proj/en/base/embedded/handbook/
___________________________________________
Working on Gentoo for iPAQ hx4700 and Openmoko Neo Freerunner :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера
неужто МС собираешь под
неужто МС собираешь под андройд?
Зачем под андройд. Андройд
Зачем под андройд. Андройд это вообще непонятная поделка.
Ядро линукс. Либц из бсд. И большая часть юзерспейса на яве. =) что то я сомневаюсь чот под эту кашу мона что то собрать.
Без применения патчей. А вот для Openmoko легко =)
___________________________________________
Working on Gentoo for iPAQ hx4700 and Openmoko Neo Freerunner :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера
незнаю как для arm, а для avr
незнаю как для arm, а для avr crossdev для работы не применим (пришлось делать свои ebuild-ы), т.к. приходится патчить и buinutils, и gcc. Подозреваю, что под arm тоже самое.
Ну.. =) Для арм он применим
Ну.. =) Для арм он применим уже очень давно =) В том числе и моими стараниями.
А для avr совет. Патчи заслать в багзиллу и заасайнить на
я думаю люди типа vapier и armin76 добавят.
___________________________________________
Working on Gentoo for iPAQ hx4700 and Openmoko Neo Freerunner :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера
от avr-binutils, avr-gcc и
от avr-binutils, avr-gcc и т.д. gentoo отказалась уже давно в пользу crossdev. Так что не знаю.
дык. Ты баги то запость ели
дык. Ты баги то запость ели что то неработает. а то мейнтайнеры из toolchain будут не в курсе. А телепаты по традиции в отпуске
___________________________________________
Working on Gentoo for iPAQ hx4700 and Openmoko Neo Freerunner :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера
там в основном не баги, а
там в основном не баги, а добавление новых чипов
патчи все лежат например в http://www.freebsd.org/cgi/cvsweb.cgi/ports/devel/avr-binutils/files/ или
http://winavr.cvs.sourceforge.net/viewvc/winavr/patches/
мне не нравится сам подход с crossdev - универсальность - это не всегда хорошо.
Прочитал 2 раза. Ответа не
Прочитал 2 раза. Ответа не увидел.
Исправил опции ./configure, теперь так: "--host=arm-unknown-linux-gnu --target=arm-unknown-linux-gnu"
Поробовал переопределить некоторые переменные:
PKG_CONFIG_LIBDIR=$SYSROOT/usr/lib/pkgconfig
SYSROOT=/usr/arm-unknown-linux-gnu
Теперь ./configure не проходит: