Не удается найти пригодный файл init.tcl и конфликтную версию tcl

Я только что загрузил версию этого программного обеспечения для Linux ( http://inano.au.dk/about/research-centers/nmr/software/simpson/) после распаковки запускаемого файла sudo bash install.sh и все зависимости были установлены на моем Ubuntu 18.04, однако, когда я пытаюсь запустить тестовый файл с помощью simpson test.in это дает мне следующие ошибки

SIMPSON is unable to initialize Tcl interpreter. Is init.tcl on your path?
Error: Can't find a usable init.tcl in the following directories: 
    /usr/share/simpson/tcl8.6 /usr/share/tcltk/tcl8.6 ./lib/tcl8.6 ./lib/tcl8.6 ./library ./library ./tcl8.6.5/library ./tcl8.6.5/library

/usr/share/tcltk/tcl8.6/init.tcl: version conflict for package "Tcl": have 8.6.5, need exactly 8.6.8
version conflict for package "Tcl": have 8.6.5, need exactly 8.6.8
    while executing
"package require -exact Tcl 8.6.8"
    (file "/usr/share/tcltk/tcl8.6/init.tcl" line 19)
    invoked from within
"source /usr/share/tcltk/tcl8.6/init.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 [list source $tclfile]"

Кто-нибудь может мне с этим помочь? Я думаю, это должно быть просто, но я новичок в этом

2 ответа

Я думаю, что проблема в том, что simpson Установщик поставляется с собственными (устаревшими) версиями libtcl8.6.so (среди других общих библиотек), который конфликтует с "системной" версией.

Я бы предложил установить ВСЕ соответствующие пакеты (FFTW, BLAS и т. Д.) Из репозиториев Ubuntu, а затем закомментировать TCL_LIBRARY а также LD_LIBRARY_PATH экспорт в <bindir>/simpson скрипт-обёртка, где <bindir> это местоположение, которое вы указали в сценарии установки, так что связанные библиотеки полностью игнорируются.

Так, например, если <bindir> является ~/bin, затем ~/bin/simpson должен выглядеть примерно так

#!/bin/sh
#export TCL_LIBRARY=/home/steeldriver/share/tcl8.6
#export LD_LIBRARY_PATH=/home/steeldriver/share
/home/steeldriver/share/simpson4.2.1 "$@"

У меня была та же проблема, и я хотел быстро обновить эту ветку, рассказав, как я ее решил: вы были правы, SIMPSON поставляется со своей собственной общей библиотекой tcl, которая и является проблемой. Файл назывался libtcl8.6.so, который был у меня в папке /usr/share/simpson. Я просто удалил этот файл и все заработало.

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