Problemas al crear Node.js v4 para ARM con emulación de software de punto flotante

Problemas al crear Node.js v4 para ARM con emulación de software de punto flotante

Mi equipo está desarrollando un producto en un sistema operativo Linux integrado que ejecuta Node.js para el back-end web para la configuración del dispositivo. Estamos transfiriendo nuestro código a un sistema con un procesador arm que no tiene una FPU de hardware. (El producto anterior tenía una FPU). Hemos compilado Node.js con las siguientes opciones de compilación:

--with-arm-float-abi=soft

y

--with-arm-float-abi=softfp

Pero en ambos casos, Node.js falla en tiempo de ejecución con una instrucción ilegal porque intenta ejecutar hardware de punto flotante. Parece estar en el motor V8 porque podemos ejecutarlo node --version, imprime la versión y sale. No he comprobado la fuente, pero supongo que no está iniciando V8 solo para imprimir el número de versión.

¿Alguna idea de lo que nos estamos perdiendo aquí? Podría publicar el archivo MAKE completo si fuera de ayuda, pero parece ruido para este problema. Espero encontrar a alguien que haya creado Node.js (una versión posterior a 0.10) para un procesador ARM que no tenga punto flotante de hardware y que me diga qué opciones de configuración/compilación nos podrían faltar. O dígame que la opción anterior debería funcionar y simplemente la estamos haciendo mal.

Respuesta1

Yo tuve el mismo problema. Lo resolví agregando el archivo.config.gypiestas dos líneas:

'v8_can_use_fpu_instructions%': 'false', 'v8_use_mips_abi_hardfloat%': 'false',

información relacionada