我刚刚下载了这个软件的 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]"
谁能帮我这个?我想这应该很简单,但我对这些东西很陌生
我认为问题在于
simpson
安装程序与它自己的(过时的)版本libtcl8.6.so
(在其他共享库中)捆绑在一起,这与“系统”版本冲突。我建议从 Ubuntu 存储库安装所有相关软件包(FFTW、BLAS 等),然后在包装脚本中注释掉
TCL_LIBRARY
和LD_LIBRARY_PATH
导出,您提供给安装程序脚本的位置在哪里 - 以便捆绑库完全被忽略。<bindir>/simpson
<bindir>
例如,如果
<bindir>
是~/bin
,那么~/bin/simpson
应该看起来像我遇到了同样的问题,我想用我的解决方法快速更新这个线程:你是对的,SIMPSON 带有它自己的共享 tcl 库,这就是问题所在。该文件被称为
libtcl8.6.so
,这是我在文件夹中/usr/share/simpson
。我只是删除了那个文件,它就起作用了。