解決軟件啟動報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位了),下載下來,然后通過對應命令安裝就可以了。其它類庫文件缺失解決辦法類似。
文章首發: https://www.geek-share.com/detail/2750257208.html
參考文章: