Ubuntu 10.04下cce-0.51原代码编译安装

编译安装或者制作Deb包
jiazhoulvke
帖子: 2
注册时间: 2010-06-10 19:12
送出感谢: 0
接收感谢: 0

Re: Ubuntu 10.04下cce-0.51原代码编译安装

#31

帖子 jiazhoulvke » 2010-06-11 2:35

内牛满面啊……在老笔记本上装了个slitaz,用起来很不错,就是没有能在控制台下查看、输入中文,尝试过自己编译,不过没有成功。通过google搜到了这里,一次性编译通过了,太赞了…… :em11
头像
arkansas_ubuntu
帖子: 56
注册时间: 2010-05-18 10:00
送出感谢: 0
接收感谢: 0

Re: Ubuntu 10.04下cce-0.51原代码编译安装

#32

帖子 arkansas_ubuntu » 2010-06-11 5:09

jiazhoulvke 写了:内牛满面啊……在老笔记本上装了个slitaz,用起来很不错,就是没有能在控制台下查看、输入中文,尝试过自己编译,不过没有成功。通过google搜到了这里,一次性编译通过了,太赞了…… :em11
真是高兴,又有人编译安装成功!而且是在slitaz上编译的,我没有测试slitaz,只试了ubuntu. 多谢jiazhoulvke的回复,让我感动。 :em02
Ubuntu论坛中的PLMM数目比Linux下的病毒数目还少,所以
就不用想了,如果你真的碰上了,恭喜,请执行以下命令:
sudo mount -t french /dev/mouth0 /mnt/kiss
french这个参数可以用man kiss查到。别忘了umount,否则
buffer内的数据会丢失。
smilinger
帖子: 8
注册时间: 2007-08-02 14:39
送出感谢: 0
接收感谢: 0

Re: Ubuntu 10.04下cce-0.51原代码编译安装

#33

帖子 smilinger » 2010-11-12 21:36

不知道楼主在不在,我想问问在64位系统下的编译问题。
用你修改的源码包,make成功了,就是有很多的 warning: cast from pointer to integer of different size的警告。
然后运行时就出错:Segmentation Fault,我想是不是把上面的警告都修正了就好了,于是我找到每个给出这种警告的地方,将这些指针到整数的转换都用unsigned long来进行,修改完成后再make,警告没有了,可是问题依旧。
于是尝试着用gdb来简单调试了一下,发现程序一开始运行就出错了,最开始解析命令行及参数时调用basename函数就出错,不知道为什么。我另外写了一小段代码测试了一下,确实是只要一调用basename就出错。用c++写的就没问题。
于是我取消了对basename函数的调用,再make,这次没有段错误了,但是加载了输入法后,程序又退出了,显示信息如下:

CCE> Console/X11 CJK Environment Version 0.51 (Jan 2004)
CCE> Using 1024x768 32-bpp(RGB 8:8:8) framebuffer, 128x46 terminal.
CCE> Loading input method 0 all/intcode.tab: Succeeded.
CCE> Loading input method 1 gbk/gbk-winpy.tab: Succeeded.
CCE> Loading input method 2 gbk/ebf.tab: Succeeded.
CCE> Loading input method 3 gbk/nqwb.tab: Succeeded.
CCE> Loading input method 4 gb/ZiRanMa.tab: Succeeded.
CCE> Loading input method 6 all/ciyingb.tab: Succeeded.
cce: malloc.c:3096: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((a v)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end & pagemask) == 0)' failed.
Abort


最后面的那个表达式把我吓到了,完全超出了我的能力范围,不知道楼主有没有在64位系统下面编译过cce,用你修改过的源码能成功吗?

顺便问问路过的各位高手,有和我做过同样的事情的吗?有没有成功的经验可以分享?

系统:Ubuntu 10.10 x64
头像
arkansas_ubuntu
帖子: 56
注册时间: 2010-05-18 10:00
送出感谢: 0
接收感谢: 0

Re: Ubuntu 10.04下cce-0.51原代码编译安装

#34

帖子 arkansas_ubuntu » 2010-11-13 12:20

