Envio GNU/Linux Firefox Plugin com bibliotecas compartilhadas (para instalação sem acesso à raiz)

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

Pergunta

O aplicativo é um plug -in do Firefox (carregado de $ home/.mozilla/plugins), portanto, o script do wrapper que define LD_Library_Path não é uma opção fácil.

Rath, até onde eu sei, não pode se referir a $ home e pode ser apenas um caminho absoluto.

O Firefox tenta dlopen, é o plug -in de ~/.mozilla/plugins, mas falha (porque depende de bibliotecas compartilhadas instaladas em algum lugar do diretório inicial do usuário).

Modificando o item do menu do Firefox para fornecer um invólucro (com ld_library_path) em torno do Firefox é muito hacky.

O que o Script do instalador deve fazer (sem acesso raiz) para fazer plug-ins de carga do Firefox padrão que depende da biblioteca compartilhada?

  1. Devo apenas tentar transformar tudo nisso. Então, para remover as dependências?
  2. Devo tentar criar o Script do instalador para terminar de vincular ou remendar RPath durante a fase de instalação?
Foi útil?

Solução

Defina rpath como $ORIGIN/lib Portanto, o carregador procurará bibliotecas em relação ao meu arquivo.

Script apenas descompacta o plugin para $HOME/.mozilla/plugins/myplugin.so e bibliotecas para $HOME/.mozilla/plugins/lib/

RPath pode ser especificado para o vinculador, através do GCC, adicionando Wl,-rpath,'$ORIGIN/lib' ($ deve ser dobrado em um makefile) e também pode ser alterado após a compilação por patchelf.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top