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

Alceu Rodrigues de Freitas Junior glasswalk3r at yahoo.com.br
Tue Jun 17 08:11:53 PDT 2014


Parece uma boa (e eu consigo garantir a compatibilidade) mas sem 
conseguir usar o openssl mais atualizado não vai ajudar.

Em 17-06-2014 11:10, Daniel de Oliveira Mantovani escreveu:
> Alceu, se você quer apenas copiar o código passa a flag "-fPIC"
> (Position Independent Code) para o compilador que o objeto não vai
> usar bibliotecas compartilhadas. Assim, você consegue copiar da vmware
> para a máquina física se e somente se:
>
> - For o mesmo O.S
> - Mesmo Instruction Set (uname -m)
>
> 2014-06-17 10:56 GMT-03:00 Alceu Rodrigues de Freitas Junior
> <glasswalk3r at 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 at pm.org
>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>
>



More information about the SaoPaulo-pm mailing list