Os programas Tcl / Tk falham após a atualização para 18.04

1

Eu tenho um problema com um aplicativo Tcl / Tk, redet e Ubuntu 18.04. Eu instalei em 17.04, usando o synaptic para que todas as dependências dele fossem puxadas. Ele continuou a funcionar em 17.10. Após a atualização para 18.04, ele não pôde ser iniciado com as seguintes mensagens de erro.

Error in startup script: can't find package Itcl 3.4
    while executing
"package require Itcl 3.4"
    (file "/usr/share/tcltk/iwidgets4.1.0/iwidgets.tcl" line 18)
    invoked from within
"source /usr/share/tcltk/iwidgets4.1.0/iwidgets.tcl"
    ("package ifneeded Iwidgets 4.1.0" script)
    invoked from within
"package require Iwidgets"
    (file "/usr/bin/redet" line 27)

Embora tudo tenha ficado inalterado, acredito que todas as dependências foram satisfeitas, tentei instalar o redet em uma máquina diferente com o 18.04 instalado usando o synaptic. Todas as mesmas dependências foram puxadas, mas quando tentei executar o redet, recebi a mesma mensagem de erro. Pesquisando no Google, esse problema apareceu no passado em vários quadros de mensagens relacionados a Tcl / Tk, mas não há nenhuma noção óbvia que eu pudesse entender. A única pergunta que pude encontrar no AskUbuntu (P: Problema para instalar a ferramenta fv) não tinha respostas.

    
por Richard Quint 03.05.2018 / 18:44

1 resposta

2

Eu posso confirmar este problema na instalação limpa do Ubuntu 18.04 LTS com apenas um pacote redet instalado:

$ sudo apt-get install redet

$ redet 
Error in startup script: can't find package Itcl 3.4
    while executing
"package require Itcl 3.4"
    (file "/usr/share/tcltk/iwidgets4.1.0/iwidgets.tcl" line 18)
    invoked from within
"source /usr/share/tcltk/iwidgets4.1.0/iwidgets.tcl"
    ("package ifneeded Iwidgets 4.1.0" script)
    invoked from within
"package require Iwidgets"
    (file "/usr/bin/redet" line 27)

$ dpkg -S /usr/share/tcltk/iwidgets4.1.0/iwidgets.tcl
iwidgets4: /usr/share/tcltk/iwidgets4.1.0/iwidgets.tcl

$ dpkg -S /usr/bin/redet
redet: /usr/bin/redet

$ echo "puts [package req Itcl]" | tclsh
3.4

Então eu relatei o erro 1768973 para o launchpad.

O trabalho rápido e sujo é baixar o pacote do Xenial, instalá-lo e fixá-lo:

cd ~/Downloads
wget http://mirrors.kernel.org/ubuntu/pool/universe/i/itcl3/itcl3_3.4.3-1_amd64.deb
sudo apt-get install ./itcl3_3.4.3-1_amd64.deb

cat <<EOF | sudo tee /etc/apt/preferences.d/pin-itcl
Package: itcl3
Pin: version 3.4.3-1
Pin-Priority: 1337
EOF

Após essas ações, redet é lançado normalmente:

    
por N0rbert 03.05.2018 / 22:37