Summary: | uim build error in FreeBSD 8-current/7-prerelease | ||
---|---|---|---|
Product: | UIM | Reporter: | Takuya Harada <tharada> |
Component: | libuim | Assignee: | uim-bugs |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | critical | ||
Priority: | high | ||
Version: | unspecified | ||
Hardware: | x86 (IA32) | ||
OS: | FreeBSD | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | patch to align symbol name |
Description
Takuya Harada
2007-10-28 03:56:40 UTC
I can reproduce it. $ gcc -v Using built-in specs. Target: i386-undermydesk-freebsd Configured with: FreeBSD/i386 system compiler Thread model: posix gcc version 4.2.1 20070719 [FreeBSD] # cd /usr/ports/textproc # make CFLAGS="-g3 -ggdb -O0" ... Abort trap (core dumped) gmake: *** [installed-modules.scm] Error 134 *** Error code 2 Stop in /usr/ports/textproc/uim. # cd work/uim-1.4.1/scm # env LIBUIM_SCM_FILES=/usr/home/iwata/tmp/uim/work/uim-1.4.1/scm LIBUIM_PLUGIN_LIB_DIR=/usr/home/iwata/tmp/uim/work/uim-1.4.1/uim/.libs libtool --mode=execute gdb ../uim/uim-module-manager GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-marcel-freebsd"... (gdb) r --path ../scm --register "skk" "tcode" "trycode" "tutcode" "byeoru" "latin" "pyload" "hangul" "viqr" "ipa-x-sampa" Starting program: /usr/ports/textproc/uim/work/uim-1.4.1/uim/.libs/uim-module-manager --path ../scm --register "skk" "tcode" "trycode" "tutcode" "byeoru" "latin" "pyload" "hangul" "viqr" "ipa-x-sampa" Assertion failed: ((!((uintptr_t)((name)) & (((scm_uintobj_t)1 << ((0) + ((((SCM_MISC_SYMBOL_LV) == 1) ? (1 + 2) : ((SCM_MISC_SYMBOL_LV) == 2) ? ((1 + 2) + 3) : (((1 + 2) + 3) + 2))))) - ((scm_uintobj_t)1 << (0)))))), function scm_make_symbol, file ../sigscheme/src/storage.c, line 354. Program received signal SIGABRT, Aborted. 0x28293e97 in kill () from /lib/libc.so.7 (gdb) bt #0 0x28293e97 in kill () from /lib/libc.so.7 #1 0x28293df6 in raise () from /lib/libc.so.7 #2 0x28291fca in abort () from /lib/libc.so.7 #3 0x282776e6 in __assert () from /lib/libc.so.7 #4 0x2809744e in scm_make_symbol (name=0x2831709c "use", val=94) at storage.c:354 #5 0x28098ef1 in scm_intern (name=0x280b3472 "use") at symbol.c:94 #6 0x2809f031 in scm_register_func (name=0x280b3472 "use", c_func=0x2809eee0 <scm_s_use>, type=SCM_SYNTAX_FIXED_1) at module.c:253 #7 0x2809f00f in scm_register_funcs (table=0x280b8980) at module.c:243 #8 0x2809f169 in scm_initialize_internal (dummy=0x0) at sigscheme.c:278 #9 0x280bba28 in GCROOTS_call_with_gc_ready_stack (ctx=0x28309140, proc=0x2809f0b0 <scm_initialize_internal>, arg=0x0) at gcroots.c:104 #10 0x28097cee in scm_call_with_gc_ready_stack ( func=0x2809f0b0 <scm_initialize_internal>, arg=0x0) at storage-gc.c:263 #11 0x2809f093 in scm_initialize (storage_conf=0xbfbfe9c4) at sigscheme.c:213 #12 0x280ad27f in uim_scm_init (verbose_level=0x0) at uim-scm.c:623 #13 0x280932bc in uim_init_scm () at uim.c:720 #14 0x280933ae in uim_init () at uim.c:775 #15 0x08049025 in main (argc=14, argv=0xbfbfeb24) at uim-module-manager.c:181 FreeBSD 7-prerelease's strdup() doesn't seem to return an aligned address for same cases. Please try the attached patch which uses scm_align_str() for symbol names. Created attachment 12334 [details] [review] patch to align symbol name (In reply to comment #3) > Created an attachment (id=12334) [details] > patch to align symbol name > I applied this patch created on Nov. 3rd, 2007. No build error have not occurred. I am now using new uim. It seems to work file. Thank you very much. (In reply to comment #4) > I applied this patch created on Nov. 3rd, 2007. [..] > It seems to work file. Thanks for the verification. Now these changes are in sigscheme-trunk and sigscheme-0.7. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.