Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何告诉机器在特定目录中搜索“.so”?_Bash_Shell_Terminal - Fatal编程技术网

Bash 如何告诉机器在特定目录中搜索“.so”?

Bash 如何告诉机器在特定目录中搜索“.so”?,bash,shell,terminal,Bash,Shell,Terminal,我正在计算集群上运行一堆Fortran程序。由于机器之间的编译器差异,我无法在集群机器上编译,我需要在自己的机器上编译代码。现在,当我在集群上运行代码时,我收到一条消息,告诉我libgfortran.so.1丢失了。我要求集群管理员安装这个,但他不愿意。他告诉我,我可以将文件从自己的计算机复制到集群中,并将其放置在所需的文件夹中,然后在我的主目录的~/.login文件中放置一个条目(在集群中的所有计算机之间共享) 我这样做了,但信息仍然存在。因此,我尝试将其放在我的~/.bashrc和作业文件(

我正在计算集群上运行一堆Fortran程序。由于机器之间的编译器差异,我无法在集群机器上编译,我需要在自己的机器上编译代码。现在,当我在集群上运行代码时,我收到一条消息,告诉我
libgfortran.so.1
丢失了。我要求集群管理员安装这个,但他不愿意。他告诉我,我可以将文件从自己的计算机复制到集群中,并将其放置在所需的文件夹中,然后在我的主目录的
~/.login
文件中放置一个条目(在集群中的所有计算机之间共享)

我这样做了,但信息仍然存在。因此,我尝试将其放在我的
~/.bashrc
和作业文件(用于将作业上载到集群的bash脚本)中


那么,我如何引导计算机在所需路径中搜索文件呢?

我希望您设置
LD\u LIBRARY\u path
path
与可执行文件相关,而不是库相关)变量并将其导出


有关更多详细信息,请参见和。我希望您设置
LD_LIBRARY_PATH
PATH
与可执行文件相关,而不是与库相关)变量并将其导出


有关更多详细信息,请参见和

我可以将其放在bash脚本文件中吗?@Yotam:这可能发生在尝试加载可执行文件之前的任何时间。我不知道,也许需要一些实验here@IgnacioVazquez-Abrams关于选项
/lib/ld linux.so.2/home/yotama9/lib foo
?它能开吗?此外,在管理员辩护中,这是一个在水冷器旁边的对话。@Yotam:否。加载程序使用环境变量,而不是命令行选项。你也不应该像那样硬编码加载程序。如果必须,请使用子shell
(export LD_LIBRARY_PATH=…;./somebinary)
我能把它放在bash脚本文件中吗?@Yotam:它可以在尝试加载可执行文件之前的任何时候发生。我不知道,也许需要一些实验here@IgnacioVazquez-Abrams关于选项
/lib/ld linux.so.2/home/yotama9/lib foo
?它能开吗?此外,在管理员辩护中,这是一个在水冷器旁边的对话。@Yotam:否。加载程序使用环境变量,而不是命令行选项。你也不应该像那样硬编码加载程序。如果必须,请使用子shell<代码>(导出LD_库路径=…;/somebinary)
export PATH=$PATH:/home/yotama9/lib