Ich habe das Problem, dass eine Bibliothek eines Drittanbieters (zB TP.so) eine falsche Bibliotheksversion verwendet (zB GenericV1.so), statt die zu verwenden, die es eigentlich sein soll (zB GenericV2.so). Die zusätzliche Bibliothek ist für die Verwendung in meinem Programm enthalten.Gibt es eine Alternative zum RTLD_DEEPBIND-Flag in der Funktion dlopen() für Plattformen, die RTLD_DEEPBIND nicht unterstützen?
Die einfache Lösung für diese (gut dokumentiert auf SO) ist die Verwendung von dlopen() mit RTLD_DEEPBIND Flag. Aber das Flag ist nur unter Linux, nicht auf anderen Plattformen wie HP-UX, Solaris, AIX usw. gültig.
Gibt es eine Alternative für RTLD_DEEPBIND für den Einsatz in diesen Nicht-Linux-Plattformen?
Vielen Dank für Ihre Antworten
Ich denke, die Frage sollte lauten "Wie RTLD_DEEPBIND in einer POSIX-kompatiblen Weise ersetzen?" Dies führt zu einer plattformunabhängigen Umsetzung Ihrer Probleme. –