Я пытаюсь выполнить кросс-компиляцию интерпретатора perl для архитектуры ARM ( FriendlyARM Micro2440 ). Я использую кросс-компилятор ARM-Linux GCC 4.4.3 , предоставленный производителем. Плата работает под управлением Linux 2.6.
Мне удалось успешно скомпилировать базовое приложение "Hello World", и оно запустилось на целевой машине.
Я скачал источник perl v5.12.3. Я был в состоянии сделать обычную компиляцию Perl для Ubuntu. Я сейчас пытаюсь сделать кросс-компиляцию для платы ARM. Я работаю из папки perl-5.12.3 / Cross в исходной загрузке.
make patch
успешно, но когда я запускаю make perl
, это не удается с этим
LD_LIBRARY_PATH=/home/reed022/.local/share/Trash/files/perl-5.2.12.3 arm-linux-gcc -o miniperl \
gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o \
miniperlmain.o opmini.o perlmini.o -lnsl -ldl -lm -lcrypt -lutil -lc
LD_LIBRARY_PATH=/home/reed022/.local/share/Trash/files/perl-5.2.12.3 ./miniperl -w -Ilib -MExporter -e '<?>' || make minitest
./miniperl: 1: Syntax error: word unexpected (expecting ")")
Я думаю, что релевантная часть вывода - это ./miniperl -w -Ilib -MExporter -e '<?>' || make minitest
часть. Хотя я не уверен. Меня смущает, что среда кросс-компиляции будет пытаться запускать тесты, поскольку она нацелена на систему, отличную от той, на которой она построена.
Я совершенно заблудился, куда идти дальше. Люди, с которыми я говорил, не имели большого опыта в кросс-компиляции программ.
UPDATE
Я решил удалить исходную папку perl и заново распаковать ее, думая, что предыдущая компиляция perl для хост-машины Ubuntu могла мешать текущей кросс-компиляции. Теперь я получаю другую, но похожую ошибку.
`sh cflags "optimize='-O2'" generate_uudmap.o` -fexpensive-optimizations -fomit-frame-pointer -O2 -march=armv4 -mtune=strongarm1100 generate_uudmap.c
CCCMD = arm-linux-gcc -DPERL_CORE -c -fexpensive-optimizations -fomit-frame-pointer -O2 -march=armv4 -mtune=strongarm1100 -O2 -Wall
arm-linux-gcc -o generate_uudmap generate_uudmap.o -lnsl -ldl -lm -lcrypt -lutil -lc
./generate_uudmap uudmap.h bitcount.h
./generate_uudmap: 1: Syntax error: word unexpected (expecting ")")
make[1]: *** [bitcount.h] Error 2
make[1]: Leaving directory `/home/reed022/Downloads/perl-5.12.3'
make[1]: Entering directory `/home/reed022/Downloads/perl-5.12.3'
make[1]: *** No rule to make target `more'. Stop.
make[1]: Leaving directory `/home/reed022/Downloads/perl-5.12.3'
make: *** [perl] Error 2