我有一个拥有一个主节点和3个计算节点的集群。计算限制了对互联网的访问。
我在主节点上安装了Julia和Ipopt。然后将整个安装复制到计算节点。 Ipopt已添加并构建在主服务器上。
在主人身上:
/share/apps/Julia/julia-903644385b/
Pkg.dir(): "/home/user1/.julia/v0.6"
在计算机上:
partition1/apps/Julia/julia-903644385b/
Pkg.dir(): "/partition1/apps/Julia/julia-903644385b/share/julia/site/v0.6"
base=/partition1
export JULIADIR=$base/apps/Julia/julia-903644385b/
export JULIA_HOME=$JULIADIR/bin
export JULIA_PKGDIR="/partition1/apps/Julia/julia-903644385b/share/julia/site/v0.6"
export LD_LIBRARY_PATH=$JULIADIR/lib/julia:$JULIA_PKGDIR/v0.6/Ipopt/deps/usr/lib/:$LD_LIBRARY_PATH
export PATH=$JULIADIR/bin:$PATH
运行示例Ipopt脚本导致错误:
ERROR: LoadError: LoadError: Unable to load
libipopt (/share/apps/Julia/julia-903644385b/share/julia/site/v0.6/Ipopt/deps/usr/lib/libipopt.so)
计算节点上的Julia正试图从主节点获取Ipopt。这是清除任何缓存或缺少env变量的问题吗?
由于
答案 0 :(得分:1)
在计算节点上,找到文件Ipopt/deps/deps.jl
,并调整路径以查找libipopt.so
:
# Load dependencies
@checked_lib libipopt "/full/path/to/v0.6/Ipopt/deps/usr/lib/libipopt.so"