Ubuntu Server 12.04 64位系统编译安装zhcon 0.2.6
一、本文目的:
解决Ubuntu 64位系统下官方提供的zhcon包有如下问题:
1. 普通用户执行zhcon后屏幕中不断输出闪动的行
2. 安装官方提供的zhcon包后,切换至中文输入法然后按键,程序发生段错误
对于问题1,可以直接通过设置zhcon文件的setuid位解决,执行如下命令即可(注意反引号):
sudo chmod u+s `which zhcon`
但是,问题2的原因是原作者假定所有OS的指针均为32位,因此在64位系统中引发了指针越界而产生段错误。
二、准备源码文件:
所有源码文件均可直接在附件中下载,为尊重原作者,下面给出所有文件的链接
0.2.5版本源码:
zhcon-0.2.5.tar.gz http://sourceforge.net/projects/zhcon/files/zhcon/0.2.6/
升级0.2.6补丁:
zhcon-0.2.5-to-0.2.6.diff.gz http://sourceforge.net/projects/zhcon/files/zhcon/0.2.6/
0.2.6版本的64位系统文件更新:
winime.cpp http://att.newsmth.net/nForum/att/LinuxDev/29280/839
winime.h http://att.newsmth.net/nForum/att/LinuxDev/29280/9818
三、机器环境:
* Ubuntu 12.04 x86_64
* g++编译环境(执行apt-get install g++)
* ncurses开发库(执行apt-get install libncurse5-dev安装,若之前./configure过,还需重新执行./configure,因为不安装ncurses库可以通过./configure,但在make阶段会缺少链接库)
四、编译安装步骤:
将以上4个文件拷贝到同一个目录下,如~/zhcon_install,然后依次执行如下命令:
tar -xvf zhcon-0.2.5.tar.gz cd zhcon-0.2.5 zcat ../zhcon-0.2.5-to-0.2.6.diff.gz | patch -p1 cp ../winime.cpp ../winime.h src/ ./configure make # make过程中还会出现一系列库函数缺少头文件的问题,将对应头文件手动加入源码,重新执行make即可 sudo make install # 至此,安装完成 make distclean ## 清理工作
五、补 充:
在网上发现另外一补丁文件:zhcon-0.2.6-amd64.patch.gz http://forum.ubuntu.org.cn/viewtopic.php?t=124062
经测试,并不能解决64位OS zhocn中文输入法段错误的问题
六、参 考:
http://www.linuxeden.com/plus/view.php?aid=51502
http://www.newsmth.net/nForum/#!article/LinuxDev/29280
上一篇: IMSI与IMEI 概念
下一篇: 你只说对了一半