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 <glasswal...@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@pm.org > L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> > =end disclaimer -- -dom -- Daniel de Oliveira Mantovani Business Analytic Specialist Perl Evangelist /Astrophysics hobbyist. +55 11 9 8538-9897 XOXO =begin disclaimer Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer