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

Ricardo Stock ricardostock at bol.com.br
Tue Jun 17 16:24:47 PDT 2014


Ola Alceu tudo bem. Eu ja passei por isso antes,e instalai as dependências manualmente, no meu caso utilizando uma maquina com ubuntu 9,tive que instalar as dependências, se te ajudar  segue a lista das libs necessárias para instalar o ssleay.


São elas

libnet-ssleay-perl - Perl module for Secure Sockets Layer SSL

libcrypt-ssleay-perl - Support for https protocol in LWP

libnet-https-any-perl - Perl module for HTTPS GET and POST using any available SSL module

libwhisker2-perl - Perl module geared for HTTP testing

libio-socket-inet6-perl - object interface for AF_INET6 domain sockets

libio-socket-ssl-perl - Perl module implementing object oriented interface to SSL sockets

libnet-dns-perl - Perform DNS queries from a Perl script

libio-socket-ip-perl - module for using IPv4 and IPv6 sockets in a protocol-independent way

libio-socket-multicast-perl - module for sending and receiving multicast messages

libio-socket-multicast6-perl - module for sending and receiving IPv4 and IPv6 multicast messages

libio-socket-socks-perl - extension to IO::Socket providing SOCKS proxy

libnet-imap-simple-perl - Perl module to manage an IMAP account

libnet-smtp-server-perl - native Perl SMTP Server implementation for Perl

libnet-smtp-ssl-perl - Perl module providing SSL support to Net::SMTP

libnet-smtp-tls-butmaintained-perl - Perl module for providing SMTP client supporting TLS and AUTH

libnet-smtp-tls-perl - Perl SMTP client library supporting TLS and AUTH

libnet-smtpauth-perl - Perl module that provides SMTP authentication Net::SMTP_auth

libemail-send-io-perl - Send mail via IO::All

libemail-send-perl - Perl module for simply sending email deprecated

libemail-sender-perl - Perl module for sending email

libemail-sender-transport-smtp-tls-perl -

lib_em_nome_do_pai_filho_espitiro_santo - AMEM :-)

SE ajudar ou não, tamo junto

Um abraço e boa sorte


Ricado Stock
ricardostock em bol.com.br
Um bom programador tem um desafio
Um programador mediano, tem um problema.




De: glasswalk3r em yahoo.com.br
Enviada: Terça-feira, 17 de Junho de 2014 12:11
Para: saopaulo-pm em pm.org
Assunto: [SP-pm] perlbrew e distribuições Linux antigas

Obrigado Daniel,

Instalar o OpenSSL no home do meu usuário foi bem tranquilo, mas 
aparentemente o IO::Socket::SSL não tem opções para eu apontar quais 
headers e bibliotecas do openssl ele deve usar, algo que o Crypt::SSLeay 
tem (http://search.cpan.org/dist/Crypt-SSLeay/SSLeay.pm#INSTALL). 
Aparentemente o Crypt::SSLeay está sendo substituído aos poucos pelo 
IO::Socket::SSL.

Eu tentei instalar o Crypt::SSLeay para ver que acontecia. As 
dependências entre os módulos também é meio confusa:

Running make test
Running Mkbootstrap for Crypt::SSLeay ()
chmod 644 SSLeay.bs
PERL_DL_NONLAZY=1 
/home/alcjunio/perl5/perlbrew/perls/perl-5.16.3/bin/perl 
"-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef 
*Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00-basic.t ..... ok
t/01-connect.t ... ok
t/02-live.t ...... # Reading configuration from 'test.config' on linux
# network_tests : 0
t/02-live.t ...... skipped: Network tests disabled
t/03-version.t ... ok
t/boilerplate.t .. ok
t/manifest.t ..... skipped: Author tests not required for installation
All tests successful.
Files=6, Tests=43,  0 wallclock secs ( 0.01 usr  0.04 sys +  0.25 cusr  
0.08 csys =  0.38 CPU)
Result: PASS
   NANIS/Crypt-SSLeay-0.72.tar.gz
Tests succeeded but one dependency not OK (LWP::Protocol::https)
   NANIS/Crypt-SSLeay-0.72.tar.gz
   [dependencies] -- NA
Failed during this command:
  SULLR/IO-Socket-SSL-1.993.tar.gz             : make_test NO
  GAAS/LWP-Protocol-https-6.04.tar.gz          : make_test NO one 
dependency not OK (IO::Socket::SSL); additionally test harness failed
  NANIS/Crypt-SSLeay-0.72.tar.gz               : make_test NO one 
dependency not OK (LWP::Protocol::https)

Isto está parecendo a história do ovo e da galinha. :-)

Eu não achei nada no Makefile.PL do IO::Socket::SSL que me permitisse 
especificar onde está o openSSL para ele usar. Tenho que fazer isso via 
manipulação da $LD_LIBRARY_PATH ou algo assim?


