Gurobi java API问题:libgurobi95.so:无法打开共享对象文件:没有这样的文件或目录



我第一次尝试使用Gurobi java API,并尝试在这里运行MIP1示例:https://www.gurobi.com/documentation/9.1/examples/mip1_java.html

我在Linux Ubuntu机器上使用IntelliJ IDEA。我将gurobi模块导入到IntelliJ中,程序构建没有错误。但当我尝试运行它时,我会得到以下错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: /home/ramy/gurobi950/linux64/lib/libGurobiJni95.so: libgurobi95.so: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1934)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1850)
at java.lang.Runtime.loadLibrary0(Runtime.java:871)
at java.lang.System.loadLibrary(System.java:1124)
at gurobi.GurobiJni.<clinit>(GurobiJni.java:304)
at gurobi.GRBEnv.<init>(GRBEnv.java:107)
at com.example.java.Main.main(Main.java:20)
Process finished with exit code 1

您需要将LD_LIBRARY_PATH设置为指向Gurobi安装的lib路径,如Gurobi的安装说明中所述。

对于Linux上的Gurobi 9.5,这通常通过以下命令来实现:

export GUROBI_HOME="/opt/gurobi950/linux64"
export PATH="${PATH}:${GUROBI_HOME}/bin"
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${GUROBI_HOME}/lib"

我遇到了同样的问题,并且环境变量都设置正确。我的解决方案是:

sudo ln -s $GUROBI_HOME/lib/libgurobi91.so /usr/lib
sudo ln -s $GUROBI_HOME/lib/libGurobiJni91.so /usr/lib
sudo ldconfig

然后,可以执行示例程序。我使用的是9.1版本。如果仍然存在错误,可以尝试用真实路径替换$GUROBI_HOME。

相关内容

  • 没有找到相关文章

最新更新