QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1182|回复: 6

scim、gcc的问题

[复制链接]
发表于 2005-1-24 16:13:38 | 显示全部楼层 |阅读模式
系统描述:
gentoo 2004.3 stage1安装 gcc-3.4.3.20050110 nptlonly

问题简单描述:
scim跟firefox有冲突,后安装gcc3.3.4,编译scim出错。

详细信息:
我安装了scim、scim-chinese,运行firefox1.0(用的是编译好的二进制包安装的)提示如下:
[code:1]SCIM: im_module_init
*** glibc detected *** free(): invalid pointer: 0x08b082d8 ***[/code:1]
跟着就没反应了。
scim在其他程序中都很正常,例如gnome-terminal、gedit。

不知道是否是编译器的问题??
于是我安装gcc-3.3.4-r1
装完后,运行:
[code:1]gcc-config i686-pc-linux-gnu-3.3.4
source /etc/profile
emerge scim[/code:1]
结果是:
[code:1]Calculating dependencies ...done!
>>> emerge (1 of 1) app-i18n/scim-1.0.1-r1 to /
>>> md5 src_uri ;-) scim-1.0.1.tar.gz
>>> Unpacking source...
>>> Unpacking scim-1.0.1.tar.gz to /var/tmp/portage/scim-1.0.1-r1/work
* Applying scim-0.6.1-gtk2immodule.patch ...                             [ ok ]>>> Source unpacked.
* Patching ${S}/ltmain.sh ...
*   Applying portage-1.4.1.patch ...
*   Applying max_cmd_len-1.5.0.patch ...
*   Applying sed-1.4.3.patch ...
*   Applying fix-relink-1.4.0.patch ...
* Applying uClibc/libtool patches ...
QA Notice: USE Flag 'doc' not in IUSE for app-i18n/scim-1.0.1-r1
./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-gtk-doc
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for i686-pc-linux-gnu-strip... i686-pc-linux-gnu-strip
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/gmsgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for style of include used by make... GNU
checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether i686-pc-linux-gnu-gcc accepts -g... yes
checking for i686-pc-linux-gnu-gcc option to accept ANSI C... none needed
checking dependency style of i686-pc-linux-gnu-gcc... gcc3
checking build system type... i686-pc-linux
checking host system type... i686-pc-linux-gnu
checking for i686-pc-linux-gnu-ranlib... i686-pc-linux-gnu-ranlib
checking for library containing strerror... none required
checking how to run the C preprocessor... i686-pc-linux-gnu-gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for off_t... yes
checking for size_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for getpagesize... yes
checking for working mmap... yes
checking whether we are using the GNU C Library 2.1 or newer... yes
checking whether integer division by zero raises SIGFPE... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unsigned long long... yes
checking for inttypes.h... yes
checking whether the inttypes.h PRIxNN macros are broken... no
checking for ld used by GCC... /usr/i686-pc-linux-gnu/bin/ld
checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking argz.h usability... yes
checking argz.h presence... yes
checking for argz.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking nl_types.h usability... yes
checking nl_types.h presence... yes
checking for nl_types.h... yes
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking for feof_unlocked... yes
checking for fgets_unlocked... yes
checking for getc_unlocked... yes
checking for getcwd... yes
checking for getegid... yes
checking for geteuid... yes
checking for getgid... yes
checking for getuid... yes
checking for mempcpy... yes
checking for munmap... yes
checking for putenv... yes
checking for setenv... yes
checking for setlocale... yes
checking for stpcpy... yes
checking for strcasecmp... yes
checking for strdup... yes
checking for strtoul... yes
checking for tsearch... yes
checking for __argz_count... yes
checking for __argz_stringify... yes
checking for __argz_next... yes
checking for iconv... yes
checking for iconv declaration...
         extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking for nl_langinfo and CODESET... yes