你好,没想到几个月前的帖子又被顶回来了,谢谢关注。的确,我是在32位下的环境编译、运行通过的。我手头上没有64位的Linux机器。六月就有个网友给我发站内短信问是否只针对32位机器,现在随着64位机器的普及,看来这是个要解决的问题。我搜索了一下网络发现两个比较有针对性的网页,应该很有帮助,连接如下:
http://www.cyberciti.biz/tips/compile-3 ... linux.html
How to compile a 32-bit application using gcc on the 64-bit Linux version
by VIVEK GITE · 17 COMMENTS
I had to compile a 32-bit application using GNU gcc on the 64-bit version Linux.

Luckily gcc man page directed me to -m32 and -m64 option. These options generate code for a 32-bit or 64-bit environments.

=> The 32-bit environment sets int, long and pointer to 32 bits and generates code that runs on any i386 system.

=> The 64-bit environment sets int to 32 bits and long and pointer to 64 bits and generates code for AMD's x86-64 architecture.

You can pass -m64 or -m32 as follows
For 32 bit version:
$ gcc -m32 -o output32 hello.c

For 64 bit version :
$ gcc -m64 -o output64 hello.c

And output is :
$ ./output32

Output:

Long int size is 4 bytes long!
Now let us see 64 bit output:
$ ./output64

Long int size is 8 bytes long!
Sample code - hello.c:

#include <stdio.h>
int main(){
long z; printf("Long int size is %i bytes long!\n", sizeof(z)); return 0;
}
第二个针对性的网页:
http://stackoverflow.com/questions/2500 ... lain-the-a

这里有重要的一句摘录:
As we know 64 bit processors are backward compatible with 32 bit processors. So, that also wouldn't be a problem. The problem arises because of differences in system calls & call mechanism in 64-bit OS & 32-bit OS.

因为我没有可以尝试的环境,还请你参照这两篇文章,无论成功与否把现象如上一帖一样发在这里,每个人的尝试和结果都很重要。人多力量大!你说呢?
Ubuntu论坛中的PLMM数目比Linux下的病毒数目还少,所以
就不用想了,如果你真的碰上了,恭喜,请执行以下命令:
sudo mount -t french /dev/mouth0 /mnt/kiss
french这个参数可以用man kiss查到。别忘了umount,否则
buffer内的数据会丢失。
smilinger
帖子: 8
注册时间: 2007-08-02 14:39
送出感谢: 0
接收感谢: 0

Re: Ubuntu 10.04下cce-0.51原代码编译安装

#35

帖子 smilinger » 2010-11-13 16:40

我的编程水平实在有限,包括对linux系统的了解也比较浅,对于进一步的调试就无能为力了。
大概又试了一下,在加载输入法zhiyin.tab的时候,就出现了上述的malloc过程的错误,没找出到底出了什么错误。我尝试让程序跳过加载这个输入法,结果程序好像是要起来了,屏幕刷新了一下,结果还是不行,错误如下:

CCE> Console/X11 CJK Environment Version 0.51 (Jan 2004)
CCE> Using 1024x768 32-bpp(RGB 8:8:8) framebuffer, 128x46 terminal.
CCE> Loading input method 0 all/intcode.tab: Succeeded.
CCE> Loading input method 1 gbk/gbk-winpy.tab: Succeeded.
CCE> Loading input method 2 gbk/ebf.tab: Succeeded.
CCE> Loading input method 3 gbk/nqwb.tab: Succeeded.
CCE> Loading input method 4 gb/ZiRanMa.tab: Succeeded.
CCE> Loading input method 6 all/ciyingb.tab: Succeeded.
CCE> Loading input method 9 all/zhiyin.tab: Failed! (跳过,所以)
CCE> Mouse type `PS2', correct? If not, change cce.cfg

CCE> Warning: Couldn't open mouse device; mouse disabled

CCE> Fatal error: Segmentation fault


CCE> Finished without core dump :)
smilinger
帖子: 8
注册时间: 2007-08-02 14:39
送出感谢: 0
接收感谢: 0

Re: Ubuntu 10.04下cce-0.51原代码编译安装

#36

帖子 smilinger » 2010-11-13 16:40

我的编程水平实在有限,包括对linux系统的了解也比较浅,对于进一步的调试就无能为力了。
大概又试了一下,在加载输入法zhiyin.tab的时候,就出现了上述的malloc过程的错误,没找出到底出了什么错误。我尝试让程序跳过加载这个输入法,结果程序好像是要起来了,屏幕刷新了一下,结果还是不行,错误如下:

CCE> Console/X11 CJK Environment Version 0.51 (Jan 2004)
CCE> Using 1024x768 32-bpp(RGB 8:8:8) framebuffer, 128x46 terminal.
CCE> Loading input method 0 all/intcode.tab: Succeeded.
CCE> Loading input method 1 gbk/gbk-winpy.tab: Succeeded.
CCE> Loading input method 2 gbk/ebf.tab: Succeeded.
CCE> Loading input method 3 gbk/nqwb.tab: Succeeded.
CCE> Loading input method 4 gb/ZiRanMa.tab: Succeeded.
CCE> Loading input method 6 all/ciyingb.tab: Succeeded.
CCE> Loading input method 9 all/zhiyin.tab: Failed!
CCE> Mouse type `PS2', correct? If not, change cce.cfg

