Re: [PATCH 0/6] [KBUILD] configuration system improvements

From: Cheng Renquan
Date: Wed Mar 04 2009 - 01:50:35 EST


On Wed, Mar 4, 2009 at 3:55 AM, Randy Dunlap <randy.dunlap@xxxxxxxxxx> wrote:
>> This is on OpenSUSE 10.3 on x86_64.
>>
>> glibc-2.6.1-18
>> gtk2-2.12.0-5
>>
>> I don't know that I have any other gtk+ programs.
>>
>>> I have developed these patches on default Fedora 10 i686, it runs
>>> well, and today I have tested it under a latest Gentoo x86_64 desktop,
>>> all seems run well here.
>>
>> Here's a backtrace from gdb. Âgconfig was built without -d, however.

Your glibc and gtk version not old, the building environment seems
good, but here I don't have a OpenSUSE 10.3 x86_64, really no idea on
how to resolve that problem, maybe I have chance to install a OpenSUSE
10.3 x86_64 these days, the I will try that,

Today I tested these patches on another pristine debian-5.0 (lenny)
x86_64 system, it also performed well.
On systems I tested (glibc 2.6,2.7,2.8, gtk-2.12 or gtk-2.14), it may
report warnings from gtkitemfactory.h and ununsed variables from
images.c, but doesn't matter, after "scripts/kconfig/gconf
arch/x86/Kconfig" run, the gtk gconfig window will display, with
symbol's value quoted well,

/usr/include/gtk-2.0/gtk/gtkitemfactory.h:47: warning: function
declaration isnât a prototype

root@uitnode1 ~/src/linux-trees/linux-2.6.29-rc6-305-g2450cf5 # make gconfig
HOSTCC scripts/kconfig/conf.o
HOSTCC scripts/kconfig/gconf.o
scripts/kconfig/images.c:6: warning: âxpm_loadâ defined but not used
scripts/kconfig/images.c:36: warning: âxpm_saveâ defined but not used
scripts/kconfig/images.c:66: warning: âxpm_backâ defined but not used
scripts/kconfig/images.c:175: warning: âxpm_symbol_noâ defined but not used
scripts/kconfig/images.c:192: warning: âxpm_symbol_modâ defined but not used
scripts/kconfig/images.c:209: warning: âxpm_symbol_yesâ defined but not used
scripts/kconfig/images.c:226: warning: âxpm_choice_noâ defined but not used
scripts/kconfig/images.c:243: warning: âxpm_choice_yesâ defined but not used
scripts/kconfig/images.c:277: warning: âxpm_menu_invâ defined but not used
scripts/kconfig/images.c:294: warning: âxpm_menubackâ defined but not used
scripts/kconfig/gconf.c:946: warning: ârenderer_toggledâ defined but not used
HOSTCC scripts/kconfig/kconfig_load.o
HOSTCC scripts/kconfig/kxgettext.o
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/gconf
scripts/kconfig/gconf arch/x86/Kconfig

The get_symbol_str function is totally moved from mconf.c, and kept
intact, to make it available not only used by menuconfig, but also can
be used by gconfig & xconfig & config,

Maybe you can try to "make gconfig" from a vanilla
linux-2.6.29-rc6-git5 kernel, without these kbuild patches, to check
if your system can configure kernel with gconfig?

Alternatively, you can use this to compile gconfig,

gcc -Wall -Wl,--as-needed -Wstrict-prototypes -O2 -fomit-frame-pointer
-D LKC_DIRECT_LINK `pkg-config --cflags gtk+-2.0 gmodule-2.0
libglade-2.0` -o scripts/kconfig/gconf scripts/kconfig/gconf.c
scripts/kconfig/kconfig_load.c scripts/kconfig/zconf.tab.c -lncurses
`pkg-config --libs gtk+-2.0 gmodule-2.0 libglade-2.0`

this will build a smaller scripts/kconfig/gconf, with less library
dependencies, or try "-O2" to "-O0", "-ggdb" to compute more debuging
information, thanks,

In the same time I found the scripts/kconfig/gconf building command
have superfluous paramters, such as "-lncurses", gconfig doesn't need
ncurses, I will post patches to reduce that later.

>
> Here's a better backtrace; gconfig was built with -g (not -d ??!?).
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000000004111b6 in get_symbol_str ()
> (gdb) #0 Â0x00000000004111b6 in get_symbol_str ()
> #1 Â0x0000000000408acb in on_treeview2_cursor_changed (
> Â Âtreeview=<value optimized out>, user_data=<value optimized out>)
> Â Âat /local/linsrc/tmp/linux-2.6.29-rc6-git5/scripts/kconfig/gconf.c:461
> #2 Â0x00002b61af79bd2f in g_closure_invoke ()
> Â from /usr/lib64/libgobject-2.0.so.0
> #3 Â0x00002b61af7ae1fd in ?? () from /usr/lib64/libgobject-2.0.so.0
> #4 Â0x00002b61af7afc55 in g_signal_emit_valist ()
> Â from /usr/lib64/libgobject-2.0.so.0
> #5 Â0x00002b61af7b0043 in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0
> #6 Â0x00002b61ae31bada in ?? () from /usr/lib64/libgtk-x11-2.0.so.0
> #7 Â0x00002b61ae3225de in ?? () from /usr/lib64/libgtk-x11-2.0.so.0
> #8 Â0x00002b61ae22dbbf in ?? () from /usr/lib64/libgtk-x11-2.0.so.0
> #9 Â0x00002b61af79bd2f in g_closure_invoke ()
> Â from /usr/lib64/libgobject-2.0.so.0
> #10 0x00002b61af7ae5f6 in ?? () from /usr/lib64/libgobject-2.0.so.0
> #11 0x00002b61af7af989 in g_signal_emit_valist ()
> Â from /usr/lib64/libgobject-2.0.so.0
> #12 0x00002b61af7b0043 in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0
> #13 0x00002b61ae334ff5 in ?? () from /usr/lib64/libgtk-x11-2.0.so.0
> #14 0x00002b61ae226ef2 in gtk_propagate_event ()
> Â from /usr/lib64/libgtk-x11-2.0.so.0
> #15 0x00002b61ae227e95 in gtk_main_do_event ()
> Â from /usr/lib64/libgtk-x11-2.0.so.0
> #16 0x00002b61aea307bc in ?? () from /usr/lib64/libgdk-x11-2.0.so.0
> #17 0x00002b61afe0c064 in g_main_context_dispatch ()
> Â from /usr/lib64/libglib-2.0.so.0
> #18 0x00002b61afe0f35d in ?? () from /usr/lib64/libglib-2.0.so.0
> #19 0x00002b61afe0f657 in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0
> #20 0x00002b61ae228263 in gtk_main () from /usr/lib64/libgtk-x11-2.0.so.0
> #21 0x000000000040a7c5 in main (ac=2, av=0x7ffffd048228)
> Â Âat /local/linsrc/tmp/linux-2.6.29-rc6-git5/scripts/kconfig/gconf.c:1609
>
>
> --
> ~Randy
>

--
Cheng Renquan (çäå), from Shenzhen, China
Groucho Marx - "I have had a perfectly wonderful evening, but this wasn't it."
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/