Как настроить Matlab MCR для Ubuntu и Netbeans (UnsatisfiedLinkedError)

Я развертываю проект Java EE на сервере, который использует MCR Matlab для некоторых функций обработки изображений. Я пытался это месяцами, я не могу заставить это работать. Проблема в том, что когда он собирается использовать MCR, он не может найти библиотеки.so. Я получил эту ошибку:

javax.servlet.ServletException: не удалось найти библиотеку libmwmclmcrrt.so.7.13, требуемую для компоновщика MATLAB JA, на java.library.path. Эта библиотека обычно устанавливается вместе с MATLAB или MCR, ее отсутствие может указывать на проблему с этой установкой или на текущую конфигурацию пути. Версия MCR, которую пытается использовать этот компонент, - 7.13.

ПЕРВОПРИЧИНА:

java.lang.UnsatisfiedLinkError: Не удалось найти библиотеку libmwmclmcrrt.so.7.13, необходимую для MATLAB Builder JA, в java.library.path. Эта библиотека обычно устанавливается вместе с MATLAB или MCR, ее отсутствие может указывать на проблему с этой установкой или текущей конфигурацией пути. Версия MCR, которую пытается использовать этот компонент: 7.13.

Сервер использует:

  • Ubutuntu 64 бит.
  • NetBeans 7,4
  • Стеклянная рыба
  • Java 6 SDK
  • сначала он использует MCR 7.13, теперь он использует MCR 8.1

Вещи, которые я уже пробовал:

  • Установка переменных среды LD_LIBRARY_PATH и XAPPLERSDIR с экспортом:

export LD_LIBRARY_PATH = / usr / local /MATLAB/MATLAB_Compiler_Runtime/ v81/ runtime / glnxa64:/ usr / local /MATLAB/MATLAB_Compiler_Runtime/ v81/ bin / glnxa64:/ usr / local / MATLAB / MATLAB_64_sync: v1 / / USR / местные /MATLAB/MATLAB_Compiler_Runtime/ V81/ SYS / Java / JRE /glnxa64/ JRE / Библиотека /amd64/native_threads:/ USR / местные /MATLAB/MATLAB_Compiler_Runtime/ V81/ SYS / Java / JRE /glnxa64/ JRE / Библиотека / amd64 / сервер:/ USR / местные /MATLAB/MATLAB_Compiler_Runtime/ V81/ SYS / Java / JRE /glnxa64/ JRE / Библиотека / amd64: $ LD_LIBRARY_PATH

export XAPPLRESDIR = / usr / local /MATLAB/MATLAB_Compiler_Runtime/ v81/ X11 / app-defaults

  • Установка переменных среды LD_LIBRARY_PATH и XAPPLERSDIR с помощью setenv:

Команда setenv не найдена

Я перепробовал много других вещей, которые я не могу вспомнить, и ни одна из них не работает, он продолжает показывать ту же ошибку (теперь для версии 8.1 вместо 7.13). Пожалуйста, я буду признателен за любую помощь.

1 ответ

Решение

У меня была такая же проблема при работе с Linux, Java EE и Matlab. Мое решение было:

  • Откройте терминал
  • Войти как root $ su и введите пароль
  • Отредактируйте / etc / enviroment $ gedit /etc/enviroment
  • Добавьте необходимые переменные, в нашем случае:

LD_LIBRARY_PATH = "/ USR / местные /MATLAB/MATLAB_Compiler_Runtime/ V81/ выполнения /glnxa64:/ USR / местные /MATLAB/MATLAB_Compiler_Runtime/ V81/ бен /glnxa64:/ USR / местные /MATLAB/MATLAB_Compiler_Runtime/ V81/ SYS / OS /glnxa64:/ USR / местные /MATLAB/MATLAB_Compiler_Runtime/ V81/ SYS / Java / JRE /glnxa64/ JRE / Библиотека /amd64/native_threads:/ USR / местные /MATLAB/MATLAB_Compiler_Runtime/ V81/ SYS / Java / JRE /glnxa64/ JRE / Библиотека / amd64 / сервер: / USR / местные /MATLAB/MATLAB_Compiler_Runtime/ V81/ SYS / Java / JRE /glnxa64/ JRE / Библиотека / amd64"

XAPPLRESDIR = "/ USR / местные /MATLAB/MATLAB_Compiler_Runtime/ V81/X11/ приложение-умолчанию"

  • Сохраните файл и перезагрузитесь.
  • Запустите сервер от имени пользователя root.

Что произошло с вашими другими решениями, такими как экспорт, было то, что не было никакой видимости между переменными, которые вы создали, и сервером GlassFish. Установка переменных в среде гарантирует, что они видны из любой другой программы / процесса.

Другие вопросы по тегам