libidn.so存在,但cgi找不到它

我有一个Debian 6服务器,64位…

我检查了ldconfig,ldconfigpath,符号链接…,重新启动等等…但仍然是一个cgi无法findlibidn.so.11。 安装libidn11软件包(包括libidn11-devlibnet-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位机器上也testing过,同样的问题出现了。

任何帮助表示赞赏。

更新:我修好了,谢谢

 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位版本的lib,但是您的CGI二进制文件可能需要32位版本(由其他库文件猜测)。 与一些谷歌search我发现包“ia32-libs-libidn11”,但不能testing它,因为我没有在这里的debian框。

尝试search你的回购是类似的东西(“ia32-libs-libidn”或libidn11)