当执行函数动态链接.so时,如果从文件不在缺省目录’/lib’and’/usr/lib’。那么就需要指定环境变量LD_LIBRARY_PATH。
假如现在需要在已有的环境变量上添加新的路径名,在linux下可以采用export命令来设置这个值,在终端输入:
vim ~/.bashrc
在bashrc文件最后添加下面的export:
export LD_LIBRARY_PATH=/opt/au1200/bin:$LD_LIBRARY_PATH
然后保存退出,
source ~/.bashrc
然后在输入export就会显示是否设置正确。
export方式在重启后失效,想要永久添加可以vim /etc/bashrc,修改其中的LD_LIBRARY_PATH变量。
例如:LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/au1200/bin。
PATH: 可执行程序的查找路径
查看当前环境变量:
echo
P
A
T
H
设
置
:
方
法
一
:
e
x
p
o
r
t
P
A
T
H
=
P
A
T
H
:
/
X
X
X
但
是
登
出
后
就
失
效
方
法
二
:
修
改
/
.
b
a
s
h
r
c
或
/
.
b
a
s
h
p
r
o
f
i
l
e
或
系
统
级
别
的
/
e
t
c
/
p
r
o
f
i
l
e
1.
在
其
中
添
加
例
如
e
x
p
o
r
t
P
A
T
H
=
/
o
p
t
/
A
c
t
i
v
e
P
y
t
h
o
n
−
2.7
/
b
i
n
:
PATH 设置: 方法一:export PATH=PATH:/XXX 但是登出后就失效 方法二:修改~/.bashrc或~/.bash_profile或系统级别的/etc/profile 1. 在其中添加例如export PATH=/opt/ActivePython-2.7/bin:
PATH设置:方法一:exportPATH=PATH:/XXX但是登出后就失效方法二:修改 /.bashrc或 /.bashprofile或系统级别的/etc/profile1.在其中添加例如exportPATH=/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,此文件保存已排好序的动态链接库名字列表.)
方法三设置稍微麻烦,好处是比较不受用户的限制。
例如:
对于用户production的LD_LIBRARY_PATH进行分析如下:
1、production@Africa:~> echo
L
D
L
I
B
R
A
R
Y
P
A
T
H
/
h
o
m
e
/
p
r
o
d
u
c
t
i
o
n
/
c
p
s
t
/
c
p
t
o
o
l
s
/
l
i
b
:
/
h
o
m
e
/
p
r
o
d
u
c
t
i
o
n
/
c
p
s
t
/
c
a
m
p
o
s
t
/
l
i
b
:
/
h
o
m
e
/
p
r
o
d
u
c
t
i
o
n
/
t
u
x
e
d
o
/
l
i
b
:
/
h
o
m
e
/
p
r
o
d
u
c
t
i
o
n
/
t
u
x
e
d
o
/
j
r
e
/
l
i
b
/
a
m
d
64
/
s
e
r
v
e
r
:
/
h
o
m
e
/
p
r
o
d
u
c
t
i
o
n
/
t
u
x
e
d
o
/
j
r
e
/
j
r
e
/
b
i
n
:
/
u
s
r
/
l
i
b
:
/
u
s
r
/
l
i
b
64
:
/
l
i
b
:
/
l
i
b
64
:
/
u
s
r
/
l
o
c
a
l
/
l
i
b
:
/
u
s
r
/
l
o
c
a
l
/
l
i
b
64
:
/
o
r
a
c
l
e
/
p
r
o
d
u
c
t
/
11
g
R
2
/
d
b
/
l
i
b
:
/
o
r
a
c
l
e
/
p
r
o
d
u
c
t
/
11
g
R
2
/
d
b
/
c
t
x
/
l
i
b
2
、
查
看
.
p
r
o
f
i
l
e
:
.
p
r
o
f
i
l
e
中
有
:
.
/
c
p
s
t
/
c
a
m
p
o
s
t
/
c
o
n
f
i
g
/
s
e
t
e
n
v
,
说
明
用
户
启
动
是
运
行
脚
本
s
e
t
e
n
v
。
3
、
s
e
t
e
n
v
中
有
:
e
x
p
o
r
t
C
A
M
P
O
S
T
H
O
M
E
=
LD_LIBRARY_PATH /home/production/cpst/cptools/lib:/home/production/cpst/campost/lib:/home/production/tuxedo/lib:/home/production/tuxedo/jre/lib/amd64/server:/home/production/tuxedo/jre/jre/bin:/usr/lib:/usr/lib64:/lib:/lib64:/usr/local/lib:/usr/local/lib64:/oracle/product/11gR2/db/lib:/oracle/product/11gR2/db/ctx/lib 2、查看.profile: .profile中有: . ~/cpst/campost/config/setenv,说明用户启动是运行脚本setenv。 3、setenv中有: export CAMPOST_HOME=
LDLIBRARYPATH/home/production/cpst/cptools/lib:/home/production/cpst/campost/lib:/home/production/tuxedo/lib:/home/production/tuxedo/jre/lib/amd64/server:/home/production/tuxedo/jre/jre/bin:/usr/lib:/usr/lib64:/lib:/lib64:/usr/local/lib:/usr/local/lib64:/oracle/product/11gR2/db/lib:/oracle/product/11gR2/db/ctx/lib2、查看.profile:.profile中有:. /cpst/campost/config/setenv,说明用户启动是运行脚本setenv。3、setenv中有:exportCAMPOSTHOME=HOME/cpst/campost
export CPTOOLS_ROOT=
H
O
M
E
/
c
p
s
t
/
c
p
t
o
o
l
s
e
x
p
o
r
t
L
D
L
I
B
R
A
R
Y
P
A
T
H
=
HOME/cpst/cptools export LD_LIBRARY_PATH=
HOME/cpst/cptoolsexportLDLIBRARYPATH=CPTOOLS_ROOT/lib:
C
A
M
P
O
S
T
H
O
M
E
/
l
i
b
:
CAMPOST_HOME/lib:
CAMPOSTHOME/lib:LD_LIBRARY_PATH
4、setenv中有$LD_LIBRARY_PATH,进root查看:
(1)Africa:~ # echo
L
D
L
I
B
R
A
R
Y
P
A
T
H
/
u
s
r
/
l
i
b
:
/
u
s
r
/
l
i
b
64
:
/
l
i
b
:
/
l
i
b
64
:
/
u
s
r
/
l
o
c
a
l
/
l
i
b
:
/
u
s
r
/
l
o
c
a
l
/
l
i
b
64
:
/
o
r
a
c
l
e
/
p
r
o
d
u
c
t
/
11
g
R
2
/
d
b
/
l
i
b
:
/
o
r
a
c
l
e
/
p
r
o
d
u
c
t
/
11
g
R
2
/
d
b
/
c
t
x
/
l
i
b
(
2
)
e
t
c
/
p
r
o
f
i
l
e
中
有
:
e
x
p
o
r
t
L
D
L
I
B
R
A
R
Y
P
A
T
H
=
/
u
s
r
/
l
i
b
:
/
u
s
r
/
l
i
b
64
:
/
l
i
b
:
/
l
i
b
64
:
/
u
s
r
/
l
o
c
a
l
/
l
i
b
:
/
u
s
r
/
l
o
c
a
l
/
l
i
b
64
:
LD_LIBRARY_PATH /usr/lib:/usr/lib64:/lib:/lib64:/usr/local/lib:/usr/local/lib64:/oracle/product/11gR2/db/lib:/oracle/product/11gR2/db/ctx/lib (2)etc/profile中有: export LD_LIBRARY_PATH=/usr/lib:/usr/lib64:/lib:/lib64:/usr/local/lib:/usr/local/lib64:
LDLIBRARYPATH/usr/lib:/usr/lib64:/lib:/lib64:/usr/local/lib:/usr/local/lib64:/oracle/product/11gR2/db/lib:/oracle/product/11gR2/db/ctx/lib(2)etc/profile中有:exportLDLIBRARYPATH=/usr/lib:/usr/lib64:/lib:/lib64:/usr/local/lib:/usr/local/lib64:LD_LIBRARY_PATH
(3)/etc/profile.d/oracle.sh中有:
LD_LIBRARY_PATH=KaTeX parse error: Expected '}', got 'EOF' at end of input: …_LIBRARY_PATH:+LD_LIBRARY_PATH:}
O
R
A
C
L
E
H
O
M
E
/
l
i
b
:
ORACLE_HOME/lib:
ORACLEHOME/lib:ORACLE_HOME/ctx/lib