LinuxSir.cn,穿越时空的Linuxsir!

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

原创:在 fedora 9 中编译安装 sunpinyin

[复制链接]
发表于 2008-7-9 21:44:31 | 显示全部楼层 |阅读模式
最近了解到一款 OpenSolaris 上的开源拼音输入法 SunPinYin 非常不错,也看了作者博客的介绍,可以说是目前在非 Windows 平台上最好的开源拼音输入法了,其使用效果和 Windows 平台上的 google 拼音以及搜狗拼音不相上下,并且 SunPinYin 已经支持 IIIMF、SCIM、UIM 等多种开源输入法框架了,于是从其官方网站下载 http://www.opensolaris.org/os/pr ... shot-080520.tar.bz2 最新源代码,按照其网站上的说明:

* To build the SCIM wrapper

$ cd inputmethod/sunpinyin/ime
$ ./autogen.sh --prefix=/usr --disable-cle --enable-scim
$ make
# make install

依次行事,发现在执行 autogen.sh 的时候就出错了,说有一个 lm_sc.t3g.i386 找不到,后面执行 make 自然就一大些错误了。后来仔细查看了其官方网站的 Repository 说明,才知道,原来 lm_sc.t3g.i386 是 SunPinYin 所需要的语料库,这个语料库出于版权原因没有公开源代码,因此没有放在源代码包中,但是可以从其官方网站免费下载,与之相关的还有一个 pydict_sc.bin.i386 文件,是 SunPinYin 所需要的词典文件,也是必须的。因此在编译之前,必须先下载这两个文件,并将其复制到正确的源代码目录下。完整的 SunPinYin 编译安装步骤如下:

1、确保你的机器上已经安装有 scim

2、如果你的机器上没有 scim-devel,通过 yum 安装 scim-devel

3、下载 SunPinYin 当前最新的源代码 http://www.opensolaris.org/os/pr ... shot-080520.tar.bz2

4、下载 SunPinYin 所需要的语料库文件 lm_sc.t3g.i386 和词典文件 pydict_sc.bin.i386,下载页面是 http://src.opensolaris.org/sourc ... sunpinyin/ime/data/

5、解压缩 SunPinYin 源代码包,进入 sunpinyin/ime/data 目录下,将 lm_sc.t3g.i386 和 pydict_sc.bin.i386 复制到该目录下

6、进入 sunpinyin/ime/src 目录,编辑文件 ic_history.cpp 如下:
在 #include "ic_history.h" 后另起一行加入 #include <stdlib.h>
将第 219 行改为 *buf_ptr = ::malloc(*sz); // malloc for C compatible
将第 229 行改为 ::free(*buf_ptr);
保存修改结果。若不进行上述修改,编译时会出错。

7、退回到 sunpinyin/ime 目录中,依次执行以下命令:
$ ./autogen.sh --prefix=/usr --disable-cle --enable-scim
$ make
$ sudo make install
编译安装顺利进行完毕。注销当前用户,然后重新登陆 gnome 或者 kde 即可。

大家可以享受一下 SunPinYin 了~
 楼主| 发表于 2008-7-9 21:52:13 | 显示全部楼层

原创:在 fedora 9 中编译安装 sunpinyin

最近了解到一款 OpenSolaris 上的开源拼音输入法 SunPinYin 非常不错,也看了作者博客的介绍,可以说是目前在非 Windows 平台上最好的开源拼音输入法了,其使用效果和 Windows 平台上的 google 拼音以及搜狗拼音不相上下,并且 SunPinYin 已经支持 IIIMF、SCIM、UIM 等多种开源输入法框架了,于是从其官方网站下载 http://www.opensolaris.org/os/projec...080520.tar.bz2 最新源代码,按照其网站上的说明:

* To build the SCIM wrapper

$ cd inputmethod/sunpinyin/ime
$ ./autogen.sh --prefix=/usr --disable-cle --enable-scim
$ make
# make install

依次行事,发现在执行 autogen.sh 的时候就出错了,说有一个 lm_sc.t3g.i386 找不到,后面执行 make 自然就一大些错误了。后来仔细查看了其官方网站的 Repository 说明,才知道,原来 lm_sc.t3g.i386 是 SunPinYin 所需要的语料库,这个语料库出于版权原因没有公开源代码,因此没有放在源代码包中,但是可以从其官方网站免费下载,与之相关的还有一个 pydict_sc.bin.i386 文件,是 SunPinYin 所需要的词典文件,也是必须的。因此在编译之前,必须先下载这两个文件,并将其复制到正确的源代码目录下。完整的 SunPinYin 编译安装步骤如下:

1、确保你的机器上已经安装有 scim

2、如果你的机器上没有 scim-devel,通过 yum 安装 scim-devel

3、下载 SunPinYin 当前最新的源代码 http://www.opensolaris.org/os/projec...080520.tar.bz2

4、下载 SunPinYin 所需要的语料库文件 lm_sc.t3g.i386 和词典文件 pydict_sc.bin.i386,下载页面是 http://src.opensolaris.org/source/xr...nyin/ime/data/

5、解压缩 SunPinYin 源代码包,进入 sunpinyin/ime/data 目录下,将 lm_sc.t3g.i386 和 pydict_sc.bin.i386 复制到该目录下

6、进入 sunpinyin/ime/src 目录,编辑文件 ic_history.cpp 如下:
在 #include "ic_history.h" 后另起一行加入 #include <stdlib.h>
将第 219 行改为 *buf_ptr = ::malloc(*sz); // malloc for C compatible
将第 229 行改为 ::free(*buf_ptr);
保存修改结果。若不进行上述修改,编译时会出错。

7、退回到 sunpinyin/ime 目录中,依次执行以下命令:
$ ./autogen.sh --prefix=/usr --disable-cle --enable-scim
$ make
$ sudo make install
编译安装顺利进行完毕。注销当前用户,然后重新登陆 gnome 或者 kde 即可。

大家可以享受一下 SunPinYin 了~
回复 支持 反对

使用道具 举报

发表于 2008-7-9 22:02:02 | 显示全部楼层
菜鸟来学习一下
呵呵
回复 支持 反对

使用道具 举报

发表于 2008-7-9 23:09:38 | 显示全部楼层
原创?地址栏怎么会是 ... 的?
回复 支持 反对

使用道具 举报

发表于 2008-7-9 23:43:27 | 显示全部楼层
自己在别处原创然后转过来的?
回复 支持 反对

使用道具 举报

发表于 2008-7-9 23:54:07 | 显示全部楼层
有装 mercurial 可以直接
hg clone ssh://anon@hg.opensolaris.org/hg/nv-g11n/inputmethod inputmethod
那俩文件也会自动下载下来
回复 支持 反对

使用道具 举报

发表于 2008-7-10 00:37:21 | 显示全部楼层
关注一下,转贴?也太没水准了。有关文件地址如下:
http://src.opensolaris.org/sourc ... sunpinyin/ime/data/
回复 支持 反对

使用道具 举报

发表于 2008-7-10 08:22:28 | 显示全部楼层
嗯,尝试一下看看和scim-python哪个好。
回复 支持 反对

使用道具 举报

发表于 2008-7-10 08:25:05 | 显示全部楼层
多谢!
使用你的方法在Fedora8下也成功了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-10 09:20:53 | 显示全部楼层
确实原创,非转帖,呵呵,在输入法板块也贴了,因为看到不少朋友想安装 sunpinyin,但是目前只有基于 rpm 的安装,但好像 rpm 是 opensuse 的,安装总说校验有问题,无法装,所以就研究了一下源代码安装的方式,供大家参考。scim-python 我也用了,感觉有时候反映好像不灵敏,另外有时候按空格键选择候选词的时候,会多输入一个空格。
回复 支持 反对

使用道具 举报

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

本版积分规则

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