From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id D247B139083 for ; Tue, 12 Dec 2017 06:23:05 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 64092E0F35; Tue, 12 Dec 2017 06:22:59 +0000 (UTC) Received: from mx07-00178001.pphosted.com (mx08-00178001.pphosted.com [91.207.212.93]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id DDD88E0F1A for ; Tue, 12 Dec 2017 06:22:58 +0000 (UTC) Received: from pps.filterd (m0046660.ppops.net [127.0.0.1]) by mx08-.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id vBC6IvDx029014 for ; Tue, 12 Dec 2017 07:22:42 +0100 Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx08-00178001.pphosted.com with ESMTP id 2esr5y4g77-1 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Tue, 12 Dec 2017 07:22:42 +0100 Received: from zeta.dmz-eu.st.com (zeta.dmz-eu.st.com [164.129.230.9]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 9291C3A for ; Tue, 12 Dec 2017 06:22:40 +0000 (GMT) Received: from Webmail-eu.st.com (sfhdag7node2.st.com [10.75.127.20]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 53D121413 for ; Tue, 12 Dec 2017 06:22:40 +0000 (GMT) Received: from [10.50.186.1] (10.75.127.51) by SFHDAG7NODE2.st.com (10.75.127.20) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Tue, 12 Dec 2017 07:22:39 +0100 Subject: Re: [gentoo-user] Make failed to compile: symbol __alloca not found... To: References: <20171210062834.tyba6c4iakos2wm7@solfire> <20171211161359.2olyqodfqej5kxmi@grusum.endjinn.de> <20171211172330.nqmaeruz66fuhdqm@solfire> <20171211200759.ivmufb7ydrtqope2@grusum.endjinn.de> From: Raffaele Belardi Message-ID: <00daed84-7c33-a9c7-6738-f02748586687@st.com> Date: Tue, 12 Dec 2017 07:26:03 +0100 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.5.0 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@lists.gentoo.org Reply-to: gentoo-user@lists.gentoo.org MIME-Version: 1.0 In-Reply-To: <20171211200759.ivmufb7ydrtqope2@grusum.endjinn.de> Content-Type: text/plain; charset="ISO-8859-15" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.75.127.51] X-ClientProxiedBy: SFHDAG1NODE2.st.com (10.75.127.2) To SFHDAG7NODE2.st.com (10.75.127.20) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-12-12_04:,, signatures=0 X-Archives-Salt: ebf4022f-0653-44f7-b136-b1e108e49be6 X-Archives-Hash: fe2376c08f2365963bf8a58a6c82dd94 David Haller wrote: > Hello, > > On Mon, 11 Dec 2017, tuxic@posteo.de wrote: >> On 12/11 05:13, David Haller wrote: >>> Hello, >>> >>> On Sun, 10 Dec 2017, tuxic@posteo.de wrote: >>>> 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 >>>> 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 >>>> glob/libglob.a(glob.o): In function `glob_in_dir': >>>> glob.c:(.text+0x2ed): undefined reference to `__alloca' >>> >>> IIRC, that's a missing #define somewhere. Or a #define where it >>> shouldn't. But the thing is: on my system, make doesn't build libglob >>> at all because it finds the globbing stuff in glibc. And make has its >>> own alloca.c. >>> >>> So, please show the output of the configure-part of the ebuild and >>> what's the output of: >>> >>> $ grep _GNU_GLOB_INTERFACE_VERSION /usr/include/gnu-versions.h >> >> Here it comes: > [..] >> ./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 >> configure: loading site script /usr/share/config.site > [..] >> checking if system libc has GNU glob... no > [..] > > That figures. > >> /root>grep _GNU_GLOB_INTERFACE_VERSION /usr/include/gnu-versions.h >> #define _GNU_GLOB_INTERFACE_VERSION 2 /* vs posix/glob.c */ > > You seem to be using glibc-2.26. Question is, is that new > GLOB_INTERFACE backwards compatible or not? If it is, you could just > mangle the configure, so that "GNU glob" is considered found, a patch > via the e{apply,patch}_user of configure{ac,} should work. > >> Any ideas? > > "downgrade" to the stable glibc-2.25 ... ;) > > Or dig into why the following happens, i.e. why is __alloca not > defined in glob_in_dir() ... > I don't think it's glibc, here make compiles fine: $ eix -I make ... sys-devel/make Installed versions: 4.2.1-r1(06:56:41 PM 12/11/2017)(nls -guile -static) $ eix -I glibc ... Installed versions: 2.26-r3(2.2)^s(07:08:24 PM 12/04/2017)(-audit -caps -debug -gd -hardened -multilib -nscd -profile -selinux -suid -systemtap -vanilla CROSSCOMPILE_OPTS="-headers-only") ...but: $ grep _GNU_GLOB_INTERFACE_VERSION /usr/include/gnu-versions.h #define _GNU_GLOB_INTERFACE_VERSION 1 /* vs posix/glob.c */ raffaele