gcc hängt beim make menuconfig aufruf

Jan 'RedBully' Seiffert redbully at cc.fh-luh.de
Wed Feb 7 12:49:59 CET 2007


Florian Lohoff wrote:
> On Wed, Feb 07, 2007 at 11:59:51AM +0100, Jan-Benedict Glaw wrote:
>> Subject: Re: gcc hängt beim make menuconfig aufruf
>>
>> On Wed, 2007-02-07 11:29:58 +0100, Florian Lohoff <flo at rfc822.org> wrote:
>>> On Mon, Feb 05, 2007 at 02:22:18PM +0100, Adam Jendrosek wrote:
>>>> root at ubuntu:/usr/src/linux # make menuconfig V=1
>>>> make -f scripts/Makefile.build obj=scripts/basic
>>>> mkdir -p include/linux include/config
>>>> make -f scripts/Makefile.build obj=scripts/kconfig menuconfig
>>>>   gcc -Wp,-MD,scripts/kconfig/.zconf.tab.o.d -Wall -Wstrict-prototypes
>>>> -O2 -fomit-frame-pointer   -DCURSES_LOC="<ncurses.h>" -DLOCALE
>>>> -Iscripts/kconfig -c -o scripts/kconfig/zconf.tab.o
>>>> scripts/kconfig/zconf.tab.c
>>>>   gcc  -o scripts/kconfig/mconf scripts/kconfig/mconf.o
>>>> scripts/kconfig/zconf.tab.o scripts/kconfig/lxdialog/checklist.o
>>>> scripts/kconfig/lxdialog/util.o scripts/kconfig/lxdialog/inputbox.o
>>>> scripts/kconfig/lxdialog/textbox.o scripts/kconfig/lxdialog/yesno.o
>>>> scripts/kconfig/lxdialog/menubox.o -lncursesw 
>>>> scripts/kconfig/zconf.tab.o: In function `sym_re_search':
>>>> zconf.tab.c:(.text+0x1d80): undefined reference to `regcompA'
>>>> zconf.tab.c:(.text+0x1de7): undefined reference to `regexecA'
>>>> zconf.tab.c:(.text+0x1e28): undefined reference to `regfreeA'
>>>> collect2: ld returned 1 exit status
>>>> make[1]: *** [scripts/kconfig/mconf] Error 1
>>>> make: *** [menuconfig] Error 2
>>> Beim linken fehlen dir symbole - 3 listet er auf.
>>> Das sind symbole die aus der libc kommen:
>>>
>>> flo at touch:~$ readelf -s /lib/libc-2.3.6.so  | egrep "regexec|regfree|regcomp"
>>>     62: 000a2880   242 FUNC    GLOBAL DEFAULT   11 regexec@@GLIBC_2.3.4
>>>   1336: 0009ff10   293 FUNC    WEAK   DEFAULT   11 regcomp@@GLIBC_2.0
>>>   2001: 00094bc0    96 FUNC    WEAK   DEFAULT   11 regfree@@GLIBC_2.0
>>>   2008: 000f3a30    66 FUNC    GLOBAL DEFAULT   11 regexec at GLIBC_2.0
>>>
>>> Insgesamt wuerden jetzt ein paar versionen und hintergrundinfos helfen
>> Nochmal ganz genau hingucken :)  Das, was fehlt, hat jeweils noch'n
>> großes 'A' am Ende. Das kommt aus der libboost_regexp, die per default
>> aber nicht dazugelinkt wird. Bei diesem System müßte man das dann
>> nochmal machen...
> 
> boot ist doch C++ krams ? Woher kommt denn das ?
Jupp, sieht aber so aus als wenn man das echt aus einfachem C benutzen
kann. Man bekommt dann zwar nicht die boost-extras, aber sonst ist die
posix regex api da. Die boostextras sind in einem #if
defined(__cplusplus) versteckt, wo ein C-Compiler drueber ruelpsen wuerde.
Muss man nur nachher warsch. mit g++ linken.

> Ich sehe da oben kein
> C++. Oder ist die libncurses in C++ mit C bindings ?
> 
> Dann ist auf der distribution die libncurses5 schrott ?
> 
Wie ich schon vermutete, ist irgendwas in seinem /usr/include kaputt

Wenn ich in meine boost-Header schaue, ist dort naemlich drin:
#ifdef UNICODE
...
#else
#define regcomp regcompA
#define regexec regexecA
...
#endif

Nur die liegen bei mir unter /usr/include/boost/regex.h bzw.
/usr/include/boost/cregex.hpp u. /usr/include/boost/regex/v4/cregex.hpp

/usr/include/regex.h ist schoen brav der header der libc.

Irgendwas muss sie nach /usr/include gespuehlt haben...
Kaputtes Packet (Package Collide), von Hand nachinstalliert, was auch immer

> Flo
> 
Gruss
	Jan

-- 
ACPI - Another Crap Proposal Intel



More information about the Linux mailing list