Почему я не могу выполнить этот исполняемый файл (.exe) в Октаве?

Мне записали исходный код в Фортране 90: исходный код f90

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

gfortran -o executable.exe sourcecode.f90 -llapack

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

./executable.exe

все хорошо работает. Но когда я пытаюсь выполнить тот же исполняемый файл в сценарии Октавы со строкой:

system("./executable.exe")

Я получаю эту ошибку в командном окне Октавы:

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

Кто-либо может помочь мне понять, почему это происходит? Я должен выполнить executable.exe в Октаве для большего кода, но из-за этого, я не могу сделать так.

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

0
задан 11 April 2020 в 23:51

1 ответ

введите ниже команд

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

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

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

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

0
ответ дан 25 April 2020 в 10:50

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

Похожие вопросы: