欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ubuntu Server 12.04 64位系统编译安装zhcon 0.2.6

程序员文章站 2022-04-12 19:02:43
...

 

一、本文目的:

解决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