checking for LC_MESSAGES... yes
checking for bison... bison
checking version of bison... 2.0, ok
checking whether NLS is requested... yes
checking whether included gettext is requested... no
checking for GNU gettext in libc... yes
checking for a sed that does not truncate output... /bin/sed
checking for ld used by i686-pc-linux-gnu-gcc... /usr/i686-pc-linux-gnu/bin/ld
checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes
checking for /usr/i686-pc-linux-gnu/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/i686-pc-linux-gnu-nm -B
checking whether ln -s works... yes
checking how to recognise dependent libraries... pass_all
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for i686-pc-linux-gnu-g++... i686-pc-linux-gnu-g++
checking whether we are using the GNU C++ compiler... no
checking whether i686-pc-linux-gnu-g++ accepts -g... yes
checking dependency style of i686-pc-linux-gnu-g++... gcc3
checking how to run the C++ preprocessor... i686-pc-linux-gnu-g++ -E
checking for i686-pc-linux-gnu-g77... i686-pc-linux-gnu-g77
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether i686-pc-linux-gnu-g77 accepts -g... yes
checking the maximum length of command line arguments... 32768
checking command to parse /usr/bin/i686-pc-linux-gnu-nm -B output from i686-pc-linux-gnu-gcc object... ok
checking for objdir... .libs
checking for i686-pc-linux-gnu-ar... i686-pc-linux-gnu-ar
checking for i686-pc-linux-gnu-ranlib... (cached) i686-pc-linux-gnu-ranlib
checking for i686-pc-linux-gnu-strip... (cached) i686-pc-linux-gnu-strip
checking if i686-pc-linux-gnu-gcc static flag  works... yes
checking if i686-pc-linux-gnu-gcc supports -fno-rtti -fno-exceptions... no
checking for i686-pc-linux-gnu-gcc option to produce PIC... -fPIC
checking if i686-pc-linux-gnu-gcc PIC flag -fPIC works... yes
checking if i686-pc-linux-gnu-gcc supports -c -o file.o... yes
checking whether the i686-pc-linux-gnu-gcc linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... no
checking for dlopen in -ldl... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
configure: creating libtool
appending configuration tag "CXX" to libtool
checking whether the i686-pc-linux-gnu-g++ linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes
libtool.m4: error: problem compiling CXX test program
checking for i686-pc-linux-gnu-g++ option to produce PIC...
checking if i686-pc-linux-gnu-g++ supports -c -o file.o... no
checking whether the i686-pc-linux-gnu-g++ linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for shl_load... (cached) no
checking for shl_load in -ldld... (cached) no
checking for dlopen... (cached) no
checking for dlopen in -ldl... (cached) yes
checking whether a program can dlopen itself... (cached) yes
checking whether a statically linked program can dlopen itself... (cached) yes
appending configuration tag "F77" to libtool
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for i686-pc-linux-gnu-g77 option to produce PIC... -fPIC
checking if i686-pc-linux-gnu-g77 PIC flag -fPIC works... yes
checking if i686-pc-linux-gnu-g77 supports -c -o file.o... yes
checking whether the i686-pc-linux-gnu-g77 linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking which extension is used for loadable modules... .so
checking which variable specifies run-time library path... LD_LIBRARY_PATH
checking for the default library search path... /lib /usr/lib # ld.so.conf autogenerated by env-update; make all changes to
# contents of /etc/env.d directory
/usr/local/lib
/usr/i686-pc-linux-gnu/lib
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4
/usr/lib/gcc/i686-pc-linux-gnu/3.4.3
/usr/lib/opengl/xorg-x11/lib
/usr/qt/3/lib
/usr/kde/3.3/lib
/usr/lib/nspr
/usr/lib/nss
/usr/lib/libstdc++-v3/
checking for objdir... .libs
checking whether libtool supports -dlopen/-dlpreopen... yes
checking for shl_load... (cached) no
checking for shl_load in -ldld... (cached) no
checking for dlopen in -ldl... (cached) yes
checking for dlerror... yes
checking for _ prefix in compiled symbols... no
checking whether deplibs are loaded by dlopen... yes
checking for argz.h... (cached) yes
checking for error_t... yes
checking for argz_append... yes
checking for argz_create_sep... yes
checking for argz_insert... yes
checking for argz_next... yes
checking for argz_stringify... yes
checking assert.h usability... yes
checking assert.h presence... yes
checking for assert.h... yes
checking ctype.h usability... yes
checking ctype.h presence... yes
checking for ctype.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking for malloc.h... (cached) yes
checking for memory.h... (cached) yes
checking for stdlib.h... (cached) yes
checking stdio.h usability... yes
checking stdio.h presence... yes
checking for stdio.h... yes
checking for unistd.h... (cached) yes
checking dl.h usability... no
checking dl.h presence... no
checking for dl.h... no
checking sys/dl.h usability... no
checking sys/dl.h presence... no
checking for sys/dl.h... no
checking dld.h usability... no
checking dld.h presence... no
checking for dld.h... no
checking mach-o/dyld.h usability... no
checking mach-o/dyld.h presence... no
checking for mach-o/dyld.h... no
checking for string.h... (cached) yes
checking for strchr... yes
checking for strrchr... yes
checking for memcpy... yes
checking for memmove... yes
checking for strcmp... yes
checking for closedir... yes
checking for opendir... yes
checking for readdir... yes
checking for i686-pc-linux-gnu-g++... (cached) i686-pc-linux-gnu-g++
checking whether we are using the GNU C++ compiler... (cached) no
checking whether i686-pc-linux-gnu-g++ accepts -g... (cached) yes
checking dependency style of i686-pc-linux-gnu-g++... (cached) gcc3
checking for i686-pc-linux-gnu-gcc... (cached) i686-pc-linux-gnu-gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether i686-pc-linux-gnu-gcc accepts -g... (cached) yes
checking for i686-pc-linux-gnu-gcc option to accept ANSI C... (cached) none needed
checking dependency style of i686-pc-linux-gnu-gcc... (cached) gcc3
checking for doxygen... no
checking for dot... NO
checking for dot... no
checking for perl... /usr/bin/perl
checking for gconftool-2... /usr/bin/gconftool-2
checking for xsltproc... /usr/bin/xsltproc
checking for /usr/share/sgml/docbook/xsl-stylesheets/html/tldp-html.xsl... no
checking for /usr/share/sgml/docbook/xsl-stylesheets/html/docbook.xsl... no
checking for /usr/share/xml/docbook/stylesheet/nwalsh/current/html/docbook.xsl... no
checking for intltool >= 0.22... 0.26 found
checking for perl... /usr/bin/perl
checking for ANSI C header files... (cached) yes
checking whether time.h and sys/time.h may both be included... no
checking langinfo.h usability... no
checking langinfo.h presence... yes
configure: WARNING: langinfo.h: present but cannot be compiled
configure: WARNING: langinfo.h:     check for missing prerequisite headers?
configure: WARNING: langinfo.h: see the Autoconf documentation
configure: WARNING: langinfo.h:     section "Present But Cannot Be Compiled"
configure: WARNING: langinfo.h: proceeding with the preprocessor's result
configure: WARNING: langinfo.h: in the future, the compiler will take precedenceconfigure: WARNING:     ## ------------------------------------ ##
configure: WARNING:     ## Report this to [email protected] ##
configure: WARNING:     ## ------------------------------------ ##
checking for langinfo.h... yes
checking libintl.h usability... no
checking libintl.h presence... yes
configure: WARNING: libintl.h: present but cannot be compiled
configure: WARNING: libintl.h:     check for missing prerequisite headers?
configure: WARNING: libintl.h: see the Autoconf documentation
configure: WARNING: libintl.h:     section "Present But Cannot Be Compiled"
configure: WARNING: libintl.h: proceeding with the preprocessor's result
configure: WARNING: libintl.h: in the future, the compiler will take precedence
configure: WARNING:     ## ------------------------------------ ##
configure: WARNING:     ## Report this to [email protected] ##
configure: WARNING:     ## ------------------------------------ ##
checking for libintl.h... yes
checking for string.h... (cached) yes
checking dirent.h usability... no
checking dirent.h presence... yes
configure: WARNING: dirent.h: present but cannot be compiled
configure: WARNING: dirent.h:     check for missing prerequisite headers?
configure: WARNING: dirent.h: see the Autoconf documentation
configure: WARNING: dirent.h:     section "Present But Cannot Be Compiled"
configure: WARNING: dirent.h: proceeding with the preprocessor's result
configure: WARNING: dirent.h: in the future, the compiler will take precedence
configure: WARNING:     ## ------------------------------------ ##
configure: WARNING:     ## Report this to [email protected] ##
configure: WARNING:     ## ------------------------------------ ##
checking for dirent.h... yes
checking for an ANSI C-conforming const... (cached) yes
checking for inline... (cached) inline
checking for size_t... (cached) yes
checking for char... no
checking size of char... 0
checking for unsigned short int... no
checking size of unsigned short int... 0
checking for unsigned int... no
checking size of unsigned int... 0
checking for unsigned long int... no
checking size of unsigned long int... 0
checking for unsigned long long int... no
checking size of unsigned long long int... 0
checking for stdint.h... (cached) yes
configure: error:
*** SCIM requires
***      sizeof (unsigned short int)  == 2
***      sizeof (char)                == 1
*** You might want to consider using the GNU C compiler.


