Eu tenho Debian GNU/Linux trixie/sid
e instalei o publican do repositório do Debian. (O publican está fazendo gravação e publicação para DocBook
)
Quando eu executo publican
, ele recebo as seguintes mensagens:
Attempt to call undefined import method with arguments ("abs2rel") via package "File::Spec" (Perhaps you forgot to load the package?) at /usr/share/perl5/Publican/TreeView.pm line 12.
Duplicate specification "help" for option "help"
Can't open publican: No such file or directory at /usr/bin/publican line 646.
A versão do meu publican é 4.3.2-4
.
Também instalei libfile-spec-native-perl
o pacote do repositório.
Então eu baixo o código fonte via:
apt source publican
Em seguida, execute publican e obtenha o seguinte erro:
mohsen@debian:~/src-compiled/publican/publican-4.3.2/bin$ ./publican
Attempt to call undefined import method with arguments ("abs2rel") via package "File::Spec" (Perhaps you forgot to load the package?) at /usr/share/perl5/Publican/TreeView.pm line 12.
Duplicate specification "help" for option "help"
Action required!
De acordo com a string acima Action Required!
adicionada à saída.
Não sei como resolver isso.
Você me deixa feliz se resolver meu problema.
A mensagem "Attempt to call undefined import method..." é um aviso introduzido no Perl 5.40.0 (veja perl5400delta ). Versões mais antigas do Perl não mostravam esse aviso.
No entanto, o aviso está correto neste caso. File::Spec usa orientação a objetos e não exporta nada. O código em publican deveria usar File::Spec::Functions . É possível que versões ancinet
File::Spec
exportassem as funções diretamente, mas não consigo encontrar tal versão no histórico do git do Perl, porque os arquivos de origem foram movidos para um local diferente ao longo dos anos.Parece que o publican é muito antigo e não é mantido atualizado com o Perl. Você pode tentar alterar a linha
para
mas é possível que você encontre problemas semelhantes.