No Fedora, o programa Perl não consegue encontrar a biblioteca Time :: Piece

1

Eu tenho um programa Perl chamado /usr/bin/octbatch rodando como um script no Linux do Fedora 17.

Quando eu executo este comando:

/usr/bin/octbatch

Eu recebo o erro:

Can't locate Time/Piece.pm in @INC (@INC contains: 
/usr/local/lib64/perl5 /usr/local/share/perl5 
/usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl 
/usr/lib64/perl5 /usr/share/perl5) at /usr/bin/octbatch line 6.
BEGIN failed--compilation aborted at /usr/bin/octbatch line 6.

Aqui estão as linhas relevantes do script Perl:

#!/usr/bin/perl -wT

$ENV{PATH} = "/bin:/usr/bin:/usr/local/bin";
use strict;
use POSIX qw(setsid :sys_wait_h);

use Time::Piece;
use Time::Local;

Eu tenho que instalar o Piece.pm para que o perl possa encontrá-lo. Eu já instalei com este comando (usando os padrões):

/usr/bin/perl -MCPAN -e install Time::Piece

Eu tenho o arquivo Piece.pm em /home/el/perl5/lib/perl5/x86_64-linux-thread-multi/ no entanto, quando eu executo o comando octbatch, recebo o mesmo erro acima. Como se nem pudesse encontrá-lo.

Aqui está minha variável PERL5LIB:

el@defiant ~/gnuoctbluehost/single_stock_analysis $ env | grep PERL5

PERL5LIB=/home/el/perl5/lib/perl5/x86_64-linux-thread-multi:/home/el/perl5/lib/perl5

E o Piece.pm está localizado em / home / el / perl5 / lib / perl5 / x86_64-linux-thread-multi

Então, minha pergunta é: Por que não encontrar meu arquivo Piece.pm? E quais são as maneiras que eu posso obter a variável @ INC para incluí-lo. Ou como faço o perl ver isso?

    
por Eric Leschinski 18.12.2012 / 00:00

1 resposta

2

O Fedora 17 inclui o Time :: Piece

Use o comando: yum install perl-Time-Piece

Você pode descobrir isso com a pesquisa do Google: fedora 17 Time-Piece e acessar o primeiro link.

Trabalhe para incluir manualmente o caminho e a biblioteca:

Verifique se a linha a seguir é anterior a use Time::Piece; , mas depois de #!/usr/bin/perl -wT .

use lib "/home/el/perl5/lib/perl5/x86_64-linux-thread-multi";

Que diz ao meu programa perl onde procurar por Time :: Piece. Então o programa funciona.

    
por 18.12.2012 / 00:06