!!! Please attach the config.log to your bug report:
!!! /var/tmp/portage/scim-1.0.1-r1/work/scim-1.0.1/config.log

!!! ERROR: app-i18n/scim-1.0.1-r1 failed.
!!! Function econf, Line 483, Exitcode 0
!!! econf failed
!!! If you need support, post the topmost build error, NOT this status message.[/code:1]
我对gcc实在不了解,不知道能否安装两个gcc。
我对比了两个gcc,发现
[code:1]checking langinfo.h usability... no
checking langinfo.h presence... yes
checking libintl.h usability... no
checking libintl.h presence... yes
checking dirent.h usability... no
checking dirent.h presence... yes[/code:1]
上面那些在gcc 3.4.3中是全部都是 yes的。不过这些都是导致warning的,导致ERROR的是:
[code:1]checking size of char... 0
checking for unsigned short int... no
checking size of unsigned short int... 0
checking for unsigned int... no
checking size of unsigned int... 0
checking for unsigned long int... no
checking size of unsigned long int... 0
checking for unsigned long long int... no
checking size of unsigned long long int... 0[/code:1]
这是怎么回事???
发表于 2005-1-24 18:39:15 | 显示全部楼层
你是不是用了scim的gtk_im_modules
回复

使用道具 举报

 楼主| 发表于 2005-1-24 18:47:05 | 显示全部楼层
可能吧。
这个我不懂,直接用emerge scim装的
还有那个gcc的问题,也麻烦版主看看。 :-)
回复

使用道具 举报

发表于 2005-1-24 18:51:11 | 显示全部楼层
我也不清楚,反正只能用xim,export GTK_IM_MODULES=xim,再试试看,我不敢用gcc 3.4
回复

使用道具 举报

 楼主| 发表于 2005-1-24 20:04:06 | 显示全部楼层
这是我的第一次,从stage1开始装系统。
在网上看到,好像说gcc3.4还不很稳定,不过反正都是在新的分区上安装,原来的系统还保留着,就不理了。直接用gcc3.4。
在安装中都没出现什么问题。就是在装gnome时,编译到nautilus时出错了。最后从原来的stage3的gentoo系统中打包nautilus,再安装到新系统中。装完gnome,接着安装scim就发现问题了。

我想可能是gcc的问题,打算装个3.3.4的gcc,装是装上了,但是编译scim出错了。错误信息见上面。
好像我后来装的gcc3.3.4有很多问题(看上面的错误输出),gcc的我一点都不懂。
谁知道的?help me!
回复

使用道具 举报

 楼主| 发表于 2005-1-24 20:07:46 | 显示全部楼层
[quote:ea97f4b502="troll"]我也不清楚,反正只能用xim,export GTK_IM_MODULES=xim,再试试看,我不敢用gcc 3.4 [/quote]
这个我明天再试试看。
现在在另外一个系统中,不能重启。
回复

使用道具 举报

发表于 2005-1-26 09:44:40 | 显示全部楼层
[quote:92394513c8="GGGO"][quote:92394513c8="troll"]我也不清楚,反正只能用xim,export GTK_IM_MODULES=xim,再试试看,我不敢用gcc 3.4 [/quote]
这个我明天再试试看。
现在在另外一个系统中,不能重启。[/quote]
用chroot[code:1]mkdir /gentoo
mount /dev/... /gentoo
mount -o bind /proc /gentoo/proc
mount -o bind /dev /gentoo/dev
chroot /gentoo /bin/bash -l[/code:1]一边用,一边emerge,不必重启。
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-10-5 02:25 , Processed in 0.105225 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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