Spedizione GNU / Linux Firefox plugin con le librerie condivise (per l'installazione senza accesso root)

StackOverflow https://stackoverflow.com/questions/3015411

Domanda

L'applicazione è un plugin per Firefox (caricato da $ HOME / .mozilla / plugins), script in modo wrapper che imposta LD_LIBRARY_PATH non è una scelta facile.

RPATH, per quanto ne so, non può fare riferimento a $ HOME e non può che essere percorso absolue.

Firefox cerca di dlopen è Plugin da ~ / .mozilla / plugins ma fallisce (perché dipende da librerie condivise da qualche parte nella home directory dell'utente installati).

voce di menu Modifica Firefox per fornire un involucro (con LD_LIBRARY_PATH) intorno a Firefox è troppo hacky.

Che cosa dovrebbe fare script di installazione (senza accesso root) per fare di carico standard di Firefox plug-in che dipende dalla libreria condivisa?

  1. devo solo cercare di fare incorporare tutto in che .so per rimuovere le dipendenze?
  2. Dovrei provare a fare script di installazione per completare il collegamento o cerotto RPATH durante la fase di installazione?
È stato utile?

Soluzione

Set RPATH al $ORIGIN/lib così il caricatore cercherà librerie relative al mio file.

Script appena spacchetta il plugin per $HOME/.mozilla/plugins/myplugin.so e librerie per $HOME/.mozilla/plugins/lib/

rpath può essere specificato per linker se il gcc con l'aggiunta di Wl,-rpath,'$ORIGIN/lib' ($ dovrebbe essere raddoppiata in un Makefile) e può anche essere modificato dopo la compilazione da patchelf.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top