У меня есть две сторонние библиотеки, которые иногда экспортируют одно и то же имя символа. Когда исполняемый файл загружен, ld обычно выбирает неправильный, и в результате я получаю сбой. Я не могу сделать слишком много с содержанием этих библиотек, так что может быть есть способ научить ld , как найти правильную реализацию?
ОС - Solaris 10, моя программа построена с помощью autoconf / autotools / gcc, конфликтующие библиотеки libclntsh (часть драйвера Oracle) и OpenLDAP. К сожалению, я не могу использовать реализацию Oracle клиента LDAP - ему не хватает многих функций, которые есть в OpenLDAP.
Отредактировано: Связь следующая: libclntsh.so-> A.so-> MAIN <-B.so <-libldap_r.so </p>