For most Linux binaries, NCL was built using gcc and gfortran. This may cause a dependency on a file called "libgfortran.so.x". If you have a different version of gfortran installed on your system than what NCL was built with, then you may get an error message that "libgfortran.so.x can‘t be found". If you see this, then you can try one of these things: Try to find the libgfortran.so.x file that it is complaining about. You can try the "locate" command. For example if the file is "libgfortran.so.1": locate libgfortran.so.1If found, add this path to your LD_LIBRARY_PATH environment variable. For example, if "libgfortran.so.1" is the file you need, and it is in /usr/local/lib, then look at the instructions below, depending on what shell you are running, and depending on whether LD_LIBRARY_PATH is already set: env | grep LD_LIBRARY_PATHFrom csh or tcsh, if not set: setenv LD_LIBRARY_PATH /usr/local/libFrom csh or tcsh, if already set: setenv LD_LIBRARY_PATH $LD_LIBRARY_PATH:
/usr/local/libFrom bash or ksh, if not set: export LD_LIBRARY_PATH=/usr/local/libFrom bash or ksh, if already set: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/libFrom sh, if not set: LD_LIBRARY_PATH=/usr/local/lib export LD_LIBRARY_PATHFrom sh, if already set: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib export LD_LIBRARY_PATH Install the "compat-libgfortran" runtime library. See one of these sites for starters: http://rpmfind.net/linux/rpm2htm ... mpat-libgfortran-41 https://admin.fedoraproject.org/ ... 7a1a58108960859779f Install the version of gfortran that your version of NCL was built with. (It is possible to have multiple versions of gfortran installed on the same system without conflict.) It may then be necessary to set the LD_LIBRARY_PATH environment variable to the path of the "libgfortran.so.x" file. If all else fails, then send email to [email protected] You need to be a member in order to post
PATH和LD_LIBRARY_PATH本质都是变量,所谓变量的意思就是由别人赋值产生的,直觉往往会让我们添加和减少这个变量本身的某些路径,实际上这是不正确的。正确的做法是我们要去修改赋予这个变量数值的那些配置文件,加一条路径或者减一条。说到底变量只关乎显示,不关乎其用于显示的内容。
PATH: 可执行程序的查找路径
查看当前环境变量:
echo $PATH
设置:
方法一: export PATH=PATH:/XXX 但是登出后就失效
方法二:修改~/.bashrc或~/.bash_profile或系统级别的/etc/profile
1. 在其中添加例如export PATH=/opt/ActivePython-2.7/bin:$PATH
2. source .bashrc (Source命令也称为“点命令”,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录)
LD_LIBRARY_PATH: 动态库的查找路径
设置:
方法一: export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/XXX 但是登出后就失效
方法二: 修改~/.bashrc或~/.bash_profile或系统级别的/etc/profile
1. 在其中添加例如export PATH=/opt/ActiveP/lib:$LD_LIBRARY_PATH
2. source .bashrc (Source命令也称为“点命令”,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录)
方法三:这个没有修改LD_LIBRARY_PATH但是效果是一样的实现动态库的查找,
1. /etc/ld.so.conf下面加一行/usr/local/mysql/lib
2. 保存过后ldconfig一下(ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表.)
方法三设置稍微麻烦,好处是比较不受用户的限制。
今天用set设置PATH变量(加一个路径),发现虽然echo的时候显示修改成功了,实际执行命令的时候确没有去那个路径查找;当前shell是c shell(csh).
在网上找了一些材料,总结如下:
1.说明
使用set和setenv命令可以设置shell选项或者列出shell变量,其中setenv 是csh的命令,在bash中用export命令,alias作用相当windows下的快捷方式。
2.语法格式
set 变量名 = 内容
set 变量名 =(内容1 内容2 )
set 变量名 ="内容1 内容2"
setenv 变量名 内容
setenv 变量名 "内容1 内容2"
setenv 变量名 ‘内容1 内容2‘
alias 简化名称 原文件名
alias 简化名称 "原文件名 参数"
3。set主要是用来设置变量,这里的变量是普通变量,就像C语言里一样,使用一个变量以前要申明一下。
setenv中的env就是环境environment的简写,这个命令是用来设置环境变量的,譬如说设置文件路径、本地显示啊什么的,举个例,如果想调用服务器的软件在本地显示,用这个命令:setenv DISPLAY 1xx.1xx.1xx.1xx:0 。在bash中export命令和csh中的setenv命令类似。
4。环境变量和内部变量:后者不能被子进程继承(如同C里的局部变量)--改环境变量就会自动改内部变量,反之不然。“set”可给出内部变量列表,“env”可给出环境变量列表。继承只对环境变量有效
sh: PATH=/usr/bin:$PATH ; export PATH--注意:在export前为内部变量,之后为环境变量。
Csh: set setenv PATH /usr/bin:$PATH--注意: 在csh中环境变量的赋值(setenv)没有等号, 而内部变量的赋值(set)有等号。