Erro de script Perl: incompatibilidade de versão do byteloader

4

Eu tenho o script perl para o relatório do TSM que estava funcionando bem no AIX versão 5. Após o upgrade do AIX para a versão 6, o script não está funcionando. Estou recebendo este erro:

byteloader version mismatch expected 0.5 , got 0.6 .

Eu acho que depois de atualizar o SO Perl também foi atualizado de Perl 5.8.2 (trabalho) para 5.8.8 (não funciona).

O que preciso fazer para que esse script funcione no AIX 6?

    
por Amit Singh 08.07.2012 / 20:00

1 resposta

4

Seu script perl aparentemente usa o bytecode . Bytecode é como um código compilado. É um código pré-analisado que carrega com mais eficiência do que o código de script normal (a explicação realmente ruim, wikipedia provavelmente faz um trabalho melhor)

No entanto, em perl, a execução do bytecode é restrita à versão do módulo com o qual ele foi construído. Então, o que isto significa é que você usou o ByteLoader 0.5 para construir o bytecode, mas a caixa na qual você está rodando tem a versão 0.6.

A solução é reconstruir o script com a versão mais nova do módulo ByteLoader (sua documentação contém instruções para isso) ou executar o script normal não-bytecode. No entanto, ambos exigem que você ainda tenha a versão normal não-bytecode.

    
por 09.07.2012 / 03:47

Tags