1

Моя команда разрабатывает продукт для встроенной ОС Linux с Node.js для веб-интерфейса для настройки устройства. Мы переносим наш код в систему с процессором, который не имеет аппаратного FPU. (Предыдущий продукт имел FPU.) Мы скомпилировали Node.js со следующими параметрами компилятора:

--with-arm-float-abi=soft

а также

--with-arm-float-abi=softfp

Но в обоих случаях Node.js вылетает во время выполнения с недопустимой инструкцией, потому что он пытается выполнить аппаратное вычисление с плавающей точкой. Похоже, что это в движке V8, потому что мы можем запустить node --version и он печатает версию и завершает работу. Я не проверял источник, но я предполагаю, что он не запускает V8 только для того, чтобы напечатать номер версии.

Есть идеи, что нам здесь не хватает? Я мог бы опубликовать весь make-файл, если бы это помогло, но это похоже на шум для этой проблемы. Я надеюсь найти кого-нибудь, кто создал Node.js (версия после 0.10) для процессора ARM, у которого нет аппаратной плавающей запятой, и скажу мне, какие опции конфигурации / сборки нам могут отсутствовать. Или скажите мне, что вышеупомянутая опция должна работать, и мы просто делаем это неправильно.

1 ответ1

0

У меня такая же проблема. Я решил, добавив в файл config.gypi эти две строки:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .