解决软件启动报error while loading shared libraries: libgd.so.2: cannot open shared object错误
解决软件启动报error while loading shared libraries: libgd.so.2: cannot open shared object错误
今天安装启动nginx的时候报这个错误:error while loading shared libraries: libgd.so.2: cannot open shared object,网上查了相关资料,解决了,在此记录下,也让后面遇到这个问题的朋友能快速解决。
先说解决办法,帮助着急解决问题的朋友,这个是因为缺失gd库,把他装上就可以了。 安装办法: 1、直接yum install gd 最简单 2、如果yum搜索不到gd库的安装包,可以手动下载对应rpm包,下载地址:http://rpmfind.net/linux/rpm2html/search.php?query=libgd.so.2下载完了之后安装即可。
安装完成之后,再启动nginx正常。
再来说问题排查步骤,后续遇到类似问题可以参考这个方法解决。
根据报错提示,是libgd.so.2类库文件加载失败。这种情况要么对应lib没有安装,要么安装位置没到正确位置。通过ldd命令查一下nginx依赖的类库文件:
ldd /usr/local/nginx/sbin/nginx linux-vdso.so.1 => (0x00007fffd5fb6000) libpthread.so.0 => /lib64/libpthread.so.0 (0x000000379e200000) libcrypt.so.1 => /lib64/libcrypt.so.1 (0x000000393f200000) libpcre.so.0 => /lib64/libpcre.so.0 (0x00000033d5800000) libssl.so.10 => /usr/lib64/libssl.so.10 (0x0000003c60200000) libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x0000003df9800000) libdl.so.2 => /lib64/libdl.so.2 (0x000000390be00000) libz.so.1 => /lib64/libz.so.1 (0x0000003a25600000) libc.so.6 => /lib64/libc.so.6 (0x0000003a24200000) libgd.so.2 => not found /lib64/ld-linux-x86-64.so.2 (0x0000003a23e00000) libfreebl3.so => /lib64/libfreebl3.so (0x000000393ea00000) libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x000000379fa00000) libkrb5.so.3 => /lib64/libkrb5.so.3 (0x000000379d200000) libcom_err.so.2 => /lib64/libcom_err.so.2 (0x000000379e600000) libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x0000003df9c00000) libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x0000003dfa800000) libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000003dfa400000) libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003a26a00000) libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003df7c00000)
发现这个找不到, libgd.so.2 => not found
网上一搜,这个库是gd安装包带的,如果确认安装过gd,那么这个库是在系统上的,通过find命令找到这个文件
find / -name 'libgd.so.2'
找到之后,可以复制一份到对应lib目录,如果没有,那只能重新安装了,我们怎么知道要安装包的名字呢?很简单,你可以百度搜一下这个libgd.so.2,就能查到这个库文件是来自哪个安装包。 或者你可以到这个网站查,http://rpmfind.net/linux/rpm2html/search.php?query=libgd.so.2,查到这个类库来自GD安装包
先
yum search gd搜一下,如果有,那就直接
yum install gd
就可以了,没有的话也可以通过上面那个网站,找到符合自己系统的安装包(主要靠操作系统版本号,还有事32还是64位的,新版本的都是64位了),下载下来,然后通过对应命令安装就可以了。其它类库文件缺失解决办法类似。
- 解决启动MongoDB错误:error while loading shared libraries: libstdc++.so.6:cannot open shared object file:
- 解决:CentOS下的 error while loading shared libraries: libmysqlclient.so.16: cannot open shared object fi
- php error while loading shared libraries的解决办法
- 启动APACHE出现“error while loading shared libraries: libiconv.so.2”
- "error while loading shared libraries: xxx.so.x" 错误的原因和解决办法
- "error while loading shared libraries: xxx.so.x" 错误的原因和解决办法
- error while loading shared libraries: xxx.so.x"错误的原因和解决办法
- error while loading shared libraries: libcudart.so.3: wrong ELF class: ELFCLASS32 的解决
- "error while loading shared libraries: xxx.so.x" 错误的原因和解决办法
- "error while loading shared libraries: xxx.so.x" 错误的原因和解决办法
- 解决:error while loading shared libraries: libmysqlclient_r.so.15: wrong ELF class: ELFCLASS64问题
- 解决error while loading shared libraries: libXXX.so.X: cannot open shared object file: No such file
- 解决AaptParser: aapt dump badging stderr: aapt: error while loading shared libraries: libc++.so
- error while loading shared libraries: xxx.so.x" 错误的原因和解决办法
- "error while loading shared libraries: xxx.so.x" 错误的原因和解决办法
- 解决 error while loading shared libraries 错误方法
- memcached: error while loading shared libraries: libevent-2.0.so.5: cannot o解决
- error while loading shared libraries: xxx.so.x的解决办法
- "error while loading shared libraries: xxx.so.x" 错误的原因和解决办法
- "error while loading shared libraries: xxx.so.x" 错误的原因和解决办法