JModelica拒绝加载libhsl.so

时间:2015-08-20 07:22:39

标签: jmodelica

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

  

类型的异常:第321行的文件“../../../../Ipopt/src/Algorithm/IpAlgBuilder.cpp”中的OPTION_INVALID:    异常消息:选定的线性求解器MA27不可用。   试图从共享库“libhsl.so”获取MA27,但发生以下错误:   libhsl.so:无法打开共享对象文件:没有这样的文件或目录

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

我已正确设置LD_LIBRARY_PATH

我已经开始ldconfig

似乎没有任何帮助。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

从JModelica主干的版本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 \

解决问题。

这是在2015-05-03在JModelica的网站here上作为用户补丁提出的。大约在修订版8185上提交了一个修补程序以解决问题,但在此之后它继续在我的行李箱上出现。