LinuxSir.cn,穿越时空的Linuxsir!

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

安装openoffice-bin后,scim输入法解决方法

[复制链接]
发表于 2008-6-15 15:01:36 | 显示全部楼层 |阅读模式
安装openoffice时,使用emerge openoffice编译安装会正常使用,但是编译时间太长,时间不亚于安装gnome,同时还需要5G的硬盘空间做临时目录。所以改成openoffice-bin。
但使用emerge openoffice-bin时会出现一些问题。主要是按ctrl+space不能打开scim输入法。使用终端打开oowrite可以看到问题所在,显示如下内容:
  1. $ oowriter
  2. (soffice:29985): Gtk-WARNING **: /usr/lib/openoffice/program/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/lib/gtk-2.0/immodules/im-scim.so)
  3. (soffice:29985): Gtk-WARNING **: Loading IM context type 'scim' failed
  4. ........
  5. .......
  6. $
复制代码

这时需要解决问题:编译安装与bin安装后的一些库文件指向不对。
  1. # slocate libstdc++.so.6
  2. /usr/lib/gcc/i686-pc-linux-gnu/4.2.4/libstdc++.so.6.0.9
  3. /usr/lib/gcc/i686-pc-linux-gnu/4.2.4/libstdc++.so.6
  4. /usr/lib/openoffice/program/libstdc++.so.6.1
  5. /usr/lib/openoffice/program/libstdc++.so.6
  6. /opt/Adobe/Reader8/Reader/intellinux/lib/libstdc++.so.6.0.7
  7. /opt/Adobe/Reader8/Reader/intellinux/lib/libstdc++.so.6
  8. #
复制代码
由此可见:gcc里使用的是libstdc++.so.6.0.9,而openoffice里使用的是libstdc++.so.6.1,继续查看;
  1. #ls -l /usr/lib/gcc/i686-pc-linux-gnu/4.2.4/libstdc++.so*
  2. lrwxrwxrwx 1 root root     18 2008-06-13 17:48 /usr/lib/gcc/i686-pc-linux-gnu/4.2.4/libstdc++.so -> libstdc++.so.6.0.9
  3. lrwxrwxrwx 1 root root     18 2008-06-13 17:48 /usr/lib/gcc/i686-pc-linux-gnu/4.2.4/libstdc++.so.6 -> libstdc++.so.6.0.9
  4. -rwxr-xr-x 1 root root 933704 2008-06-13 17:48 /usr/lib/gcc/i686-pc-linux-gnu/4.2.4/libstdc++.so.6.0.9
  5. # ls -l /usr/lib/openoffice/program/libstdc++.so*
  6. lrwxrwxrwx 1 root root     16 2008-06-15 14:06 libstdc++.so.6 -> libstdc++.so.6.1
  7. -r--r--r-- 1 root root 846672 2008-05-30 00:59 libstdc++.so.6.1
复制代码
所以修改penoffice下的libstdc++.so.6指向libstdc++.so.6..0.9
  1. #cd /usr/lib/openoffice/program/
  2. #ln -sf /usr/lib/gcc/i686-pc-linux-gnu/4.2.4/libstdc++.so.6.0.9 libstdc++.so.6
  3. #ls -l libstdc++.so*
  4. lrwxrwxrwx 1 root root     55 2008-06-15 14:24 libstdc++.so.6 -> /usr/lib/gcc/i686-pc-linux-gnu/4.2.4/libstdc++.so.6.0.9
  5. -r--r--r-- 1 root root 846672 2008-05-30 00:59 libstdc++.so.6.1
复制代码

继续运行oowrite,查看结果:
  1. $ oowriter
  2. /usr/lib/openoffice/program/javaldx: /usr/lib/openoffice/program/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/openoffice/program/libstdc++.so.6)
  3. /usr/lib/openoffice/program/pagein: /usr/lib/openoffice/program/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/openoffice/program/libstdc++.so.6)
  4. /usr/lib/openoffice/program/soffice.bin: /usr/lib/openoffice/program/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/openoffice/program/libstdc++.so.6)
  5. $
复制代码

还有libgcc_s.so.1的指向有问题,继续修改:
  1. $ ll /usr/lib/openoffice/program/libgcc_s.so*
  2. lrwxrwxrwx 1 root root    17 2008-06-15 13:48 libgcc_s.so.1 -> libgcc_s.so.1.1.1
  3. -r--r--r-- 1 root root 33076 2008-05-30 01:00 libgcc_s.so.1.1.1
  4. $ slocate libgcc_s.so
  5. /usr/lib/gcc/i686-pc-linux-gnu/4.2.4/libgcc_s.so.1
  6. /usr/lib/gcc/i686-pc-linux-gnu/4.2.4/libgcc_s.so
  7. /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcc_s.so.1
  8. /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcc_s.so
  9. /usr/lib/openoffice/program/libgcc_s.so.1.1.1
  10. /usr/lib/openoffice/program/libgcc_s.so.1
  11. /opt/Adobe/Reader8/Reader/intellinux/lib/libgcc_s.so.1
  12. /opt/Adobe/Reader8/Reader/intellinux/lib/libgcc_s.so
  13. /lib/libgcc_s.so.1
  14. $ ll /usr/lib/gcc/i686-pc-linux-gnu/4.2.4/libgcc_s.so*
  15. lrwxrwxrwx 1 root root    13 2008-06-13 17:48 /usr/lib/gcc/i686-pc-linux-gnu/4.2.4/libgcc_s.so -> libgcc_s.so.1
  16. -rw-r--r-- 1 root root 42348 2008-06-13 17:48 /usr/lib/gcc/i686-pc-linux-gnu/4.2.4/libgcc_s.so.1
  17. $ su
  18. # pwd
  19.   /usr/lib/openoffice/program
  20. # ln -sf /usr/lib/gcc/i686-pc-linux-gnu/4.2.4/libgcc_s.so.1 libgcc_s.so.1
复制代码

修改完成,继续测试:
  1. $ oowrite
复制代码
一切正常运作,ok!
发表于 2008-6-15 18:36:01 | 显示全部楼层
scim-bridge 是不是可以搞定这个问题?
回复 支持 反对

使用道具 举报

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

本版积分规则

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