易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux 共享库:LD_LIBRARY_PATH 与ld.so.conf

今天在运行sphinx的时候,提示说
./searchd: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory
我编译安装的时候明明有指定mysql的lib库啊,上网查到是因为mysql的lib不在系统的lib路径中,解决办法如下:
在/etc/ld.so.conf下面加一行/usr/local/webserver/mysql/lib/mysql/,保存过后ldconfig一下,新的library才能在程序运行时被找到
关于ldconfig的相关信息如下:
linux 运行的时候,是如何管理共享库(*.so)的?在 Linux 下面,共享库的寻找和加载是由 /lib/ld.so 实现的。 ld.so 在标准路经(/lib, /usr/lib) 中寻找应用程序用到的共享库。
但是,如果需要用到的共享库在非标准路经,ld.so 怎么找到它呢?
目前,Linux 通用的做法是将非标准路经加入 /etc/ld.so.conf,然后运行 ldconfig 生成 /etc/ld.so.cache。 ld.so 加载共享库的时候,会从 ld.so.cache 查找。
传统上,Linux 的先辈 Unix 还有一个环境变量:LD_LIBRARY_PATH 来处理非标准路经的共享库。ld.so 加载共享库的时候,也会查找这个变量所设置的路经。
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./lib
export LD_LIBRARY_PATH
但是,有不少声音主张要避免使用 LD_LIBRARY_PATH 变量,尤其是作为全局变量。这些声音是:
* LD_LIBRARY_PATH is not the answer – http://prefetch.net/articles/linkers.badldlibrary.html
* Why LD_LIBRARY_PATH is bad – http://xahlee.org/UnixResource_dir/_/ldpath.html
* LD_LIBRARY_PATH – just say no – http://blogs.sun.com/rie/date/20040710
解决这一问题的另一方法是在编译的时候通过 -R<path> 选项指定 run-time path。
1. 往/lib和/usr/lib里面加东西,是不用修改/etc/ld.so.conf的,但是完了之后要调一下ldconfig,不然这个library会找不到
2. 想往上面两个目录以外加东西的时候,一定要修改/etc/ld.so.conf,然后再调用ldconfig,不然也会找不到
比 如安装了一个mysql到/usr/local/mysql,mysql有一大堆library在/usr/local/mysql/lib下面,这时就 需要在/etc/ld.so.conf下面加一行/usr/local/mysql/lib,保存过后ldconfig一下,新的library才能在程 序运行时被找到。
3. 如果想在这两个目录以外放lib,但是又不想在/etc/ld.so.conf中加东西(或者是没有权限加东西)。那也可以,就是export一个全局变 量LD_LIBRA


相关文档:

Linux设备模型之input子系统详解

一:前言
最近在研究android的sensor driver,主要是E-compass,其中用到了Linux input子系统.在网上也看了很多这方面的资料,感觉还是这篇分析的比较细致透彻,因此转载一下以便自己学习,同时和大家分享!
(这篇博客主要是以键盘驱动为例的,不过讲解的是Linux Input Subsystem,可以仔细的研究一下!)
键盘驱动将检 ......

linux_学习笔记_如何找到和安装软件

1.使用shell的which命令,
如:查找GUN的C编译器安装路径
$ which gcc
/usr/bin/gcc
2.如果which没有找到要找的文件,那就试试whereis,该命令搜索更大范围的系统目录,和shell搜索路径无关。
有些系统which命令无法显示用户没执行的权限文件:
如:which ipppd
$ which ipppd
/usr/bin/which:no ipppd in (/bin:/ ......

linux下ifconfig, DNS以及route配置

原文:http://www.cnitblog.com/201/archive/2009/08/20/60887.html
熟悉使用ifconfig 会非常方便。 
 ifconfig eth0 新ip
  然后编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip
  一、修改IP地址
  [aeolus@db1 network-scripts]$ vi ifcfg-eth0
  DEVICE=eth0
  ONBOOT=yes
  BOOTPROTO=s ......

学习LINUX步骤(转)

1、Linux 基础
安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉Linux服务能够独立安装Linux操作系统 能够熟练使用Linux系统的基本命令 认识Linux系统的常用服务安装Linux操作系统 Linux基本命令实践 设置Linux环境变量 定制Linux的服务 Shell 编程基础使用vi编辑文件 使用Emacs编辑文件 使用其他编 ......

在Linux上安装Redmine与apache整合进行项目管理


安装
SVN
这个比较简单,去
这里下载源码
http://subversion.tigris.org/
 
自己编译下装好就是了。
对于
SVN
的配置,建议查看如下连接,说的很详细,我也不在多说哈
~
http://www.ibm.com/developerworks/cn/java/j-lo-apache-subversion/#N10250
不过,有一点,上边说的进行目录访问控制
,这个比较 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号