amagovpt / autenticacao.gov

Middleware Oficial de Identificação Eletrónica em Portugal - Cartão de Cidadão, da Chave Móvel Digital e Sistema de Certificação de atributos profissionais
https://www.autenticacao.gov.pt
European Union Public License 1.2
164 stars 33 forks source link

Problema a compilar o NodeJS wrapper #102

Closed amserra closed 2 years ago

amserra commented 2 years ago

Boas. Estou a ter problemas a compilar o wrapper para NodeJS. Detalhes do problema abaixo.

Describe the problem

Ao compilar o wrapper para NodeJS, correndo o generate_swig_wrapper.sh (após instalar tudo com sucesso do README principal), estou a deparar-me com o seguinte erro:

make: Entering directory '/root/autenticacao.gov/pteid-mw-pt/_src/eidmw/eidlibNodeJS_Wrapper/build' make: *** No rule to make target 'Release/obj.target/pteid/GeneratedFiles/eidlibNodeJS_Wrapper.o', needed by 'Release/obj.target/pteid.node'. Stop. make: Leaving directory '/root/autenticacao.gov/pteid-mw-pt/_src/eidmw/eidlibNodeJS_Wrapper/build'

Em concreto, dos comandos corridos pelo generate_swig_wrapper.sh, o que falha é o último: node-gyp build.

To reproduce

Screenshot do erro:

image
agrr commented 2 years ago

Boa tarde,

já está aplicada a correção (08b3efcbca8cb41fc580ce02910a716e578bb0b2), uma alteração no ficheiro que define a geração dos wrappers com SWIG tinha mesmo quebrado o build deste módulo (que ainda não é um dos SDKs oficiais):

amserra commented 2 years ago

Boa tarde. De facto já avançou mais um pouco, no entanto bloqueia noutro erro. Anexo aqui o ficheiro de log para se tornar mais fácil o debug. logfile.log

agrr commented 2 years ago

Deverá ser porque o código gerado pelo SWIG não suporta ainda o NodeJS 14. Encontrei um pull request relevante mas que ainda não está incluído na última release do SWIG: https://github.com/swig/swig/pull/1746

Posso confirmar que o NodeJS wrapper está a compilar e o simple_example.js está funcional em Node 10.19.0 que é a versão que está disponível nos repositórios do Ubuntu 20.04.

amserra commented 2 years ago

E qual a versão do node-gyp?

agrr commented 2 years ago

node-gyp 6.1.0 também instalado através do pacote Ubuntu.

amserra commented 2 years ago

Usando: node-gyp==6.1.0 ubuntu==20.04.4 node==10.19.0

Dá-me um erro novo: image

agrr commented 2 years ago

Boa tarde,

linkar o wrapper às bibliotecas compiladas em ../lib/ mas ainda não instaladas por alguma razão não funciona.

De qualquer forma não seria possível usar o módulo depois sem ter as mesmas bibliotecas e outros ficheiros necessários instalados por isso alterámos as instruções do módulo NodeJS e o próprio ficheiro de build aqui: ce4ecba9b8029291165dc848bf5fc1d5763faee9