Программы Tcl / Tk не работают после обновления до 18.04

У меня проблема с приложением Tcl / Tk, redet и Ubuntu 18.04. Я установил его в 17.04, используя synaptic, чтобы все его зависимости были задействованы. Он продолжал работать в 17.10. После обновления до 18.04 он не смог запуститься со следующими сообщениями об ошибках.

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)

Хотя все было без изменений, поэтому я считаю, что все зависимости были удовлетворены, я попытался установить redet на другом компьютере с 18.04, установленным с использованием Synaptic. Были введены все те же зависимости, но когда я попытался запустить redet, я получил то же сообщение об ошибке. Погуглив, эта проблема появлялась в прошлом на нескольких досках объявлений, связанных с Tcl / Tk, но я не могу понять очевидного решения. Единственный вопрос, который я мог найти в AskUbuntu (вопрос: проблема с установкой утилиты fv), не дал никаких ответов.

2
задан 3 May 2018 в 19:44

1 ответ

Я могу подтвердить эту проблему о чистой установке Ubuntu 18.04 LTS с установленным всего один redet пакет:

$ 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

Таким образом, я сообщил об ошибке 1768973 к панели запуска.


Быстрое и грязное обходное решение должно загрузить пакет с Гостеприимного, установить его и контакт:

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

После этих действий redet обычно запускается:

redet on Bionic

3
ответ дан 2 December 2019 в 02:43

Другие вопросы по тегам:

Похожие вопросы: