解决软件启动报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依赖的类库文件:

  1. ldd /usr/local/nginx/sbin/nginx
  2. linux-vdso.so.1 =>  (0x00007fffd5fb6000)
  3. libpthread.so.0 => /lib64/libpthread.so.0 (0x000000379e200000)
  4. libcrypt.so.1 => /lib64/libcrypt.so.1 (0x000000393f200000)
  5. libpcre.so.0 => /lib64/libpcre.so.0 (0x00000033d5800000)
  6. libssl.so.10 => /usr/lib64/libssl.so.10 (0x0000003c60200000)
  7. libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x0000003df9800000)
  8. libdl.so.2 => /lib64/libdl.so.2 (0x000000390be00000)
  9. libz.so.1 => /lib64/libz.so.1 (0x0000003a25600000)
  10. libc.so.6 => /lib64/libc.so.6 (0x0000003a24200000)
  11. libgd.so.2 => not found
  12. /lib64/ld-linux-x86-64.so.2 (0x0000003a23e00000)
  13. libfreebl3.so => /lib64/libfreebl3.so (0x000000393ea00000)
  14. libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x000000379fa00000)
  15. libkrb5.so.3 => /lib64/libkrb5.so.3 (0x000000379d200000)
  16. libcom_err.so.2 => /lib64/libcom_err.so.2 (0x000000379e600000)
  17. libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x0000003df9c00000)
  18. libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x0000003dfa800000)
  19. libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000003dfa400000)
  20. libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003a26a00000)
  21. 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位了),下载下来,然后通过对应命令安装就可以了。其它类库文件缺失解决办法类似。

文章首发: https://www.geek-share.com/detail/2750257208.html

参考文章:

在Linux里安装和启动nginx的方法

Nginx可以做什么?看完这篇你就懂了

Nginx+PHP+MySQL双机互备、全自动切换方案

解决软件启动报error while loading shared libraries: libgd.so.2: cannot open shared object错误的更多相关文章

  1. linux安装MySQL报 error while loading shared libraries: libtinfo.so.5 解决办法

    MySQL服务启动报错 error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No ...

  2. 报错libtest: error while loading shared libraries: libuv.so.1: cannot open shared object file: No such file or directory

    使用g++编译.运行libuv的demo错误解决 我们通过例子来讲述监视器的使用. 例子中空转监视器回调函数被不断地重复调用,  通过例子我们也可以了解到: 由于设置了监视器, 所以调用 uv_run ...

  3. 报错:/application/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

    启动zabbix_server时报错: /application/zabbix/sbin/zabbix_server: error while loading shared libraries: li ...

  4. 启动MongoDB时,提示:error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

    启动MongoDB时,提示: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: ...

  5. 使用arm-none-eabi-gdb报错error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

    使用arm-none-eabi-gdb报错error while loading shared libraries: libncurses.so.5: cannot open shared objec ...

  6. 错误解决:error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory

    执行以下代码,生成唯一的UID $fp = popen("/xxx/bin/tools/uuidgen system", "r");// $uid = frea ...

  7. Nginx启动出错 error while loading shared libraries:

    在centos5.7 32位上编译安照 nginx-1.1.16 出错 [root@localhost conf]# /usr/local/nginx/sbin/nginx/usr/local/ngi ...

  8. (转)Nginx启动出错 error while loading shared libraries

    [root@localhost conf]# /usr/local/nginx/sbin/nginx/usr/local/nginx/sbin/nginx: error while loading s ...

  9. nginx检查报错 error while loading shared libraries: libprofiler.so.0: cannot open shared object file: No such file or directory

    在centos7.3上编译安装nginx-1.12.2 启动测试出错 [root@web02 local]# /usr/local/nginx/sbin/nginx -t /usr/local/ngi ...

随机推荐

  1. Protobuf协议的Java应用例子

    Protobuf协议,全称:Protocol Buffer 它跟JSON,XML一样,是一个规定好的数据传播格式.不过,它的序列化和反序列化的效率太变态了…… 来看看几张图你就知道它有多变态. Pro ...

  2. JavaScript模块化编程之AMD - requireJS基础使用

    JavaScript模块化编程之AMD requireJS基础使用 标签(空格分隔): JavaScript 参考文章 AMD规范 AMD是"Asynchronous Module Defi ...

  3. helm回滚应用

    helm状态显示为部署,但容器可能不是running 以下是helm的解释 大概意思是helm只要在k8s上执行完成就当做成功,容器部署到创建状态已经不在Helm的角色设定里了 执行回滚前先模拟下过程 ...

  4. oracle_great_integration_译文

    website:https://www.oracle.com/corporate/features/great-integrations.html Great Integrations(伟大的整合) ...

  5. 【java开发系列】—— 深克隆和浅克隆

    Java支持我们对一个对象进行克隆,通常用在装饰模式和原型模式中.那么什么是深克隆,什么是浅克隆呢. [浅克隆],通常只是对克隆的实例进行复制,但里面的其他子对象,都是共用的. [深克隆],克隆的时候 ...

  6. May 22nd 2017 Week 21st Monday

    The biggest adventure you can take is to live the life of your dreams. 你能经历的最大的冒险,就是过上你梦想的生活. Just l ...

  7. python入门2 python字符串换行显示、字符串太长\连接多行

    #coding:utf-8 #/usr/bin/python """ 2018-11-03 dinghanhua 缩进 换行 """ &qu ...

  8. 将nodeList转换为数组(兼容性)

    将nodeList转换为数组(兼容性) function arrayofNodes(nodes){ var arr = null; try{ arr = Array.prototype.slice.c ...

  9. NO.011-2018.02.16《三五七言 / 秋风词》唐代:李白

    三五七言 / 秋风词_古诗文网 三五七言 / 秋风词 唐代:李白 秋风清,秋月明,秋风凌清,秋月明朗. 落叶聚还散,寒鸦栖复惊.风中的落叶时聚时散,寒鸦本已栖息,又被明月惊起.落叶聚还(huán)散: ...

  10. Android(java)学习笔记21:Java异常处理机制

    1. try....catch  /  try...catch...finally package cn.itcast_02; /* * 我们自己如何处理异常呢? * A:try...catch... ...