[Rio-pm] instalar modulo B-C-1.04_20

breno breno em rio.pm.org
Quinta Março 12 05:25:56 PDT 2009


Oi Ivan,

bom, seguem algumas dicas:

- Aparentemente vc quer transformar código Perl em um programa binário
pré-compilado. Há muitos motivos certos pra se fazer isso, mas acho
que a maioria toma essa decisão pelos motivos errados - ainda mais
quem está começando e veio de uma linguagem que só roda quando
compilada. Pense, portanto, duas (ou mais) vezes. Lembre-se que vc não
precisa gerar executável para rodar programas em Perl.

- O B::C é um módulo experimental do perl série 5.8.x, que não está no
5.10 (que é o que eu acho que vc está usando). Para usá-lo, você
talvez deva instalar o 5.8.9, nem que seja em um diretório separado.
Além disso, atente para a documentação que diz que há  montes de bugs
ainda. De fato, do arquivo de mudanças(delta) do perl 5.8.9:

------------------8<------------------
B::C

The C-generating compiler backend B::C (the frontend being perlcc -c)
is even more broken than it used to be because of the extensive
lexical variable changes. (The good news is that B::Bytecode and
ByteLoader are better than they used to be.)
------------------>8------------------

- o PAR::Packer (pp) gera um executável sim, mas provavelmente não do
jeito que vc pensa. Ele empacota tudo dentro do binário - inclusive o
perl e libs externas que seu programa dependa - e há na verdade um
certo overhead de velocidade no início da execução em comparação com o
programa solto (afinal, passos são adicionados e não removidos nesse
processo).

- Ao instalar um módulo, o melhor caminho costuma ser o CPAN mesmo,
especialmente a shell "cpan" (que aparece ao digitar o comando
"cpan"). Se, em vez do cpan, vc baixou (ou te deram) o pacotão do
módulo em .tar.gz, pode usar o "pip" para instalá-lo com mais
facilidade: "pip Modulo.tar.gz". O pip funciona até em sites remotos,
e pode ser encontrado no CPAN.

- Se vc encontrar um erro em um teste, é pq um procedimento que
deveria funcionar em seu sistema falhou, o que torna o módulo pouco
confiável para execução. Fazer um "force install" é muito pouco
recomendado, muitas vezes só quando vc sabe pq determinado teste
falhou e não há problema (falta de conectividade com a Internet, por
exemplo) e quer deliberadamente instalá-lo mesmo assim. Normalmente,
em vez de mandar uma mensagem pra lista dizendo "tive um erro", mande
o erro! Não encontrou exatamente, cole toda a saida com "make test"
(ou a parte relevante da instalação automática por cpan/pip, começando
com "running make test" ou coisa que o valha) em um pastebin da vida e
nos avise pela lista - tem sempre alguém disposto a te ajudar, nem que
seja ajudar a mandar um bug report para o autor do módulo :-)

Bom, acho que é isso! Seja bem-vindo e não tenha medo de perguntar!

[]s

-b

2009/3/11 Ivan lopes <lopesivan.del em gmail.com>:
> amigos, eu fiz
> $ sudo apt-get install libpar-packer-perl
> e usei o pp, para gerar executavel ... muito bom mesmo!
>
>
>
> 2009/3/11 Ivan lopes <lopesivan.del em gmail.com>
>>
>> nao estou obtendo sucesso na instalacao do modulo B-C-1.04_20,
>>
>> alguem poderia me ajudar??? Obrigado!
>>
>>
>> procedimento que realizei:
>>
>> wget
>> http://search.cpan.org/CPAN/authors/id/R/RU/RURBAN/B-C-1.04_20.tar.gz
>> cd B-C-1.04_20
>> make
>> make test  <========== erro aqui!
>>
>>
>> todavia se faco:
>> sudo perl -MCPAN -e 'install B::C'
>>
>> instala no no modo force install .. mas nao funciona direito:
>>
>>
>> dados complementares:
>>
>> $ lsb_release -a
>> No LSB modules are available.
>> Distributor ID: Ubuntu
>> Description:    Ubuntu 8.10
>> Release:        8.10
>> Codename:       intrepid
>>
>>
>> $  perl -MConfig -e 'print $Config{libperl}, "\n"'
>> libperl.so.5.10.0
>>
>>
>> obs:
>> Sou um iniciante em perl, talvez minha duvida seja elemntar ...
>
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>


Mais detalhes sobre a lista de discussão Rio-pm