justadudewhohacks / justadudewhohacks/opencv4nodejs

Error al construir opencv4nodejs:

Open
#888 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
5.1k
Forks
826
PR merge metrics
No merged PRs in 30d

Description

Problemas con NODE_MODULE_INIT y manejo de excepciones en Node.js v16.20.2

Descripción:

Hola, equipo de opencv4nodejs,

Estoy enfrentando problemas al construir opencv4nodejs en mi proyecto. El error específico está relacionado con NODE_MODULE_INIT y con el manejo de excepciones (-fexceptions). Comparto los detalles de mi entorno, los pasos que seguí y los errores observados.

Detalles del Entorno
Sistema Operativo: Linux 6.8.0-52-generic

Versión de Node.js: v16.20.2 (también probé con v18.20.7)

Versión de npm: (confirma con npm -v y agrégalo aquí)

Versión de node-gyp: v11.0.0

Versión de OpenCV: 4.6.0 (instalado desde fuente)

Rutas confirmadas:

Archivos de Cabecera: /usr/include/opencv4

Bibliotecas: /usr/local/lib

Versión de opencv4nodejs: Intenté la más reciente y la 5.5.0, ambas con --build-from-source.

Errores Observados
Error Principal:

../cc/opencv4nodejs.cc:138:1: note: in expansion of macro ‘NODE_MODULE_INIT’
138 | NODE_MODULE_INIT(/* exports, module, context */) {
| ^~~~~~~~~~~~~~~~
make: *** [opencv4nodejs.target.mk:230: Release/obj.target/opencv4nodejs/cc/opencv4nodejs.o] Error 1
Manejo de Excepciones:

../cc/CatchCvExceptionWorker.h:60:42: error: exception handling disabled, use ‘-fexceptions’ to enable
Falla Final de make: El proceso no genera el archivo opencv4nodejs.node.

Pasos Realizados
Actualicé las cflags en binding.gyp:

json
"cflags": ["-flarge-source-files", "-std=c++11", "-fexceptions"],
"cflags_cc": ["-Wno-error", "-Wno-unused-function"]
También eliminé -fno-exceptions.

Probé con las versiones de Node.js 16 y 18. En ambas, el error persiste.

Reconstruí usando:

bash
node-gyp clean
node-gyp rebuild --verbose
Verifiqué las rutas y dependencias de OpenCV:

pkg-config --libs opencv4 y pkg-config --cflags opencv4 muestran rutas correctas.

Intenté con la versión opencv4nodejs@5.5.0 y la más reciente con --build-from-source.

Resultados Actuales
El archivo opencv4nodejs.node no se genera en build/Release.

El error persiste relacionado con NODE_MODULE_INIT y make.

Pasos para Reproducir
Instalar OpenCV desde la fuente (rutas configuradas en /usr/local/).

Clonar el proyecto e intentar construirlo:

bash
npm install --build-from-source opencv4nodejs
Esperado
Que el módulo se construya correctamente y genere el archivo opencv4nodejs.node.

Espero que esta información sea suficiente para analizar el problema. Si necesitan más detalles, estoy dispuesto a compartirlos. ¡Gracias por su apoyo!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.