|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
但不会命令而成为高手也是不可能的.这就好比学英语,什么语法都不懂,只捧着单词手册背单词是学不会英语的,但是没有单词词汇量英语水平也提不高的。
一样平常我们在Linux下实行某些内部程序的时分大概会提醒找不到共享库的毛病,好比:
tmux:errorwhileloadingsharedlibraries:libevent-1.4.so.2:cannotopensharedobjectfile:Nosuchfileordirectory
缘故原由一样平常有两个,一个是操纵体系里的确没有包括该共享库(lib*.so.*文件)大概共享库版本不合错误,碰到这类情形那就往网高低载并安装上便可.
别的一个缘故原由就是已安装了该共享库,但实行必要挪用该共享库的程序的时分,程序依照默许共享库路径找不到该共享库文件.
以是安装共享库后要注重共享库路径设置成绩,以下:
1)假如共享库文件安装到了/lib或/usr/lib目次下,那末需实行一下ldconfig命令
ldconfig命令的用处,次要是在默许征采目次(/lib和/usr/lib)和静态库设置文件/etc/ld.so.conf内所列的目次下,搜刮出可共享的静态链接库(格局如lib*.so*),进而创立出静态装进程序(ld.so)所需的毗连弛缓存文件.缓存文件默许为/etc/ld.so.cache,此文件保留已排好序的静态链接库名字列表.
2)假如共享库文件安装到了/usr/local/lib(良多开源的共享库城市安装到该目次下)或别的"非/lib或/usr/lib"目次下,那末在实行ldconfig命令前,还要把新共享库目次到场到共享库设置文件/etc/ld.so.conf中,以下:
#cat/etc/ld.so.conf
includeld.so.conf.d/*.conf
#echo"/usr/local/lib">>/etc/ld.so.conf
#ldconfig
3)假如共享库文件安装到了别的"非/lib或/usr/lib"目次下,可是又不想在/etc/ld.so.conf中加路径(大概是没有权限加路径).那能够export一个全局变量LD_LIBRARY_PATH,然后运转程序的时分就会往这个目次中找共享库.
LD_LIBRARY_PATH的意义是告知loader在哪些目次中能够找到共享库.能够设置多个搜刮目次,这些目次之间用冒号分开开.好比安装了一个mysql到/usr/local/mysql目次下,个中有一年夜堆库文件在/usr/local/mysql/lib上面,则能够在.bashrc或.bash_profile或shell里到场以下语句便可:
exportLD_LIBRARY_PATH=/usr/local/mysql/lib:$LD_LIBRARY_PATH
一样平常来说这只是一种一时的办理计划,在没有权限或一时必要的时分利用.
开发linux发行版的人都是通读过linux内核代码,对linux原理极其精通的人。 |
|