Я полагаю, что на проблемной машине установлен более старый дистрибутив Linux, чем у других: насколько я знаю, обычной причиной этого является несоответствие между хэш-таблицей символов в двоичном файле и динамической линкер.
Динамически связанный двоичный файл (или библиотека в этом отношении) может иметь либо классическую хэш-таблицу символов ELF в разделе с именем .hash
, либо новую хеш-таблицу символов GNU в разделе с именем .gnu.hash
, либо оба вместе.
В некоторых более поздних дистрибутивах gcc
настроен на передачу флага компоновщику (--hash-style=gnu
) по умолчанию, что заставляет его выдавать только двоичный раздел .gnu.hash
.
Если такой бинарный файл запускается в более старой системе со старым динамическим компоновщиком, который не понимает .gnu.hash
, он точно завершится с ошибкой. Ошибка возникает на очень ранней стадии, во время динамического связывания (до того, как бинарный файл действительно что-то делает сам), поэтому вы практически не получаете вывод от strace
.