В проекте, над которым я сейчас работаю, используется набор динамических библиотек, связанных с исходным кодом. Существует подмножество библиотек, которое называется следующим образом:
для данной библиотеки libABC существует четыре файла:
libABC.so
libABC.so.4
libABC.so.4.5
libABC.so.4.5.0
Они прикованы гирляндами вот так:
первый файл, libABC.so, содержит следующее:
link libABC.so.4
тогда как следующий файл, libABC.so.4, содержит следующее:
link libABC.so.4.5
и т. Д. До фактического файла lib, libABC.so.4.5.0.
Я знаю, что такого рода вещи должны быть сделаны с использованием символических ссылок, но мы не можем это изменить, это коммерческий проект. Так что компоновщик задыхается от этого!
/usr/bin/ld: path/to/the/packaged/libs/libABC.so:unrecognized file format, treating as linker script
(что на самом деле, хе)
/usr/bin/ld: path/to/the/packaged/libs/libABC.so:1:syntax error
Теперь я не могу найти какую-либо информацию о команде "link" скрипта компоновщика GNU ld или какую-либо полную ссылку на команды скрипта компоновщика GNU ld.
Что бы это могло быть?