Системные библиотеки OS X часто содержат несколько версий стандартных функций языка C.Начиная с 10.5, OS X поддерживает Single Unix Specification .Функция stderror
, как в BSD, ведет себя немного иначе в SUS.Итак, библиотека имеет две версии, _stderror
и _stderror$UNIX2003
.То, что использовать, определяется во время компиляции, как описано здесь , с использованием макросов препроцессора C.
Я думаю, что используемый вами двоичный файл Mono был скомпилирован в более новой среде.Вам нужно перекомпилировать это.Если вы перекомпилируете его на компьютере 10.4, он должен автоматически использовать версию, отличную от UNIX2003, и он должен работать нормально.
Кстати, серьезно, обновите 10.4.7 до 10.4.11.