У меня одна и та же общая библиотека в трех разных путях в системе. Скажем, пути: PATH1, PATH2 и PATH3.
Имя общей библиотеки: libmylib.so
Теперь, в PATH1, если я заменю libmylib.so неработающей программной ссылкой, он отправляется и ищет в PATH2 библиотеку.
Но в PATH1, если я заменю libmylib.so каким-либо другим текстовым файлом (или каким-либо несвязанным файлом) с именем libmylib.so, то выполнение приложения завершится неудачно, сообщив, что «это не заголовок ELF»
Меня немного смущает поведение? Почему он ищет другие пути в случае разрыва софт-ссылки и не работает в случае неправильного файла. Я ожидал, что он также будет искать в других путях неправильный файл.