Не может выполнить двоичный файл на Льве Mac OS X 10.7.5

Проверьте статус выхода команды. Если команда была завершена сигналом, код выхода будет 128 + число сигнала. Из онлайн-документации GNU для удара:

В целях оболочки успешно выполнилась команда, которая выходит с нулевым статусом выхода. Ненулевой статус выхода указывает на отказ. Эта на вид парадоксальная схема используется, таким образом, существует один четко определенный способ указать на успех и множество способов указать на различные виды отказа. Когда команда завершается на фатальном сигнале, число которого является N, Bash использует значение 128+N в качестве статуса выхода.

POSIX также указывает, что значение команды, которая завершенный сигналом больше, чем 128, но, кажется, не указывает, что его точное значение как GNU делает:

О статусе выхода команды, которая завершилась, потому что он получил сигнал, нужно сообщить как больше, чем 128.

Например, при прерывании команды Ctrl-C, код выхода будет 130, потому что SIGINT является сигналом 2 в системах Unix. Так:

while [ 1 ]; do COMMAND; test $? -gt 128 && break; done

0
21.02.2013, 22:34
1 ответ

Я предполагаю, что Вы захватили PhyloCon-v3b.linux с их веб-сайта. Это - исполняемый файл Linux, он не будет работать на Mac OS X.

Вместо этого необходимо захватить исходный код и скомпилировать его сами. Извлеките исходный код в пустой каталог, затем, если Вы удачливы, работая make скомпилирует его.

Обратите внимание, что это не компилирует чисто на моем поле Linux; это, кажется, использует некоторый сомнительный not-quite-C синтаксис, который не принимает мой современный GCC. Кажется достаточно легким добраться для компиляции путем фиксации нескольких объявлений... Работает ли это, я нисколько не квалифицирован для ответа.

3
28.01.2020, 02:28

Теги

Похожие вопросы