JModelica 拒绝加载 libhsl.so

JModelica refuses to load libhsl.so

JModelica 拒绝将文件 libhsl.so 作为共享库加载,即使我已经设置了 LD_LIBRARY_PATH 变量:

Exception of type: OPTION_INVALID in file "../../../../Ipopt/src/Algorithm/IpAlgBuilder.cpp" at line 321: Exception message: Selected linear solver MA27 not available. Tried to obtain MA27 from shared library "libhsl.so", but the following error occured: libhsl.so: cannot open shared object file: No such file or directory

我已经尝试以多种方式重新编译和重新运行ning JModelica。

我已经适当地设置了LD_LIBRARY_PATH

我有 运行 ldconfig.

似乎没有任何帮助。

我该如何解决这个问题?

自 JModelica t运行k 的修订版 7885 起,JModelica 严重违反了 Principle of Least Astonishment.

JModelica 建议您使用脚本 /usr/local/jmodelica/bin/jm_python.sh 或者您有什么 运行 您的 JModelica 代码。

挖掘这个脚本的内部,我们发现以下行:

LD_LIBRARY_PATH=:/root/Ipopt-3.12.4/build/lib/:/usr/local/jmodelica/ThirdParty/Sundials/lib:/usr/local/jmodelica/ThirdParty/CasADi/lib \

请注意,LD_LIBRARY_PATH 正在被覆盖,因此无论您将其设置为什么都没有关系!

将此行更改为:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root/Ipopt-3.12.4/build/lib/:/usr/local/jmodelica/ThirdParty/Sundials/lib:/usr/local/jmodelica/ThirdParty/CasADi/lib \

解决问题。

这是 JModelica 网站 here 于 2015 年 5 月 3 日作为用户补丁提出的。大约在修订版 8185 上提交了一个补丁来解决这个问题,但它在 t运行k 之后继续出现。