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