Cgi
libidn.so 存在,但 cgi 找不到它
我有一個 Debian 6 伺服器,64 位…
我檢查了 ldconfig、ldconfig 路徑、符號連結…、重新啟動等等…但 cgi 仍然找不到 libidn.so.11。軟體包libidn11已安裝(包括,以防萬一,libidn11-dev和libnet-libidn-perl)
root@server:/home/user/public_html/cgi-bin/# ldd tbk_bp_pago.cgi linux-gate.so.1 => (0xf77c4000) **libidn.so.11 => not found** libc.so.6 => /lib32/libc.so.6 (0xf7676000) libnsl.so.1 => /lib32/libnsl.so.1 (0xf765e000) libdl.so.2 => /lib32/libdl.so.2 (0xf765a000) librt.so.1 => /lib32/librt.so.1 (0xf7651000) libpthread.so.0 => /lib32/libpthread.so.0 (0xf7638000) /lib/ld-linux.so.2 (0xf77c5000)
圖書館存在
root@server:/home/user/log# locate libidn.so.11 /usr/lib/libidn.so.11 /usr/lib/libidn.so.11.5.44 root@server:/home/user/log# ldconfig -v | grep "libidn.so.11" libidn.so.11 -> libidn.so.11.5.44
我也在Centos 5、64位機器上測試過,同樣的問題出現了……
任何幫助表示讚賞。
更新:我修好了,謝謝
root@server:/tmp# ar vx libidn11_1.15-2_i386.deb root@server:/tmp# tar -xvzf data.tar.gz root@server:/tmp# cd usr/ root@server:/tmp/usr# cp -R lib/ libidn32/ root@server:/tmp/usr# mv libidn32/ /usr/lib32 root@server:/tmp/usr# echo "/usr/lib32/libidn32" >> /etc/ld.so.conf.d/libc.conf root@server:/tmp/usr# ldconfig root@server:/tmp/usr# ldd /home/user/public_html/cgi-bin/kcc6/tbk_* /home/user/public_html/cgi-bin/kcc6/tbk_bp_pago.cgi: libidn.so.11 => /usr/lib32/libidn32/libidn.so.11 (0xf7702000)
您有一個 64 位版本的庫,但您的 CGI 二進製文件可能需要 32 位版本(由其他庫猜測)。通過一些Google搜尋,我找到了包“ia32-libs-libidn11”,但無法測試它,因為我這裡沒有 debian 盒子。
嘗試在您的儲存庫中搜尋與此類似的內容(“ia32-libs-libidn”或 libidn11)