CCE> Warning: Couldn't open mouse device; mouse disabled

CCE> Fatal error: Segmentation fault


CCE> Finished without core dump :)
头像
arkansas_ubuntu
帖子: 56
注册时间: 2010-05-18 10:00
送出感谢: 0
接收感谢: 0

Re: Ubuntu 10.04下cce-0.51原代码编译安装

#37

帖子 arkansas_ubuntu » 2010-11-14 4:11

我很好奇如果你直接用我修改后的源码,不去修改basename函数的调用,仅修改configure后的gcc参数,然后make, make install是否成功?因为源代码是不需要修改的,64位向下兼容,所以32位代码应该有效,只是编译器的参数改为gcc -m32。

具体操作如下:
用我修改后的源码,

代码: 全选

./configure CC="gcc -m32"
sudo make
sudo make install
Ubuntu论坛中的PLMM数目比Linux下的病毒数目还少,所以
就不用想了,如果你真的碰上了,恭喜,请执行以下命令:
sudo mount -t french /dev/mouth0 /mnt/kiss
french这个参数可以用man kiss查到。别忘了umount,否则
buffer内的数据会丢失。
smilinger
帖子: 8
注册时间: 2007-08-02 14:39
送出感谢: 0
接收感谢: 0

Re: Ubuntu 10.04下cce-0.51原代码编译安装

#38

帖子 smilinger » 2010-11-19 21:29

成功了,确实只要改编译器参数就可以了,之前试过没有成功的原因是没有安装32位的C语言库。所以先要这样:

sudo apt-get install libc6-dev-i386

然后再:

./configure CC="gcc -m32"
sudo make
sudo make install
头像
arkansas_ubuntu
帖子: 56
注册时间: 2010-05-18 10:00
送出感谢: 0
接收感谢: 0

Re: Ubuntu 10.04下cce-0.51原代码编译安装

#39

帖子 arkansas_ubuntu » 2010-11-20 1:25

很高兴你在64位下编译成功 :em02 ,你得谢谢我,哈! :em05
Ubuntu论坛中的PLMM数目比Linux下的病毒数目还少,所以
就不用想了,如果你真的碰上了,恭喜,请执行以下命令:
sudo mount -t french /dev/mouth0 /mnt/kiss
french这个参数可以用man kiss查到。别忘了umount,否则
buffer内的数据会丢失。
jianfei.wang
帖子: 46
注册时间: 2008-03-12 17:21
送出感谢: 0
接收感谢: 0
联系:

非root用户使用cce中文乱码,如何解决

#40

帖子 jianfei.wang » 2011-01-26 20:26

首先谢谢提供这么好的包,编译成功了,但是出现了问题,在非root用户下:
kbd_mode -a
cce -filter utf8
然后看到中文的东西还是乱码,打出来的字也是乱码,这怎么解决,谢谢!!!


已解决:权限的问题,同时zhcon以普通用户还是乱码的也是此方法。

sudo chmod 4755 /usr/local/bin/cce