Em 17-06-2014 11:02, Daniel de Oliveira Mantovani escreveu:
> Bom dia Alceu,
>
> Baixa manualmente o OpenSSL
> (https://www.openssl.org/source/openssl-1.0.1h.tar.gz), compila e
> instala num diretório separado. Depois na hora de instalar o
> IO::Socket::SSL você aponta para o diretório separado que você
> instalou o OpenSSL.
>
> 2014-06-17 10:56 GMT-03:00 Alceu Rodrigues de Freitas Junior
> <glasswalk3r em yahoo.com.br>:
>> Bom dia pessoal,
>>
>> Estou com um problema que talvez algum de vocês já tenha tido experiência.
>>
>> Preciso instalar alguns scripts de monitoração em um servidor Linux mas cuja
>> distribuição já é um pouco velha. Para não mexer no perl "global", eu
>> resolvi usar o Perlbrew para instalar no diretório home de um usuário
>> específico e manter os módulos que preciso ali. Não preciso de permissões de
>> acesso maiores do que este usuário já possui também.
>>
>> Tudo ia bem até eu precisar instalar módulos relacionados com SSL. Como o
>> openssl da distribuição é muito velha, eu não consigo instalar coisas mais
>> recentes:
>>
>> cpan[2]> install IO::Socket::SSL
>> Running install for module 'IO::Socket::SSL'
>>    SULLR/IO-Socket-SSL-1.993.tar.gz
>>    Has already been unwrapped into directory
>> /home/alcjunio/.cpan/build/IO-Socket-SSL-1.993-FevB1C
>>    SULLR/IO-Socket-SSL-1.993.tar.gz
>>    Has already been prepared
>>    SULLR/IO-Socket-SSL-1.993.tar.gz
>>    Has already been made
>> Running make test
>> PERL_DL_NONLAZY=1 /home/alcjunio/perl5/perlbrew/perls/perl-5.16.3/bin/perl
>> "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef
>> *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
>> t/external/*.t
>> t/01loadmodule.t .................. 1/3 # openssl version=0x90802f
>> # Net::SSLeay::VERSION=1.64
>> t/01loadmodule.t .................. ok
>> t/acceptSSL-timeout.t ............. ok
>> t/auto_verify_hostname.t .......... ok
>> t/cert_formats.t .................. ok
>> t/cert_no_file.t .................. ok
>> t/compatibility.t ................. ok
>> t/connectSSL-timeout.t ............ ok
>> t/core.t .......................... ok
>> t/dhe.t ........................... ok
>> t/ecdhe.t ......................... skipped: no support for ecdh with this
>> openssl/Net::SSLeay
>> t/external/ocsp.t ................. skipped: no OCSP support
>> t/external/usable_ca.t ............ # found 148 CA certs
>> t/external/usable_ca.t ............ ok
>> t/io-socket-inet6.t ............... skipped: no IO::Socket::INET6 available
>> t/io-socket-ip.t .................. skipped: no IO::Socket::IP 0.20
>> available
>> t/memleak_bad_handshake.t ......... ok
>> t/mitm.t .......................... ok
>> t/nonblock.t ...................... ok
>> t/npn.t ........................... skipped: NPN not available in
>> Net::SSLeay
>> t/public_suffix_lib_encode_idn.t .. ok
>> t/public_suffix_lib_libidn.t ...... ok
>> t/public_suffix_lib_uri.t ......... ok
>> t/public_suffix_ssl.t ............. ok
>> t/readline.t ...................... ok
>> t/sessions.t ...................... ok
>> t/signal-readline.t ............... ok
>> t/sni.t ........................... skipped: because no server side SNI
>> support - openssl/Net::SSleay too old
>> t/start-stopssl.t ................. ok
>> t/startssl-failed.t ............... ok
>> t/startssl.t ...................... ok
>> t/sysread_write.t ................. ok
>> t/verify_fingerprint.t ............ 1/11
>> #   Failed test 'accept fp1 for saddr1'
>> #   at t/verify_fingerprint.t line 49.
>>
>> #   Failed test 'accept fp2 for saddr2'
>> #   at t/verify_fingerprint.t line 49.
>>
>> #   Failed test 'accept fp1|fp2 for saddr1'
>> #   at t/verify_fingerprint.t line 49.
>>
>> #   Failed test 'accept fp1|fp2 for saddr2'
>> #   at t/verify_fingerprint.t line 49.
>> t/verify_fingerprint.t ............ 8/11 # Looks like you failed 4 tests of
>> 11.
>> t/verify_fingerprint.t ............ Dubious, test returned 4 (wstat 1024,
>> 0x400)
>> Failed 4/11 subtests
>> t/verify_hostname.t ............... ok
>> t/verify_hostname_standalone.t .... ok
>>
>> Test Summary Report
>> -------------------
>> t/verify_fingerprint.t          (Wstat: 1024 Tests: 11 Failed: 4)
>>    Failed tests:  1-2, 5-6
>>    Non-zero exit status: 4
>> Files=33, Tests=700, 45 wallclock secs ( 0.15 usr  0.13 sys +  5.35 cusr
>> 1.64 csys =  7.27 CPU)
>> Result: FAIL
>> Failed 1/33 test programs. 4/700 subtests failed.
>> make: *** [test_dynamic] Error 255
>>    SULLR/IO-Socket-SSL-1.993.tar.gz
>>    /usr/bin/make test -- NOT OK
>> //hint// to see the cpan-testers results for installing this module, try:
>>    reports SULLR/IO-Socket-SSL-1.993.tar.gz
>> Failed during this command:
>>   SULLR/IO-Socket-SSL-1.993.tar.gz             : make_test NO
>>
>> Eu consigo ver duas opções:
>>
>> 1 - forçar a instalação dos módulos e correr o risco de incompatibilidades
>> de versões
>> 2 - atualizar a distribuição na tentativa de então conseguir instalar os
>> módulos Perl
>>
>> Como eu não tenho acesso à internet pelo servidor, tenho instalado e
>> configurado o Perlbrew em uma VM com as mesmas versões do servidor, então eu
>> poderia atualizar a VM. Mexer no servidor é algo que eu não tenho acesso, e
>> devido a questão de homologação, vai demorar uma vida até que eu consiga que
>> os responsáveis atualizem.
>>
>> Quão "isolada" é uma instalação do Perlbrew? Quando compilo algo em C, os
>> módulos vão usar bibliotecas compartilhadas? Ou tudo fica auto-contido?
>>
>> Obrigado,
>> Alceu
>> =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
>
>

=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


More information about the SaoPaulo-pm mailing list