2

我有一个包含一个主节点和 3 个计算节点的集群。计算机对 Internet 的访问受到限制。

我在主节点上安装了 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。这是清除任何缓存或缺少环境变量的问题吗?

谢谢

4

1 回答 1

1

在计算节点上,找到文件Ipopt/deps/deps.jl,并调整找到的路径libipopt.so

# Load dependencies
@checked_lib libipopt "/full/path/to/v0.6/Ipopt/deps/usr/lib/libipopt.so"
于 2018-06-19T08:56:45.083 回答