Erro no formato Exec no node-v8.11.1 / out / Release / icupkg ao compilar cruzado o Nodejs para o ARM7

0

Eu bifurquei repositório Nodejs-ARM e atualizei a caixa do Vagrant para o Ubuntu 18.04 (aqui está meu repositório: < um href="https://github.com/lbrutti/Nodejs-ARM-builder"> link ).

Ao tentar cruzar compilar o NodeJS para ARM Cortex (eu quero colocar o NodeJS em um drone Parrot AR 2.0, mas eu gostaria de usar a versão LTS em vez da antiga proposta aqui: link ) Recebo um erro Não consigo entender como corrigir:

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

Estou usando o xtools como toolchain: link

Obrigado

    
por lbrutti 15.05.2018 / 22:01

1 resposta

0

Parece que o problema foi resolvido adicionando o sinalizador - without-int para configurar a linha como em link :

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

Agora não recebo nenhum erro e a compilação avança.

Parece que houve um erro durante as etapas de empacotamento:

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

mas o executável do nó parece ser criado. Amanhã vou tentar implantá-lo no Parrot Drone e ver se funciona.

    
por lbrutti 16.05.2018 / 23:59