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.

Кажется, ничего не помогает.

Как я могу это исправить?


person Richard    schedule 20.08.2015    source источник


Ответы (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. Около версии 8185 был представлен патч для исправления проблемы, но после этого он продолжал появляться у меня на стволе.

person Richard    schedule 20.08.2015