Исполнительная ошибка формата на node-v8.11.1/out/Release/icupkg, в то время как перекрестная компиляция Nodejs для ARM7

Я разветвил репозиторий Nodejs-ARM-builder, и поле Vagrant обновления к Ubuntu 18.04 (вот мой repo: https://github.com/lbrutti/Nodejs-ARM-builder).

Когда попытка пересечься компилирует NodeJS для Коры ARM (я хочу поместить NodeJS на беспилотник AR 2.0 Попугая, но я хотел бы использовать версию LTS вместо старой proposerd здесь: https://github.com/felixge/node-cross-compiler/downloads) я получаю ошибку, которую я не могу понять, как зафиксировать:

arm-unknown-linux-gnueabihf-g++ -pthread -rdynamic  -o /home/vagrant/node- 
v8.11.1/out/Release/icupkg -Wl,--start-group /home/vagrant/node-v8.11.1/out/Release/obj.host/icupkg/deps/icu-small/source/tools/icupkg/icupkg.o /home/vagrant/node-v8.11.1/out/Release/obj.host/icupkg/tools/icu/no-op.o /home/vagrant/node-v8.11.1/out/Release/obj.host/tools/icu/libicutools.a  -Wl,--end-group
arm-unknown-linux-gnueabihf-g++ -pthread -rdynamic  -o /home/vagrant/node-v8.11.1/out/Release/genrb -Wl,--start-group /home/vagrant/node-v8.11.1/out/Release/obj.host/genrb/deps/icu-small/source/tools/genrb/read.o /home/vagrant/node-v8.11.1/out/Release/obj.host/genrb/deps/icu-small/source/tools/genrb/errmsg.o /home/vagrant/node-v8.11.1/out/Release/obj.host/genrb/deps/icu-small/source/tools/genrb/prscmnts.o /home/vagrant/node-v8.11.1/out/Release/obj.host/genrb/deps/icu-small/source/tools/genrb/parse.o /home/vagrant/node-v8.11.1/out/Release/obj.host/genrb/deps/icu-small/source/tools/genrb/genrb.o /home/vagrant/node-v8.11.1/out/Release/obj.host/genrb/deps/icu-small/source/tools/genrb/wrtjava.o /home/vagrant/node-v8.11.1/out/Release/obj.host/genrb/deps/icu-small/source/tools/genrb/ustr.o /home/vagrant/node-v8.11.1/out/Release/obj.host/genrb/deps/icu-small/source/tools/genrb/rbutil.o         /home/vagrant/node-v8.11.1/out/Release/obj.host/genrb/deps/icu-small/source/tools/genrb/wrtxml.o /home/vagrant/node-v8.11.1/out/Release/obj.host/genrb/deps/icu-small/source/tools/genrb/rle.o /home/vagrant/node-v8.11.1/out/Release/obj.host/genrb/deps/icu-small/source/tools/genrb/reslist.o /home/vagrant/node-v8.11.1/out/Release/obj.host/tools/icu/libicutools.a  -Wl,--end-group
arm-unknown-linux-gnueabihf-g++ -pthread -rdynamic  -o /home/vagrant/node-v8.11.1/out/Release/iculslocs -Wl,--start-group /home/vagrant/node-v8.11.1/out/Release/obj.host/iculslocs/tools/icu/iculslocs.o /home/vagrant/node-v8.11.1/out/Release/obj.host/iculslocs/tools/icu/no-op.o /home/vagrant/node-v8.11.1/out/Release/obj.host/tools/icu/libicutools.a  -Wl,--end-group
LD_LIBRARY_PATH=/home/vagrant/node-v8.11.1/out/Release/lib.host:/home/vagrant/node-v8.11.1/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../tools/icu; mkdir -p /home/vagrant/node-v8.11.1/out/Release/obj/gen/icutmp; python icutrim.py -P "/home/vagrant/node-v8.11.1/out/Release" -D ../../deps/icu-small/source/data/in/icudt60l.dat --delete-tmp -T "/home/vagrant/node-v8.11.1/out/Release/obj/gen/icutmp" -F icu_small.json -O icudt60l.dat -v -L en,root
Options: {'verbose': 1, 'filterfile': 'icu_small.json', 'toolpath': '/home/vagrant/node-v8.11.1/out/Release', 'deltmpdir': 1, 'outfile': 'icudt60l.dat', 'datfile': '../../deps/icu-small/source/data/in/icudt60l.dat', 'locales': 'en,root', 'endian': 'little', 'tmpdir': '/home/vagrant/node-v8.11.1/out/Release/obj/gen/icutmp'}
icu_small.json: icutrim.py config: Trim down ICU to just a certain locale set, needed for node.js use.
sh: 1: /home/vagrant/node-v8.11.1/out/Release/icupkg: Exec format error
FAILED: /home/vagrant/node-v8.11.1/out/Release/icupkg -tl ../../deps/icu-small/source/data/in/icudt60l.dat /home/vagrant/node-v8.11.1/out/Release/obj/gen/icutmp/icudt60l.dat
tools/icu/icudata.target.mk:13: recipe for target '/home/vagrant/node-v8.11.1/out/Release/obj/gen/icutmp/icudt60l.dat' failed
make[1]: *** [/home/vagrant/node-v8.11.1/out/Release/obj/gen/icutmp/icudt60l.dat] Error 1
rm 1a1b88980118d836843b09666155f5b83fe8fb29.intermediate
Makefile:88: recipe for target 'node' failed

Я использую xtools в качестве набора инструментальных средств: http://archlinuxarm.org/builder/xtools/x-tools7h.tar.xz

Спасибо

0
задан 15 May 2018 в 13:01

1 ответ

Кажется, что проблема решена путем добавления - без - intl флаг для конфигурирования строки как в https://github.com/nodejs/node/issues/7173:

./configure --cross-compiling --without-snapshot --without-npm --without-ssl --without-intl --dest-cpu=arm --dest-os=linux --prefix="${PREFIX_DIR}"

Теперь я не получаю ошибки, и компиляция продвигается.

Кажется, что во время упаковочных шагов существует ошибка:

Invalid package configuration: Cannot package the path '/tmp/installARMv7/usr/lib', does it exist? {:level=>:error}

но исполняемый файл узла, кажется, создается. завтра я попытаюсь развернуть его на Беспилотнике Попугая и видеть, работает ли это.

0
ответ дан 29 October 2019 в 07:59

Другие вопросы по тегам:

Похожие вопросы: