[SP-pm] [cpan] help com o cpan

Luis Motta Campos luismottacampos em yahoo.co.uk
Terça Janeiro 16 06:00:55 PST 2007


On Jan 16, 2007, at 10:50 AM, Luis Motta Campos wrote:

> On Jan 15, 2007, at 8:46 PM, André Garcia Carneiro wrote:
>> Olá Monges!
>> Já faz algum tempo que eu venho tendo problemas com o CPAN. Bem, em
>> primeiro lugar a situação é a seguinte:
>> estou usando a distribuição Slackware 10.2, e o cpan que eu estou
>> usando, aparentemente não me diz que tem algo
>> errado. No entanto, depois que eu instalo um módulo, e faço perl -e
>> "use <modulo_instalado>", a mensagem é que
>> o módulo não existe em @INC. Reparei que o cpan não foi capaz de
>> copiar os arquivos após a compilação.
>
>    Quero os logs do seu ciclo make-test-install.
>
>> Tentei ver se era problema de permissão, mas aparentemente não é,
>> pois fiz um teste dando permissão de gravação
>> pra todos em /usr/lib/perl-<versao>. Mesmo assim o CPAN não copia
>> os arquivos.
>
>    Normalmente, não é problema de permissão.
>
>    Com que usuário você está tentando instalar o Catalyst?
>    Manda para a gente o output de "o conf" no seu CPAN shell.
>
>> Alguém já passou por isso também?
>
>    Eu. Muitas vezes. E por isso acho que seu problema é falha de
> compilação: alguma coisa está deixando de testar corretamente, e por
> causa disso o seu ciclo build-test-install não termina.
>
>> O problema é que estou tentando instalar o Catalyst, e não dá pra
>> instalar sem o CPAN, porque as dependências
>> são muitas. Claro que se alguém tiver outra idéia para instalar o
>> Catalyst, eu aceito sugestões...
>
>    O Debian tem pacotes prontos para o Catalyst.
>    É plausível argumentar que outras distros também tenham.
>
>    Aguardo os logs e configurações que eu pedi para fazer o  
> diagnóstico.


   André, eu reli tudo isso aqui e achei que podia te perguntar mais  
uma coisa: será que você está tentando instalar os módulos fora dos  
lugares listados no @INC, e isso está fazendo você ficar confuso?

   Eu tive problemas deste tipo por uns tempos, e depois resolvi com  
variáveis de ambiente.

   Se for este o seu caso, tem um jeito fácil de descobrir: executa

   perl -le 'print "@INC";' (as aspas duplas estão no lugar certo,  
elas são importantes)

   e olha a lista de diretórios padrão do seu @INC.

   Depois, se você não estiver mesmo instalando nada nestes  
diretórios, seta a variável PERL5LIB para apontar para os diretórios  
onde você está usando. Vai ter de brincar um pouco com isso, até  
conseguir que o Perl "saque" como a coisa funciona. É mais ou menos  
como setar PATH, vale múltiplos diretórios separados por ':' (se você  
estiver no unix, claro!), e você fique avisado que ele não é  
recursivo da maneira óbvia. ;-)

   Putamplexos recursivos.
--
Luis Motta Campos is software engineer,
perl fanatic evangelist, and amateur {cook, photographer}




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