Исполняемый файл на Solaris в Ubuntu - PullRequest
1 голос
/ 28 марта 2019

У меня есть исполняемый файл, который работает на Solaris.Я пытаюсь запустить то же самое в Ubuntu.Когда я бегу с KSH или SH, это выдает ошибку.Подскажите пожалуйста, как запустить исполняемый файл, совместимый в Solaris, в Ubuntu.Проблема, с которой я сталкиваюсь, заключается в том, что у меня есть только исполняемый файл и нет исходного кода для перекомпиляции кода в Linux.Есть ли способ запустить исполняемый файл, скомпилированный для запуска Solaris на Ubuntu

Я получаю это исключение при запуске с использованием KSH

cannot execute [Exec format error]

Sh выдает эту ошибку

Syntax error: "(" unexpected

1 Ответ

2 голосов
/ 28 марта 2019

Когда вы компилируете программу в linux, многие программы используют сторонние библиотеки.Если эти библиотеки не установлены или на другой машине установлена ​​другая версия, исполняемый файл не запустится.Скорее всего, вам не хватает зависимостей , как они называются.Подробнее об этом здесь .
Программа может использовать разные системные вызовы и библиотеки, которые могут быть недоступны для разных производных.
Кроме того, исполняемый файл компилируется для конкретного процессора.Если вы используете другой набор инструкций, скажем, 32-битный вместо 64-битного или ARM или AMD вместо Intel, он также не будет работать.Подробнее об этом здесь .
Если вы хотите скомпилировать несколько дистрибутивов, используя одну и ту же архитектуру, вы можете использовать стандартную базу linux.Подробнее об этом здесь .

Вкратце: вам нужно перекомпилировать / получить правильную версию для вашей системы вместо простого копирования исполняемого файла.

...