I have a Debian 6 server, 64 bits...
I checked ldconfig, ldconfig path, symbolic links... , rebooted and so on... but still a cgi can't find libidn.so.11. The package libidn11 is installed (including, just in case, libidn11-dev and 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)
The library exists
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
I tested it also in a Centos 5, 64 bits machine, and the same problem appears...
any help is appreciated.
Update: I fixed it, thanks
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)
You have a 64 bit version of the lib, but your CGI binary probably needs the 32bit version (guessing by the other libs). With some googling i found package "ia32-libs-libidn11", but cannot test it because i have no debian boxes here.
Try searching your repo for something simmilar to that ("ia32-libs-libidn" or libidn11)