+ -
当前位置:首页 → 问答吧 → 有没有人编译过64位的zhcon?介绍一下经验

有没有人编译过64位的zhcon?介绍一下经验

时间:2007-09-18

来源:互联网

我的GCC是4.2.1,编译时出错了,我想问一下,在编译zhcon之前有没有什么库要先编译?
哪位编译过zhcon介绍一下经验

作者: echo   发布时间: 2007-09-18

64 位 zhcon 还有一点问题.就编译个32位的好了. gentoo 版有那个64位的补丁,但用输入法时会退出.

http://www.linuxsir.org/bbs/showthread.php?t=310832

作者: tfkdmwmqtr   发布时间: 2007-09-18

编译过,不过是龙芯上用的.

作者: youbest   发布时间: 2007-09-18

编译zhcon需要哪些库的支持?

作者: echo   发布时间: 2007-09-18

系统需求
zhcon是一个标准的Linux控制台程序,为了编译和运行zhcon您需要以下软件:

* 运行内核版本2.2以上的Linux系统(或FreeBSD)。建议在编译内核进加入对FrameBuffer的支持。 GNU C++(gcc).建议使用gcc 2.95.2以上版本。
* GNU autoconf/automake
* UNICON&Chinput(可选)
* libggi(可选)

zhcon的手册上说的内容我都已经有了,还要装些什么东西?

作者: echo   发布时间: 2007-09-18

代码:
cd /sources
tar xvf /CBLFS/zhcon-0.2.5.tar.gz
cd zhcon-0.2.5
zcat /CBLFS/zhcon-0.2.5-to-0.2.6.diff.gz | patch -p1
#cp -a ../zhcon-0.2.5{,-64}
# 32bit
CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" \
 ./configure --prefix=/usr --sysconfdir=/etc/zhcon
make
make install
mv -v /usr/bin/zhcon{,-32}

# 这里只编译32位的.
exit

# 64bit
cd ../zhcon-0.2.5-64
zcat /CBLFS/zhcon-0.2.6-amd64.patch.gz | patch -p1
CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" \
 ./configure --prefix=/usr --sysconfdir=/etc/zhcon
make
make install

# Linux系统无需修改zhcon.conf,开机启动时是多少分辨率,在zhcon中就是多少分辨率。
# grub引导装载程序 /boot/grub/menu.lst 中添加 vga=791 为1024*768

# zhcon --utf8

# vga=792
#附vga参数表:
#
# VESA buffer console @ 1024x768x64k
#vga = 791
# Normal VGA console
# vga = normal
# VESA buffer console @ 1024x768x64k
# vga=791
# VESA buffer console @ 1024x768x32k
# vga=790
# VESA buffer console @ 1024x768x256
# vga=773
# VESA buffer console @ 800x600x64k
# vga=788
# VESA buffer console @ 800x600x32k
# vga=787
# VESA buffer console @ 800x600x256
# vga=771
# VESA buffer console @ 640x480x64k
# vga=785
# VESA buffer console @ 640x480x32k
# vga=784
# VESA buffer console @ 640x480x256
# vga=769

# BSD系统需要修改配置文件
#修改配置:
#
# cp /usr/etc/zhcon.conf /usr/local/etc/zhcon.conf.myBak
# vim /usr/etc/zhcon.conf
#
# 修改如下部分:
# #x_resolution = 640
# #y_resolution = 480
# x_resolution = 800
# y_resolution = 600
#
# #color_depth = 4
# color_depth = 8
#

#使用UTF-8编码:
#在字符终端模式下:
# zhcon --utf8

作者: tfkdmwmqtr   发布时间: 2007-09-18

zhcon-0.2.5-to-0.2.6.diff.gz这个包在哪里有下载?刚才google了一下没有找到啊

作者: echo   发布时间: 2007-09-18

传上来了. 很小.右键 另存为.
上传的附件
zhcon-0.2.5-to-0.2.6.diff.gz (2.8 KB, 11 次查看)

作者: tfkdmwmqtr   发布时间: 2007-09-18

编译失败了,下面是以64位方式编译时的错误

代码:
gbkdecoder.cpp: In member function 'virtual unsigned int GBKDecoder::Index(char, char)':
gbkdecoder.cpp:36: warning: comparison is always true due to limited range of data type
if g++ -m64 -DHAVE_CONFIG_H -I. -I. -I.. -funsigned-char -O2 -DNDEBUG -Wall -MT graphdev.o -MD -MP -MF ".deps/graphdev.Tpo" -c -o graphdev.o graphdev.cpp;
\
 then mv -f ".deps/graphdev.Tpo" ".deps/graphdev.Po"; else rm -f ".deps/graphdev.Tpo"; exit 1; fi
if g++ -m64 -DHAVE_CONFIG_H -I. -I. -I.. -funsigned-char -O2 -DNDEBUG -Wall -MT hzdecoder.o -MD -MP -MF ".deps/hzdecoder.Tpo" -c -o hzdecoder.o hzdecoder.cpp; \
 then mv -f ".deps/hzdecoder.Tpo" ".deps/hzdecoder.Po"; else rm -f ".deps/hzdecoder.Tpo"; exit 1; fi
if g++ -m64 -DHAVE_CONFIG_H -I. -I. -I.. -funsigned-char -O2 -DNDEBUG -Wall -MT jisdecoder.o -MD -MP -MF ".deps/jisdecoder.Tpo" -c -o jisdecoder.o jisdecoder.cpp; \
 then mv -f ".deps/jisdecoder.Tpo" ".deps/jisdecoder.Po"; else rm -f ".deps/jisdecoder.Tpo"; exit 1; fi
if g++ -m64 -DHAVE_CONFIG_H -I. -I. -I.. -funsigned-char -O2 -DNDEBUG -Wall -MT kscdecoder.o -MD -MP -MF ".deps/kscdecoder.Tpo" -c -o kscdecoder.o kscdecoder.cpp; \
 then mv -f ".deps/kscdecoder.Tpo" ".deps/kscdecoder.Po"; else rm -f ".deps/kscdecoder.Tpo"; exit 1; fi
if g++ -m64 -DHAVE_CONFIG_H -I. -I. -I.. -funsigned-char -O2 -DNDEBUG -Wall -MT main.o -MD -MP -MF ".deps/main.Tpo" -c -o main.o main.cpp; \
 then mv -f ".deps/main.Tpo" ".deps/main.Po"; else rm -f ".deps/main.Tpo"; exit 1; fi
if g++ -m64 -DHAVE_CONFIG_H -I. -I. -I.. -funsigned-char -O2 -DNDEBUG -Wall -MT window.o -MD -MP -MF ".deps/window.Tpo" -c -o window.o window.cpp; \
 then mv -f ".deps/window.Tpo" ".deps/window.Po"; else rm -f ".deps/window.Tpo"; exit 1; fi
if g++ -m64 -DHAVE_CONFIG_H -I. -I. -I.. -funsigned-char -O2 -DNDEBUG -Wall -MT winime.o -MD -MP -MF ".deps/winime.Tpo" -c -o winime.o winime.cpp; \
 then mv -f ".deps/winime.Tpo" ".deps/winime.Po"; else rm -f ".deps/winime.Tpo"; exit 1; fi
winime.cpp: In member function 'int WinIme::MatchWord(char*, int, int)':
winime.cpp:166: warning: dereferencing type-punned pointer will break strict-aliasing rules
winime.cpp: In member function 'int WinIme::Search(char)':
winime.cpp:253: error: cast from 'char*' to 'unsigned int' loses precision
winime.cpp:274: error: cast from 'char*' to 'unsigned int' loses precision
make[3]: *** [winime.o] Error 1
make[3]: Leaving directory `/root/zhcon/zhcon-0.2.5/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/zhcon/zhcon-0.2.5/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/zhcon/zhcon-0.2.5'
make: *** [all] Error 2
以下是32位编译的错误
代码:
if gcc -m32 -DHAVE_CONFIG_H -I. -I. -I.. -march=k8 -msse3 -O3 -pipe -funsigned-char -O2 -DNDEBUG -Wall -MT encfilter.o -MD -MP -MF ".deps/encfilter.Tpo" -c
-o encfilter.o encfilter.c; \
 then mv -f ".deps/encfilter.Tpo" ".deps/encfilter.Po"; else rm -f ".deps/encfilter.Tpo"; exit 1; fi
encfilter.c:49:1: warning: "BUFSIZ" redefined
In file included from encfilter.c:35:
/usr/include/stdio.h:108:1: warning: this is the location of the previous definition
encfilter.c: In function 'DoEncodingFilter':
encfilter.c:113: warning: implicit declaration of function 'memcpy'
encfilter.c:113: warning: incompatible implicit declaration of built-in function 'memcpy'
if gcc -m32 -DHAVE_CONFIG_H -I. -I. -I.. -march=k8 -msse3 -O3 -pipe -funsigned-char -O2 -DNDEBUG -Wall -MT iconv_string.o -MD -MP -MF ".deps/iconv_string.Tpo" -c -o iconv_string.o iconv_string.c; \
 then mv -f ".deps/iconv_string.Tpo" ".deps/iconv_string.Po"; else rm -f ".deps/iconv_string.Tpo"; exit 1; fi
iconv_string.c: In function 'iconv_string':
iconv_string.c:77: warning: passing argument 2 of 'iconv' from incompatible pointer type
iconv_string.c:129: warning: passing argument 2 of 'iconv' from incompatible pointer type
if gcc -m32 -DHAVE_CONFIG_H -I. -I. -I.. -march=k8 -msse3 -O3 -pipe -funsigned-char -O2 -DNDEBUG -Wall -MT cmdline.o -MD -MP -MF ".deps/cmdline.Tpo" -c -o cmdline.o cmdline.c; \
 then mv -f ".deps/cmdline.Tpo" ".deps/cmdline.Po"; else rm -f ".deps/cmdline.Tpo"; exit 1; fi
g++ -m32 -funsigned-char -O2 -DNDEBUG -Wall -o zhcon basefont.o big52gbdecoder.o big5decoder.o configfile.o console.o gb2big5decoder.o gbdecoder.o gbkdecoder.o graphdev.o hzdecoder.o jisdecoder.o kscdecoder.o main.o window.o winime.o zhcon.o overspotclient.o nativeinputserver.o inputclient.o inputmanager.o inputserver.o candilist.o uniconinputserver.o nativebarclient.o mouse.o encfilter.o iconv_string.o cmdline.o display/libdisplay.a -ldl -lcurses -lutil
mouse.o: In function `Mouse::Process()':
mouse.cpp:(.text+0xb0): undefined reference to `Gpm_GetEvent'
mouse.o: In function `Mouse::Close()':
mouse.cpp:(.text+0x2e1): undefined reference to `Gpm_Close'
mouse.o: In function `Mouse::Open(Console*, int, int, int)':
mouse.cpp:(.text+0x362): undefined reference to `Gpm_Open'
mouse.cpp:(.text+0x36e): undefined reference to `gpm_fd'
mouse.cpp:(.text+0x37b): undefined reference to `Gpm_GetSnapshot'
collect2: ld returned 1 exit status
make[3]: *** [zhcon] Error 1
make[3]: Leaving directory `/root/zhcon/zhcon-0.2.5/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/zhcon/zhcon-0.2.5/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/zhcon/zhcon-0.2.5'
make: *** [all] Error 2

作者: echo   发布时间: 2007-09-18

我的gpm是以64位方式编译的

作者: echo   发布时间: 2007-09-18

引用:
作者: echo
我的gpm是以64位方式编译的
x86_64-Multilib
就是要 32位做一次,然后接着再做一次64位的.
当然,有些软件你就可以选择只编译32位或者64位.比如 Mplayer 用32位还是好点.

作者: tfkdmwmqtr   发布时间: 2007-09-18

引用:
作者: tfkdmwmqtr
x86_64-Multilib
就是要 32位做一次,然后接着再做一次64位的.
当然,有些软件你就可以选择只编译32位或者64位.比如 Mplayer 用32位还是好点.
真是麻烦啊,还要做好几次啊

作者: echo   发布时间: 2007-09-18

引用:
作者: echo
真是麻烦啊,还要做好几次啊
是有一些麻烦.
花的时间应该是 Non-Multilib 的 3倍以上 .
x86_64-Multilib 我喜欢..

作者: tfkdmwmqtr   发布时间: 2007-09-18

那个 zhcon 你就只做32位好了. 64位的 zhcon 还有一些问题.

作者: tfkdmwmqtr   发布时间: 2007-09-18

zhcon安装好了,不过只有root用户可以使用,其它的用户都无法使用,不知道是怎么回事

作者: echo   发布时间: 2007-09-18

引用:
作者: youbest
编译过,不过是龙芯上用的.
龙芯还没有开始卖吗?

作者: shooter   发布时间: 2007-09-19

引用:
作者: shooter
龙芯还没有开始卖吗?
当然有卖的.

作者: youbest   发布时间: 2007-09-19

热门下载

更多