我刚刚下载了这个软件的linux版本(http://inano.au.dk/about/research-centers/nmr/software/simpson/),在解压缩我运行的sudo bash install.sh
文件之后,所有的依赖项都安装在我的ubuntu18.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]"
有人能帮我吗?我想这应该很简单,但我对这件事很在行
发布于 2019-03-27 21:50:40
我认为问题在于,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 "$@"
发布于 2022-03-14 13:32:00
我也遇到了同样的问题,我想用我如何解决它的方法来快速更新这个线程:您是对的,SIMPSON附带了它自己的共享tcl库,这就是问题所在。该文件名为libtcl8.6.so
,为我在/usr/share/simpson
文件夹中提供服务。我只是删除了那个文件就行了。
https://askubuntu.com/questions/1118480
复制相似问题