本文共 3871 字,大约阅读时间需要 12 分钟。
Archlinux下即使手动安装了支付宝的linux版安全控件,使用firefox在淘宝/支付宝的付款和确认收货界面还是不能输入支付宝密码进行支付,google之后发现是少一个依赖的共享库文件,本文详细记录了该问题的解决过程。推测该方法亦适合于其他发行版linux,如Fedora/Ubuntu等。
系统版本和firefox版本
┌─[root@tp]─[/home/liao/soft/alipay]─[2+0]─[99%=]
└─# uname -aLinux tp 3.6.11-1-ARCH #1 SMP PREEMPT Tue Dec 18 08:57:15 CET 2012 x86_64 GNU/Linux┌─[root@tp]─[/home/liao/soft/alipay]─[2+0]─[99%=]└─# pacman -Qi firefoxName : firefoxVersion : 17.0.1-1URL : http://www.mozilla.org/projects/firefoxLicenses : MPL GPL LGPLGroups : NoneProvides : NoneDepends On : gtk2 mozilla-common libxt startup-notification mime-types dbus-glib alsa-lib libnotify desktop-file-utils hicolor-icon-theme libvpx libevent nss>=3.13.3 hunspell sqliteOptional Deps : wireless_tools: Location detection via available WiFi networksRequired By : NoneConflicts With : NoneReplaces : NoneInstalled Size : 45152.00 KiBPackager : Evangelos Foutras <evangelos@foutrelis.com>Architecture : x86_64Build Date : Sat 01 Dec 2012 07:11:17 PM CSTInstall Date : Sat 08 Dec 2012 05:09:39 AM CSTInstall Reason : Explicitly installedInstall Script : YesDescription : Standalone web browser from mozilla.org下载支付宝控件
支付宝安全控件 for Linux下载地址:
┌─[root@tp]─[/home/liao/soft/alipay]─[2+0]─[99%=]
└─# md5sum aliedit.tar.gz bb3e6270fc85c532beb8ee30b1deb80a aliedit.tar.gz┌─[root@tp]─[/home/liao/soft/alipay]─[2+0]─[99%=]└─# tar xzvf aliedit.tar.gz aliedit.sh┌─[root@tp]─[/home/liao/soft/alipay]─[2+0]─[99%=]└─#安装支付宝控件(建议以普通用户安装)
┌─[liao@tp]─[~/soft/alipay]─[2+0]─[99%=]
└─$ ./aliedit.sh Restart firefox to complete your changesSuccessfully installed Alipay Security ControlPress any key to quit...┌─[liao@tp]─[~/soft/alipay]─[2+0]─[99%=]└─$打印共享库文件libaliedit64.so的依赖,发现少一个依赖库文件
┌─[root@tp]─[~]─[0+1]─[99%=]
└─# ldd /home/liao/.mozilla/plugins/libaliedit64.so | grep 'not found' libpng12.so.0 => not found查看少的依赖库文件属于哪个包
┌─[root@tp]─[~]─[0+1]─[99%=]
└─# pkgfile libpng12.so.0extra/nxclientcommunity/libpng12community/sage-mathematicsarchlinuxcn/dropboxarchlinuxcn/dropbox-experimentalarchlinuxcn/lib32-libpng12archlinuxcn/libpng12查看这个包把少的这个文件安装在哪个路径下
┌─[✗]─[root@tp]─[~]─[0+1]─[99%=]
└─# pkgfile -l libpng12 | grep libpng12.so.0community/libpng12 /usr/lib/libpng12.so.0.50.0community/libpng12 /usr/lib/libpng12.so.0archlinuxcn/libpng12 /usr/lib/libpng12.so.0.50.0archlinuxcn/libpng12 /usr/lib/libpng12.so.0到找到的路径下创建软链接
┌─[root@tp]─[~]─[0+1]─[99%=]
└─# ls -l /usr/lib/libpng*-rw-r--r-- 1 root root 282774 Oct 21 18:48 /usr/lib/libpng15.alrwxrwxrwx 1 root root 19 Oct 21 18:48 /usr/lib/libpng15.so -> libpng15.so.15.13.0lrwxrwxrwx 1 root root 19 Oct 21 18:48 /usr/lib/libpng15.so.15 -> libpng15.so.15.13.0-rwxr-xr-x 1 root root 183272 Oct 21 18:48 /usr/lib/libpng15.so.15.13.0lrwxrwxrwx 1 root root 10 Oct 21 18:48 /usr/lib/libpng.a -> libpng15.alrwxrwxrwx 1 root root 11 Oct 21 18:48 /usr/lib/libpng.so -> libpng15.so┌─[root@tp]─[~]─[0+1]─[99%=]└─# ln -s /usr/lib/libpng.so /usr/lib/libpng12.so.0┌─[root@tp]─[~]─[0+1]─[99%=]└─# ls -l /usr/lib/libpng*lrwxrwxrwx 1 root root 18 Jan 10 21:58 /usr/lib/libpng12.so.0 -> /usr/lib/libpng.so-rw-r--r-- 1 root root 282774 Oct 21 18:48 /usr/lib/libpng15.alrwxrwxrwx 1 root root 19 Oct 21 18:48 /usr/lib/libpng15.so -> libpng15.so.15.13.0lrwxrwxrwx 1 root root 19 Oct 21 18:48 /usr/lib/libpng15.so.15 -> libpng15.so.15.13.0-rwxr-xr-x 1 root root 183272 Oct 21 18:48 /usr/lib/libpng15.so.15.13.0lrwxrwxrwx 1 root root 10 Oct 21 18:48 /usr/lib/libpng.a -> libpng15.alrwxrwxrwx 1 root root 11 Oct 21 18:48 /usr/lib/libpng.so -> libpng15.so┌─[root@tp]─[~]─[0+1]─[99%=]└─# 重启firefox,很重要,所有火狐浏览器的窗口都必须关闭┌─[root@tp]─[/usr/lib/mozilla/plugins]─[1+0]─[99%=]└─# killall firefox至此,应该可以在firefox里面输入支付宝付款密码了。
REF
1. 解决64位Archlinux下支付宝插件不能用的问题
http://www.cnblogs.com/DevPlus/archive/2012/01/07/2315666.html
2. 支付宝发布Linux版安全控件 新增iPhone无控件登录http://blog.alipay.com/2192.html