Gentoo Archives: gentoo-user

From: Raffaele Belardi <raffaele.belardi@××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Make failed to compile: symbol __alloca not found...
Date: Tue, 12 Dec 2017 06:23:05
Message-Id: 00daed84-7c33-a9c7-6738-f02748586687@st.com
In Reply to: Re: [gentoo-user] Make failed to compile: symbol __alloca not found... by David Haller
1 David Haller wrote:
2 > Hello,
3 >
4 > On Mon, 11 Dec 2017, tuxic@××××××.de wrote:
5 >> On 12/11 05:13, David Haller wrote:
6 >>> Hello,
7 >>>
8 >>> On Sun, 10 Dec 2017, tuxic@××××××.de wrote:
9 >>>> x86_64-pc-linux-gnu-gcc -DLOCALEDIR=\"/usr/share/locale\" -DLIBDIR=\"/usr/lib64\" -DINCLUDEDIR=\"/usr/include\" -DHAVE_CONFIG_H -I. -I./glob -march=native -O2 -pipe -c -o remote-stub.o remote-stub.c
10 >>>> x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -Wl,--export-dynamic -Wl,-O1 -Wl,--as-needed -o make ar.o arscan.o commands.o default.o dir.o expand.o file.o function.o getopt.o getopt1.o guile.o implicit.o job.o load.o loadapi.o main.o misc.o posixos.o output.o read.o remake.o rule.o signame.o strcache.o variable.o version.o vpath.o hash.o remote-stub.o glob/libglob.a -ldl
11 >>>> glob/libglob.a(glob.o): In function `glob_in_dir':
12 >>>> glob.c:(.text+0x2ed): undefined reference to `__alloca'
13 >>>
14 >>> IIRC, that's a missing #define somewhere. Or a #define where it
15 >>> shouldn't. But the thing is: on my system, make doesn't build libglob
16 >>> at all because it finds the globbing stuff in glibc. And make has its
17 >>> own alloca.c.
18 >>>
19 >>> So, please show the output of the configure-part of the ebuild and
20 >>> what's the output of:
21 >>>
22 >>> $ grep _GNU_GLOB_INTERFACE_VERSION /usr/include/gnu-versions.h
23 >>
24 >> Here it comes:
25 > [..]
26 >> ./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking --disable-silent-rules --libdir=/usr/lib64 --program-prefix=g --without-guile --enable-nls
27 >> configure: loading site script /usr/share/config.site
28 > [..]
29 >> checking if system libc has GNU glob... no
30 > [..]
31 >
32 > That figures.
33 >
34 >> /root>grep _GNU_GLOB_INTERFACE_VERSION /usr/include/gnu-versions.h
35 >> #define _GNU_GLOB_INTERFACE_VERSION 2 /* vs posix/glob.c */
36 >
37 > You seem to be using glibc-2.26. Question is, is that new
38 > GLOB_INTERFACE backwards compatible or not? If it is, you could just
39 > mangle the configure, so that "GNU glob" is considered found, a patch
40 > via the e{apply,patch}_user of configure{ac,} should work.
41 >
42 >> Any ideas?
43 >
44 > "downgrade" to the stable glibc-2.25 ... ;)
45 >
46 > Or dig into why the following happens, i.e. why is __alloca not
47 > defined in glob_in_dir() ...
48 >
49
50 I don't think it's glibc, here make compiles fine:
51
52 $ eix -I make
53 ...
54 sys-devel/make
55 Installed versions: 4.2.1-r1(06:56:41 PM 12/11/2017)(nls -guile -static)
56
57 $ eix -I glibc
58 ...
59 Installed versions: 2.26-r3(2.2)^s(07:08:24 PM 12/04/2017)(-audit -caps -debug -gd
60 -hardened -multilib -nscd -profile -selinux -suid -systemtap -vanilla
61 CROSSCOMPILE_OPTS="-headers-only")
62
63 ...but:
64
65 $ grep _GNU_GLOB_INTERFACE_VERSION /usr/include/gnu-versions.h
66 #define _GNU_GLOB_INTERFACE_VERSION 1 /* vs posix/glob.c */
67
68 raffaele

Replies

Subject Author
Re: [gentoo-user] Make failed to compile: symbol __alloca not found... Joerg Schilling <Joerg.Schilling@××××××××××××××××.de>