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. <[email protected] >: > 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 < > [email protected]> 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: [email protected] > L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> > =end disclaimer > >
=begin disclaimer Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: [email protected] L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer
