Tcl: установка пакета старкит?
(просто хотел задокументировать это; сам ответ ответить)
Я только что нашел Visual REGEXP: графический проводник для ваших регулярных выражений, который является приложением Tck/Tk, поэтому я хотел попробовать его на Ubuntu 11.04 natty.
Сначала я попробовал эту версию 3.0:
$ wget http://laurent.riesterer.free.fr/regexp/visual_regexp-3.0.tar.gz
$ tar xzvf visual_regexp-3.0.tar.gz
$ cd visual_regexp-3.0/
$ ./visual_regexp.tcl
./visual_regexp.tcl: 48: Syntax error: word unexpected (expecting ")")
$ bash visual_regexp.tcl
visual_regexp.tcl: line 48: syntax error near unexpected token `platform'
visual_regexp.tcl: line 48: `if {$tcl_platform(platform) == "windows"} {'
$ sh visual_regexp.tcl
visual_regexp.tcl: 48: Syntax error: word unexpected (expecting ")")
$ tclsh visual_regexp.tcl
0
invalid command name "toplevel"
while executing
"toplevel .history"
(procedure "regexp::history:init" line 5)
invoked from within
"regexp::history:init"
(file "visual_regexp.tcl" line 1080)
$ wish visual_regexp.tcl # finally works
$ readlink -f $(which wish)
/usr/bin/wish8.4
$ wish8.5 visual_regexp.tcl # works too, better fonts
$ cd ..
Хорошо, теперь я хочу попробовать версию 3.1:
$ wget http://laurent.riesterer.free.fr/regexp/visual_regexp-3.1.tcl
$ wish8.4 visual_regexp-3.1.tcl
Error in startup script: can't find package starkit
while executing
"package require starkit"
(file "visual_regexp-3.1.tcl" line 1)
$ tclsh visual_regexp-3.1.tcl
can't find package starkit
while executing
"package require starkit"
(file "visual_regexp-3.1.tcl" line 1)
В поисках этой ошибки наиболее подходящие хиты, которые я могу найти:
ШАГ 1: Получить Tclkit и SDX
[...]
Если эта команда отвечает сообщением об ошибке "не удается найти пакет starkit", вам необходимо добавить разрешения на чтение в ваш двоичный файл tclkit. В системах типа UNIX/Linux это может быть сделано через: chmod u+r tclkit
Хорошо... сначала я подумал, что для этого есть пакет Ubuntu tclkit
, но не смог найти; и так в итоге сделал это:
$ wget http://tclkit.googlecode.com/files/tclkit-8.5.9-linux-ix86.gz
$ gzip -d tclkit-*.gz
$ chmod +x tclkit-8.5.9-linux-ix86
$ sudo ln -s $(readlink -f ./tclkit-8.5.9-linux-ix86) /usr/bin/
$ which tclkit
/usr/bin/tclkit
$
$ wget http://tclkit.googlecode.com/files/sdx-20110317.kit
$ chmod +x sdx-20110317.kit
$ sudo ln -s $(readlink -f ./sdx-20110317.kit) /usr/bin/sdx.kit
$ which sdx.kit
/usr/bin/sdx.kit
$ tclkit sdx.kit
couldn't read file "sdx.kit": no such file or directory
$ tclkit $(which sdx.kit)
Specify one of the following commands:
addtoc eval fetch ftpd httpd httpdist ls lsk md5sum mkinfo mkpack mkshow mksplit mkzipkit qwrap ratarx rexecd starsync sync tgz2kit treetime unwrap update version wrap
For more information, type: /usr/bin/sdx.kit help ?command?
$ tclkit visual_regexp-3.1.tcl
0
invalid command name "toplevel"
while executing
"toplevel .history"
(procedure "regexp::history:init" line 5)
invoked from within
"regexp::history:init"
(file "visual_regexp-3.1.tcl" line 1510)
$ wish8.4 visual_regexp-3.1.tcl
Error in startup script: can't find package starkit
while executing
"package require starkit"
(file "visual_regexp-3.1.tcl" line 1)
$ tclsh visual_regexp-3.1.tcl
can't find package starkit
while executing
"package require starkit"
(file "visual_regexp-3.1.tcl" line 1)
Итак, по-видимому, я получил tclkit
а также sdx.kit
работает - но все еще не могу visual_regexp-3.1.tcl
бежать? Как мне запустить это на Ubuntu?
1 ответ
Ответ: пропавшая вещь была tclvfs
пакет.
А именно, после всего этого я попытался найти visual_regexp-3.1.tcl
- и понял, что для этого есть пакет Ubuntu. Так я и сделал
$ sudo apt-get install visual-regexp
The following extra packages will be installed:
tclvfs
...
The following NEW packages will be installed:
tclvfs visual-regexp
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 136 kB of archives.
After this operation, 590 kB of additional disk space will be used.
Do you want to continue [Y/n]? ...
$ which visual-regexp
/usr/bin/visual-regexp
После этого оба visual-regexp
отлично работает, и wish8.5 visual_regexp-3.1.tcl
; однако учтите, что visual_regexp-3.1.tcl
не работает с wish8.4
:
$ wish8.4 visual_regexp-3.1.tcl
0
Error in startup script: unknown option "-tristatevalue"
while executing
"checkbutton .top.regexp.options.$option -text $label -borderwidth 1 -underline $underline -variable regexp::data(v:$option) -offvalue "" ..."
(procedure "regexp::gui" line 33)
invoked from within
"regexp::gui"
(file "visual_regexp-3.1.tcl" line 1511)
Наконец, обратите внимание, что visual_regexp-3.1.tcl
видимо все еще помечено как 3.0: