Мне записали исходный код в Фортране 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.
введите ниже команд
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
в той среде.