Linux下找不到so文件的解决办法
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
最近在安装完tengine,在启动tengine时报找不到libjemalloc.so.2的提示,即:
[root@localhost tengine]# sbin/nginx
sbin/nginx: error while loading shared libraries: libjemalloc.so.2:
cannot open shared object file: No such file or directory
首先找找系统中有没有这个文件:
sudo find / -name libjemalloc.so.2
得到如下结果
[root@localhost tengine]# sudo find / -name libjemalloc.so.2
/usr/local/lib/libjemalloc.so.2
/usr/jemalloc/lib/libjemalloc.so.2
上面的那个是系统本身安装的,下面的这个是我自己安装的。
既然有这个文件,我们就把他加入到/etc/ld.so.conf中,打开这个文件发现里面内容如下:
将.so文件路径的目录添加到/etc/ld.so.conf
[root@localhost ld.so.conf.d]# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
看看/etc/ld.so.conf.d目录下的文件:
[root@localhost ld.so.conf.d]# ls /etc/ld.so.conf.d
kernel-3.10.0-327.4.4.el7.x86_64.conf
dyninst-x86_64.conf
libiscsi-x86_64.conf
kernel-3.10.0-229.20.1.el7.x86_64.conf
mariadb-x86_64.conf
kernel-3.10.0-229.el7.x86_64.conf
kernel-3.10.0-327.10.1.el7.x86_64.conf
vmware-tools-libraries.conf
kernel-3.10.0-327.3.1.el7.x86_64.conf
于是在该目录下创建一个other.conf文件。内容如下:
/usr/jemalloc/lib/
保存退出。
执行如下命令让文件生效:
sudo /sbin/ldconfig
再次启动tengine,应用正常启动。
可以用如下命令查看某个可执行文件所依赖的文件:
[root@localhost ld.so.conf.d]# ldd /usr/local/tengine/sbin/nginx
linux-vdso.so.1 => (0x00007ffc9fd66000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff1c5f56000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007ff1c5d52000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007ff1c5b1a000)
libjemalloc.so.2 => /usr/jemalloc/lib/libjemalloc.so.2 (0x00007ff1c58cb000)
libc.so.6 => /lib64/libc.so.6 (0x00007ff1c550a000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff1c6187000)
libfreebl3.so => /lib64/libfreebl3.so (0x00007ff1c5306000)
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献5条内容
所有评论(0)