Кросс-компиляция Perl: MAKE - PullRequest
3 голосов
/ 08 февраля 2012

Я пытался кросс-компилировать Perl-5.14.2 для цели NetBSD с Linux-машины.Сценарий Configure успешно вызывается со следующими параметрами:

./Configure -des -Dusecrosscompile 
-Dtargetarch=netbsd 
-Dosvers=3.0.0 
-Dtargethost=10.184.22.48 
-Dtargetuser=username
-Dusrinc=.../sb1-mips/usr/include 
-Dlibpth=.../xc-sb1-mips/netbsd/Lib/lib 
-Dcc=.../mips64-netbsdelf-gcc

После настройки make не удалось.
В разных местах происходит разрыв при создании файла miniperlmain.o.

Например, при создании файла gv.o произошла следующая ошибка:

gv.c: In function `Perl_try_amagic_un':
gv.c:2018: error: void value not ignored as it ought to be
gv.c:2029: error: void value not ignored as it ought to be
gv.c:2029: warning: cast from pointer to integer of different size
gv.c: In function `Perl_try_amagic_bin':
gv.c:2061: error: void value not ignored as it ought to be
gv.c:2063: error: void value not ignored as it ought to be
make: *** [gv.o] Error 1 

Теперь, чтобы избавиться от этих ошибок, я передал два флага, а именно -DPERL_IMPLICIT_CONTEXT и -DPERL_GCC_BRACE_GROUPS_FORBIDDEN компилятору C CCFLAGS, которыйрешил проблему.

  • Поскольку это пользовательская сборка, вы хотите знать обо всех CCFLAGS, которые необходимо пройти для успешной сборки?
  • Чтоозначает каждый флаг?
  • Имеется ли у них какая-либо документация?

1 Ответ

0 голосов
/ 06 марта 2013

Использование Бродяга .Он содержит несколько образов OpenBSD и FreeBSD .Надеюсь, что они будут совместимы с NetBSD.

Вы можете очень быстро получить среду сборки.Тогда вы можете счастливо переносить и создавать свой код:)

...