¿Cómo cargar una biblioteca compartida sin cargar sus dependencias?

Di que tengo una bibliotecalibfoo.so.1, que depende (segúnldd) enlibbar.so.1. Sin embargo,libbar.so.1 no está disponible en este momento. Mi aplicación necesita llamar a una función enlibfoo.so.1 que no requierelibbar.so.1 en absoluto.

¿Hay una manera de cargarlibfoo.so.1, resuelve el símbolo de función y luego llámalo sin tenerlibbar.so.1 ¿Para satisfacer la dependencia? Es un caso de "Sé lo que estoy haciendo, solo déjame hacerlo ya". Probé el indicador RTLD_LAZY, pero todavía intenta cargar ellibbar.so.1 biblioteca antesno cargando los simbolos.

EDITAR

Aquí está la situación exacta.

Tenemos 3 jugadores:

libbar.so.1, una biblioteca compartida ubicada en un camino que no está enLD_LIBRARY_PATH oldconfig, y cuyas dependencias estan todas resueltas.libfoo.so.1, una biblioteca compartida ubicada en un directorio diferente al delibbar, pero que depende delibbar. En tiempo de ejecución,libfoo sabrá dónde ubicarlibbar.App, una aplicación binaria que necesita cargarlibfoo en algún momento durante el tiempo de ejecución.

App no sabe dónde encontrarlibbar, pero sabe quelibfoo sabe Lo que estoy tratando de lograr es tener una función init enlibfoo que simplemente cambiaríaAppDirectorio de trabajo actual a dondelibbar Está ubicado para resolver finalmente todas las dependencias y hacer felices a todos.

libfoo seráfinalmente Necesito llamar cosaslibbar, simplemente no en esta función de inicio. No creo que crear un talón funcionaría ya que los símbolos necesitarían resolverse para elreal funciones

Respuestas a la pregunta(5)

Su respuesta a la pregunta