JModelica отказывается загружать libhsl.so
JModelica отказывается загружать файл libhsl.so
в качестве общей библиотеки, хотя я установил LD_LIBRARY_PATH
переменная:
Исключение типа: OPTION_INVALID в файле "../../../../Ipopt/src/Algorithm/IpAlgBuilder.cpp" в строке 321: Сообщение об исключении: выбранный линейный решатель MA27 недоступен. Попытка получить MA27 из общей библиотеки "libhsl.so", но произошла следующая ошибка: libhsl.so: невозможно открыть общий объектный файл: нет такого файла или каталога
Я пытался перекомпилировать и перезапустить JModelica разными способами.
Я поставил LD_LIBRARY_PATH
соответственно.
Я бегал ldconfig
,
Кажется, ничто не поможет.
Как я могу это исправить?
1 ответ
Начиная с версии 7885 ствола JModelica, JModelica грубо нарушает принцип наименьшего удивления.
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 здесь 2015-05-03. Патч был представлен на Revision 8185 для исправления проблемы, но после этого он продолжал появляться для меня в багажнике.