Ошибка формата Exec на узле-v8.11.1 / out / Release / icupkg при перекрестном компиляции Nodejs для ARM7

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

При попытке кросс-компиляция NodeJS для ARM Cortex (я хочу поставить NodeJS на Drone Parrot AR 2.0, но я бы хотел использовать версию LTS вместо старого предложения: Nodejs-ARM-builder ) Я получаю ошибка, которую я не могу понять, как исправить:

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 как toolchain: http://archlinuxarm.org/builder/xtools/x-tools7h.tar.xz

Спасибо

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

2 ответа

Кажется, что проблема решена путем добавления флага --without-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}

, но создается исполняемый файл узла. завтра я попробую развернуть его на Parrot Drone и посмотреть, работает ли он.

0
ответ дан 17 July 2018 в 14:11

Кажется, что проблема решена путем добавления флага --without-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}

, но создается исполняемый файл узла. завтра я попробую развернуть его на Parrot Drone и посмотреть, работает ли он.

0
ответ дан 20 July 2018 в 14:15

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

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