Почему я не могу запустить этот исполняемый файл (.exe) в Octave? - proUbuntu
0 голосов
/ 11 апреля 2020

У меня есть исходный код, написанный на Фортране 90: sourcecode.f90

Требуются библиотеки Lapack для r компиляции, поэтому я компилирую исходный код с помощью этой команды:

gfortran -o executable.exe sourcecode.f90 -llapack

Когда я запускаю этот исполняемый файл в Ubuntu терминале, используя:

./executable.exe

все работает нормально. Но когда я пытаюсь запустить тот же исполняемый файл в скрипте Octave со строкой:

system("./executable.exe")

я получаю эту ошибку r в командном окне Octave:

./executable.exe: error while loading shared libraries: liblapack.so.3: cannot open shared object file: No such file or directory

Может Кто-нибудь, помогите мне понять, почему это происходит? Мне нужно запустить исполняемый файл в Octave для r большого r кода, но из-за этого я не могу этого сделать.

Я использую Ubuntu 18.04 с октавой 5.2.0.

1 Ответ

0 голосов
/ 11 апреля 2020

введите приведенные ниже команды

system('echo $SHELL');
system('echo $LD_LIBRARY_PATH');

и посмотрите, выглядят ли они так же, как при вводе echo на ваших r Ubuntu терминалах, если они не совпадают, скорее всего, вы начали r октава от запуска r, который запускает неинтерактивную оболочку вместо интерактивной оболочки (в этих случаях они имеют различные файлы rc, см. https://unix.stackexchange.com/a/170499/366890). по крайней мере вы можете запустить

system('LD_LIBRARY_PATH=/path/to/liblapack.so/folder ./executable.exe')

, найти правильный файл rc и добавить путь к LD_LIBRARYPATH в этой среде.

...