Envío plugin de Firefox Linux GNU / con bibliotecas compartidas (para la instalación sin acceso root)

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

Pregunta

La aplicación es un plugin de Firefox (cargado de $ HOME / .mozilla / plugins), secuencia de comandos para envoltorio que establece LD_LIBRARY_PATH no es una opción fácil.

rPath, por lo que yo sé, no puede referirse a $ HOME y puede ser único camino Absolue.

Firefox intenta dlopen igual que su contenido de ~ / .mozilla / plugins pero falla (porque depende de las bibliotecas compartidas en algún lugar del directorio personal del usuario instalado).

elemento de menú Modificación de Firefox para proporcionar un envoltorio (con LD_LIBRARY_PATH) alrededor de Firefox es demasiado hacky.

Lo que debería hacer script de instalación (sin acceso root) para hacer que la carga estándar de Firefox plug-ins que depende cabo biblioteca compartida?

  1. ¿Debo tratar de hacer encajar todo en que .so para eliminar dependencia?
  2. ¿Debería tratar de hacer script de instalación para terminar de vincular o rPath parche durante la fase de instalación?
¿Fue útil?

Solución

rPath Conjunto de $ORIGIN/lib por lo que el cargador buscará bibliotecas relativos a la mi archivo.

Script simplemente descomprime el plugin para $HOME/.mozilla/plugins/myplugin.so y bibliotecas para $HOME/.mozilla/plugins/lib/

rpath se puede especificar para enlazador aunque el gcc añadiendo Wl,-rpath,'$ORIGIN/lib' ($ debe ser duplicada en un Makefile) y también se puede cambiar después de la compilación por patchelf.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top