您的位置:首页 > 其它

Ubuntu下的环境变量LD_LIBRARY_PATH

2012-08-16 21:38 253 查看
问题:
(1)在Ubuntu终端运行env,发现并没有LD_LIBRARY_PATH这个环境变量
(2)新打开一个终端,输入命令echo
$LD_LIBRARY_PATH,结果为空白。通过export添加目录后,在输入echo命令,会出现刚刚添加的目录。如下:



关闭该终端,打开一个新的终端,输入echo $LD_LIBRARY_PATH命令,则显示为空白。
(3)编辑~/.profile文件,添加内容:
if [ -d "$HOME/lib"] ; then

export LD_LIBRARY_PATH="/usr/local/netpbm/lib"

fi
当使用Ctrl+Alt+F1登录进去tty1时,使用echo
$LD_LIBRARY_PATH可以看到设置的环境变量。
但是在gnome终端,输入echo命令,仍然为空白。环境变量设置没有效果。
(4)通过sudo
vi /etc/environment命令添加
LD_LIBRARY_PATH="/usr/local/netpbm/lib"
在终端输入echo命令,显示仍未空白。
通过sudo -i命令进入root用户权限,输入echo命令,可以看到设置的环境变量。

那么,怎样设置共享库的路径,使得系统能够搜索到这些库。主要以下几种方法:
1)将共享库放在目录/lib或者/usr/lib下,并使用ldconfig使得添加即使生效
1)将动态库目录添加到文件/etc/ld.so.conf,并使用ldconfig使得添加即使生效
2)在文件~/.bashrc文件中加入
if [ -d "$HOME/lib"] ; then

export LD_LIBRARY_PATH="$HOME/lib"

fi
这样设置的环境变量LD_LIBRARY_PATH只能在bash下使用。在其他shell下比如ksh,tcsh下不可以使用这些环境变量。
3)在~/.profile或者/etc/environment下编辑环境变量LD_LIBRARY_PATH
同时编辑/etc/X11/Xsession.options文件,将use-ssh-agent更改为no-use-ssh-agent
这样设置的环境变量LD_LIBRARY_PATH可以通用
4)-R选项指定共享库目录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: