无法找到运行新建nginx的共享库

时间:2014-05-06 22:19:25

标签: c linux nginx shared

我在目标机器(Linux)上使用第三方模块(ngx_mongo)构建了nginx。 该模块需要两个额外的库:pcre和yajl。 我分别构建和安装了这两个,它们安装到/ usr / local / lib和头文件到/ usr / local / include。

然后我配置了nginx的build:configure --add-module = / home / greg.zoller / working / ngx_mongo 这找到了所有需要的库并成功构建了w / o错误。 将nginx安装到默认的/ usr / local / nginx。

当我去运行/ usr / local / nginx / sbin / nginx时,我收到此错误:

./ nginx:加载共享库时出错:libyajl.so.2:无法打开共享对象文件:没有这样的文件或目录

为什么找不到libyajl.so.2?该文件存在于/ usr / local / lib中,并且构建找到它。

我运行ldconfig -v并且yajl库不在那里。我尝试运行(以root身份而不是)ldconfig。没有变化。

我错过了什么?

1 个答案:

答案 0 :(得分:2)

动态加载程序仅查找/etc/ld.so.conf中声明的文件夹中存在的库。默认情况下,/usr/local/lib可能不存在。此外,当添加新的lib时,您需要运行ldconfig,因为缓存了lib文件夹的内容。