2007年06月22日 星期五

Debian 升级以后 Acrobat Reader无法打开

在某一次对Debian testing 进行了apt-get upgrade之后,偶然发现自己安装的Acrobat Reader不能正常启动了,报的错误是:

expr:语法错误

经过仔细查验acroread启动脚本,发现是升级Debian的过程中,libgtk2.0-0的版本从2.8.20-7升级到2.10.12-2。
对应的库文件由
/usr/lib/libgdk-x11-2.0.so.0.800.20
变成了
/usr/lib/libgtk-x11-2.0.so.0.1000.12

而acroread启动脚本检查该文件版本时的脚本对应为

get_gtk_file_ver()
{
if [ -f "$1" ]; then
if [ -h "$1" ]; then
ifile=`readlink $1`
if [ $? -eq 1 ]; then
return 1
fi
fi

mfile=`basename $ifile`
echo $mfile | grep -q "libgtk-x11-\([0-9]*\).0.so.0.\([0-9]*\).\([0-9]*\)" 2>/dev/null

if [ $? -ne 0 ]; then
return 1
fi

echo $mfile| sed 's/libgtk-x11-\([0-9]*\).0.so.0.\([0-9]\)00.\([0-9]*\)\|\(.*\)/\1\2\3/g'
return 0
fi

return 1
}

其中,sed行匹配版本号so.0.1000.12中的1000时只给了三位。

修改方法就显然了,将sed行改为
echo $mfile| sed 's/libgtk-x11-\([0-9]*\).0.so.0.\([0-9]\)*00.\([0-9]*\)\|\(.*\)/\1\2\3/g'
即可。

感谢icymoon花费时间调试!

由 beat 发表于 2007年06月22日 上午01点05分
回复
发表回复









记住我的信息?