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

Cheng Renquan
2009-03-04T06:50:35Z

On Wed, Mar 4, 2009 at 3:55 AM, Randy Dunlap <randy.dunlap@oracle.com> 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."