Есть такая ситуация: некая программа A линкуется во время компиляции с некой библиотекой B.so, которая, в свою очередь, должна во время выполнения, используя dlopen, загрузить некую библиотеку C.so, которая слинкована во время компиляции с библиотекой D.so.
Так вот, вызов dlopen проходит не успешно с сообщением "C.so: undefined symbol: xxx". Символ xxx определён в библиотеке D.so.
Проблема решается линковкой билиотеки D.so во время компиляции к исполняемому модулю A. Хотелось бы, чтобы символы из D.so автоматически разрешались бы при вызове dlopen("C.so"). Как это можно сделать?
Библиотека D.so является сторонней, остальные собираются из исходников.