zhcon:
sudo chmod 4755 /usr/bin/zhcon 或者sudo chmod 4755 /usr/local/bin/zhcon

然后就可以了。
上次由 jianfei.wang 在 2011-02-13 13:50,总共编辑 1 次。
头像
arkansas_ubuntu
帖子: 56
注册时间: 2010-05-18 10:00
送出感谢: 0
接收感谢: 0

Re: Ubuntu 10.04下cce-0.51原代码编译安装

#41

帖子 arkansas_ubuntu » 2011-01-29 11:48

请问所用的Linux发行版本和版本号是多少?32位还是64位?如果是在ubuntu 10.04下,绝对没有问题,已经多次测试过。确保你所看的中文和启动的中文平台的内码一致,要么都是UTF8,要么都是GB2312。
Ubuntu论坛中的PLMM数目比Linux下的病毒数目还少,所以
就不用想了,如果你真的碰上了,恭喜,请执行以下命令:
sudo mount -t french /dev/mouth0 /mnt/kiss
french这个参数可以用man kiss查到。别忘了umount,否则
buffer内的数据会丢失。
jianfei.wang
帖子: 46
注册时间: 2008-03-12 17:21
送出感谢: 0
接收感谢: 0
联系:

Re: Ubuntu 10.04下cce-0.51原代码编译安装

#42

帖子 jianfei.wang » 2011-02-06 16:18

LZ,我的是ubuntu10.10 32位的,root用户就一切正常,一般用户就是不行。

已解决见40楼
flykite1988
帖子: 10
注册时间: 2010-12-30 14:17
送出感谢: 0
接收感谢: 0

Re: Ubuntu 10.04下cce-0.51原代码编译安装

#43

帖子 flykite1988 » 2011-03-24 18:28

lkddb,大家看看
flykite1988
帖子: 10
注册时间: 2010-12-30 14:17
送出感谢: 0
接收感谢: 0

Re: Ubuntu 10.04下cce-0.51原代码编译安装

#44

帖子 flykite1988 » 2011-03-25 15:40

dddddddddd
附件
huawei.rar
(47.88 KiB) 下载 35 次
头像
arkansas_ubuntu
帖子: 56
注册时间: 2010-05-18 10:00
送出感谢: 0
接收感谢: 0

Re: Ubuntu 10.04下cce-0.51原代码编译安装

#45

帖子 arkansas_ubuntu » 2012-09-05 12:54

ubuntu 升级频繁,每次升级就有很多老程序因为设计的原因出现很多问题。总结一下我遇到的问题:

zhcon 0.2.6:

ubuntu 10.04 下按照新立得软件包安装器安装后在普通用户下使用可以输入第一个输入法,无法调出帮助菜单及切换其他输入法。也无法切换全角半角模式。root用户一切正常。
ubuntu 10.10 下普通用户现象如同ubuntu 10.04,root用户则出现乱码。
ubuntu 11.10 下安装后运行屏幕出现飞快滚屏,到网上查了方法后正常。效果和ubuntu 10.10相同。
ubuntu 12.04 未测试。

解决办法(适用于以上各个版本的Ubuntu):运行zhcon之前一定要以root身份运行kbd_mode -a
sudo kbd_mode -a
sudo zhcon --utf8 --drv=fb

sudo zhcon --utf8 --drv=vga


cce 0.51:

ubuntu 10.04 下正常,只是在非4:3的显示器下翻页会出现小问题。
ubuntu 10.10 下正常(16位及32位),只是在非4:3的显示器下翻页会出现小问题。
ubuntu 11.10 下异常,热键无法使用。尚未解决。
ubuntu 12.04 未测试。

ubuntu 11.10下即使以root身份运行kbd_mode -a之后热键也无法使用。

肯请大侠们赐教!
Ubuntu论坛中的PLMM数目比Linux下的病毒数目还少,所以
就不用想了,如果你真的碰上了,恭喜,请执行以下命令:
sudo mount -t french /dev/mouth0 /mnt/kiss
french这个参数可以用man kiss查到。别忘了umount,否则
buffer内的数据会丢失。
回复

回到 “编译或打包”