お名前.com 共用サーバーSDにて,ちょっとした CGI で curl を利用していたのだが,急に使えなくなった.仕方なく wget を使うことにする.
原因は(64-bitの) libldap-2.4.so.2,liblber-2.4.so.2 が存在しないこと.ldap 対応の curl が install されているらしい.ちなみに curl は 64-bit で,OS は Solaris 10.ssh でログインした際には 32-bit 版の curl が普通に使える.
% ldd /usr/local/bin/curl (← ruby の CGI で `ldd /usr/local/bin/curl` とかを叩く)
libcurl.so.4 => /usr/local/lib/64/libcurl.so.4
libidn.so.11 => /usr/lib/64/libidn.so.11
libiconv.so.2 => /usr/local/lib/64/libiconv.so.2
libssl.so.1.0.0 => /usr/local/lib/64/libssl.so.1.0.0
libcrypto.so.1.0.0 => /usr/local/lib/64/libcrypto.so.1.0.0
libldap-2.4.so.2 => (file not found)
liblber-2.4.so.2 => (file not found)
libresolv.so.2 => /lib/64/libresolv.so.2
libgen.so.1 => /lib/64/libgen.so.1
libz.so.1 => /usr/lib/64/libz.so.1
librt.so.1 => /lib/64/librt.so.1
libsocket.so.1 => /lib/64/libsocket.so.1
libnsl.so.1 => /lib/64/libnsl.so.1
libc.so.1 => /lib/64/libc.so.1
liblber-2.4.so.2 => (file not found)
libldap-2.4.so.2 => (file not found)
libgcc_s.so.1 => /usr/sfw/lib/64/libgcc_s.so.1
libdl.so.1 => /lib/64/libdl.so.1
libaio.so.1 => /lib/64/libaio.so.1
libmd.so.1 => /lib/64/libmd.so.1
libmp.so.2 => /lib/64/libmp.so.2
libscf.so.1 => /lib/64/libscf.so.1
libdoor.so.1 => /lib/64/libdoor.so.1
libuutil.so.1 => /lib/64/libuutil.so.1
libm.so.2 => /lib/64/libm.so.2
もちろん 64-bit libldap-2.4.so.2,liblber-2.4.so.2 をどこかから入手して,LD_RUN_PATH でパス指定するなども考えたが,まず Solaris 10 のバイナリがなかなか見つからず(sunsite.sut.ac.jpはいつのまにかなくなっていて,KDDI のミラーも404),https://mirror.opencsw.org/opencsw/ に OpenCSW Solaris package archive があるにはあったが,.pkg.gz の取り扱い(Linux 等での展開)を考えた時点で面倒になって断念.
追記(2018/2/11)
今調べてみたら libldap-2.4.so.2 および liblber-2.4.so.2 が用意されていて,curl が CGI から動くようになっていた.