Versand GNU / Linux Firefox-Plugin mit gemeinsam genutzten Bibliotheken (für die Installation ohne Root-Zugriff)
-
26-09-2019 - |
Frage
Die Anwendung ist eine Firefox-Plugin (geladen von $ HOME / .mozilla / Plugins), so Wrapper-Skript, dass Sätze LD_LIBRARY_PATH ist keine einfache Option.
RPATH, soweit ich weiß, kann nicht auf $ HOME beziehen und nur absolue Weg sein kann.
versucht Firefox dlopen es Plugin von ~ / .mozilla / plugins aber fehlschlägt (weil es auf gemeinsam genutzte Bibliotheken hängt irgendwo im Benutzerverzeichnis installiert ist).
Ändern von Firefox Menüpunkt einen Wrapper (mit LD_LIBRARY_PATH), um rund um Firefox zu Hacky ist.
Was soll Skript Installateur tun (ohne Root-Zugriff) Standard firefox Last-Plug-In zu machen, die auf aus gemeinsam genutzten Bibliothek abhängt?
- Sollte ich versuche einfach einzubetten, alles zu machen, in die .so Abhängigkeiten zu entfernen?
- Sollte ich versuchen, Installationsskript zu machen Verknüpfen oder Patch RPATH während der Installationsphase zu beenden?
Lösung
Set RPATH zu $ORIGIN/lib
so der Lader für Bibliotheken in Bezug auf die meiner Datei aussehen wird.
Script entpackt nur das Plugin zu $HOME/.mozilla/plugins/myplugin.so
und Bibliotheken zu $HOME/.mozilla/plugins/lib/
rpath können Linker angegeben werden, obwohl die gcc durch Wl,-rpath,'$ORIGIN/lib'
Zugabe ($
sollte in einem Makefile verdoppelt werden) und kann auch nach der Kompilierung von patchelf
geändert werden.