Узел "Не динамический исполняемый файл"
Я запускаю 14.04 на Linode и попробовал следовать этим инструкциям, чтобы установить NVM и затем узел. Я могу заставить NVM работать нормально, но установка Node приводит к зашифрованным сообщениям "файл не найден", когда я пытаюсь запустить его, даже если файл указан в правильном каталоге.
Все пути для NVM верны, и, похоже, нет никаких конфликтов (ни node
или же nodejs
перечислены в /usr/bin/
или же /usr/local/bin
), и я попытался запустить исполняемый файл с полным путем.
Я думал, что это может быть 32-разрядной двоичной проблемой, но работает file node
Похоже, это 64-битный исполняемый файл:
node: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
Тем не менее, работает ldd node
на это выдает сообщение:
not a dynamic executable
Мне интересно, если я пропускаю некоторые общие библиотеки, но я понятия не имею, что это может быть.
Кроме того, как я узнаю, есть ли какие-нибудь висячие символические ссылки?
1 ответ
Вы обнаружили ограничения (64-битной установки) ldd-скрипта. Наименьшее, чего вы ожидаете, это жалоба на "неправильный класс ELF" Установите еще несколько 32-битных фрагментов, таких как 32-битный ld, и вы можете начать получать разумный вывод (ld - 32-битный загрузчик). Для этого необходим пакет libc6-i386.