Linux-Linker-Problem mit einigen dynamischen Libs



  • Hallo zusammen,

    ich habe folgendes Szenario: Ich habe ein Programm und linke dieses mit verschiedenen Libs, die teilweise selbst wiederum Abhängigkeiten haben. Alle libs, gegen die gelinkt wird, liefere ich im bin-Verzeichnis mit, in der auch das executable liegt. Ich verwende die GCC.

    Um den Linker anzuweisen, hier zu schauen, habe ich die executable mit der Option

    -Wl,-rpath,$ORIGIN
    

    gelinkt. Gemäß der Ausgabe von

    readelf -d | grep RPATH
    

    war das soweit auch erfolgreich. Gebe ich nun aber

    ldd -v <binary>
    

    ein, so werden 2 Libs nicht aufgelöst. Andere, die völlig analog mit dem selben Mechanismus und den selben Linker-Optionen gelinkt werden, werden völlig korrekt aufgelöst und gegen die Exemplare, die im bin-Ordner sind, gelinkt.
    Der Ausgabe ist auch zu entnehmen, dass er offenbar direkt aus dem executable versucht, diese libs zu laden, es sind also nicht Abhängigkeiten anderer dyn. gelinkter libs. Andere, die ebenfalls direkt vom executable geladen werden, werden aber gelinkt wie gedacht.

    Meine Frage daher: Woran könnte das liegen? Hat es vll. damit was zu tun, dass irgwelche statisch gelinkten libs in anderen rpaths nach Abhängigkeiten suchen?

    Wenn weitere Infos benötigt werden, werde ich diese so schnell wie möglich bereitstellen.

    Vielen Dank!

    Gruß,

    badday


Anmelden zum Antworten