[SP-pm] perlbrew e distribuições Linux antigas

Blabos de Blebe blabos at gmail.com
Wed Jun 18 09:13:19 PDT 2014


Opa,

> Isso me faz lembrar porque eu já sai e entrei da SP.pm várias
> vezes...

Editar o Makefile diretamente é um porre. Se vc recorrer a isso com sucesso
merece uma medalha sim!

Talvez o lance das variáveis de ambiente seja uma questão de "tempos".

Variáveis do tipo INCLUDE* normalmente são utilizadas para apontar para os
headers, ou seja, os arquivos .h dos fontes do código em C. Normalmente
eles são distribuídos em pacotes *-dev, mas no seu caso, estão nos fontes
que você está compilando.

Já LD_LIBRARY_PATH aponta para onde o ld deve olhar pra encontrar os
binários das bibliotecas compartilhadas, normalmente *.so.

As bibliotecas compartilhadas precisam ser encontradas em dois tempos
"durante a compilação" e durante a execução.

No primeiro caso, pra ser mais específico, é na etapa de link-edição, que
acorre logo após a compilação, antes de gerar o seu executável (ou lib).

A LD_LIBRARY_PATH precisa apontar pros .so que você compilou, tanto no
momento da compilação do seu módulo (build) quanto durante a execução.

Na mensagem:

"Can't load '/home/alcjunio/.cpan/build/Net-SSLeay-1.64-8kuViY/blib/arch
/auto/Net/SSLeay/SSLeay.so"

O erro acontece no momento em que o script de teste está tentando carregar
o SSLeay.so que foi gerado durante o build.


"The perl application attempted to load /home/alcjunio/.cpan/build/Net
-SSLeay-1.64-8kuViY/blib/arch/auto/Net/SSLeay/SSLeay.so **which requires
text relocation**"


Com certa licença poética, bibliotecas compartilhadas guardam os endereços
de seus símbolos de forma relativa. Durante o load a aplicação carrega o
código e o coloca em endereços que ela conheça, mas que podem variar de
execução pra execução. Tipo um IP variável, alocado via DHCP.

Se não fosse assim, cada vez que eu criasse uma biblioteca, eu teria que me
preocupar em não usar os endereços de memória que outra já use. Como se eu
estivesse comprando um IP fixo. Isso é impraticável :)

É isso que significa o "text relocation". "text" é o nome do segmento de
memória (coisas assembly) onde fica guardada a versão executável do código.


"This is a potential security problem. Most libraries do not need this
permission. Libraries are sometimes coded incorrectly and request this
permission."

Não estou conseguindo associar o nome à pessoa nesse trecho.


"The SELinux Memory Protection Tests web page explains how to remove this
requirement. You can configure SELinux temporarily to allow
/home/alcjunio/.cpan/build/Net-SSLeay-1.64-8kuViY/blib/arch/auto/Net/SSLeay/SSLeay.so
to use relocation as a workaround, until the library is fixed."

Então há um workaround, é feio, mas vai funcionar.


"Please file a bug report against this package."


***

Sim, eu não adicionei nada relevante que possa te ajudar e não sei como
funcionam as configurações do SELinux mas ao pesquisar pela mensagem de
erro no Google, encontrei esses dois links com workarounds pra fazer
funcionar.

http://docs.fedoraproject.org/en-US/Fedora/13/html/SELinux_FAQ/index.html#faq-entry-unconfined_t

http://www-01.ibm.com/support/docview.wss?uid=swg21268209

Meu chute, e é só um chute, porque repito, não sei como funcionam as
configurações do SELinux, é que ele não deixa uma aplicação carregar uma
biblioteca compartilhada que esteja fora de diretórios padrão.

[]'s




2014-06-18 12:39 GMT-03:00 Alceu R. de Freitas Jr. <glasswalk3r em yahoo.com.br
>:

> Isso me faz lembrar porque eu já sai e entrei da SP.pm várias vezes...
>
>   Em Quarta-feira, 18 de Junho de 2014 11:11, Blabos de Blebe <
> blabos em gmail.com> escreveu:
>
>
>
> > No pior dos casos, você pode abrir manualmente o Makefile e colocar o
> > diretório estático.
>
> E ganhar uma medalha por isso :)
>
>
> =begin disclaimer
>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20140618/2856dac1/attachment-0001.html>


More information about the SaoPaulo-pm mailing list