LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2862|回复: 13

Adobe Reader 7.0.8无法运行。(已解决)

[复制链接]
发表于 2006-9-4 23:51:39 | 显示全部楼层 |阅读模式
acroread脚本运行出现大量:
expr: syntax error
expr: syntax error
expr: syntax error
...
搜索后发现出现这种问题应该是expr语句不太符合POSIX标准。经花花指点,我在acroread里找到了这个循环:
  1.         len_version=`expr length $version`
  2.         base_version=`expr substr "${base_version}0000000000" 1 $len_version`
  3.         len_base_version=`expr length $base_version`
  4.         while [ $len_version -gt $len_base_version ]; do
  5.             base_version=`expr substr "${base_version}0000000000" 1 $len_version`
  6.             len_base_version=`expr length $base_version`
  7.         done
复制代码
只有这个while-do-done里面含有expr,因此很有可能是这里的问题。
请各位bash高手帮忙看看。先行谢过 :thank

解决了,见10楼
发表于 2006-9-5 03:40:18 | 显示全部楼层
set -x 后看看是什么错误?

都出了 7.0.8 了,,,不知道有啥改进,,除了出错之外。。嘿嘿。。。
回复 支持 反对

使用道具 举报

发表于 2006-9-5 09:54:39 | 显示全部楼层
又大又笨,再加上讨厌的"功能",如同 spyware

http://lwn.net/Articles/129729/

吾恶之!
回复 支持 反对

使用道具 举报

发表于 2006-9-5 10:17:49 | 显示全部楼层
d00m3d大大用什么看pdf?
回复 支持 反对

使用道具 举报

发表于 2006-9-5 10:36:04 | 显示全部楼层
iptables -A OUTPUT -m owner --cmd-owner acroread -j DROP

从文章中,我学到了这个东西。。。忽忽。。
回复 支持 反对

使用道具 举报

发表于 2006-9-5 10:40:09 | 显示全部楼层
~ # iptables -A OUTPUT -m owner --cmd-owner acroread -j DROP
iptables: Invalid argument
回复 支持 反对

使用道具 举报

发表于 2006-9-5 10:43:04 | 显示全部楼层
虽然可如此解决,又或者 disable javascript,但出发点就跟 spyware 没有两样!

基本上 PDF-1.4 以上的 pdf 甚少碰上,我还是用旧版算了。。。
回复 支持 反对

使用道具 举报

发表于 2006-9-5 10:45:47 | 显示全部楼层
Post by Lolita
~ # iptables -A OUTPUT -m owner --cmd-owner acroread -j DROP
iptables: Invalid argument

看你就是照套的。嘿嘿。。
--cmd-owner 已经不被支持了,你的内核是不是 SMP 的?

看看  iptables -m owner -h
回复 支持 反对

使用道具 举报

发表于 2006-9-5 10:46:30 | 显示全部楼层
Post by d00m3d
虽然可如此解决,又或者 disable javascript,但出发点就跟 spyware 没有两样!

基本上 PDF-1.4 以上的 pdf 甚少碰上,我还是用旧版算了。。。

总觉得没几个好用的软件。。:(。


Disabling plugins:
% cd acroread7/Reader/intellinux
% mv plug_ins plug_ins_disabled


这样后,果然速度快好多!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-5 10:52:06 | 显示全部楼层
Wow, d00m3d's tirade...

不管怎么说,解决问题还是有意义的 在销魂和花花的多次指点下,找到了问题关键。

我用的是gtk 2.10,但是acroread脚本在判断gtk版本的时候只能处理2.9以下的,所以无法获得版本号。在acroread第418行:
  1. echo $mfile| sed 's/libgtk-x11-\([0-9]*\).0.so.0.\([0-9]\)00.\([0-9]*\)\|\(.*\)/\1\2\3/g'
复制代码
这句里面'.\([0-9]\)00.'部分只能处理000-900,而我的是libgtk-x11-2.0.so.0.1000.2,是1000,就不行了……
解决办法比较dirty,但至少能用:在后面加个*
  1. echo $mfile| sed 's/libgtk-x11-\([0-9]*\).0.so.0.\([0-9]\)00[color=red]*[/color].\([0-9]*\)\|\(.*\)/\1\2\3/g'
复制代码
使用gtk 2.10的朋友们就可以用acroread了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表