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 1464B139083 for ; Tue, 12 Dec 2017 02:08:19 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id D2481E0FA5; Tue, 12 Dec 2017 02:08:12 +0000 (UTC) Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) (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 36A2FE0F8D for ; Tue, 12 Dec 2017 02:08:12 +0000 (UTC) Received: from localhost ([79.223.102.41]) by mail.gmx.com (mrgmx101 [212.227.17.168]) with ESMTPSA (Nemesis) id 0LiHc7-1esdfK4AuR-00nTtx for ; Tue, 12 Dec 2017 03:07:59 +0100 Date: Tue, 12 Dec 2017 03:07:45 +0100 From: tuxic@posteo.de To: gentoo-user@lists.gentoo.org Subject: Re: [gentoo-user] Make failed to compile: symbol __alloca not found... Message-ID: <20171212020745.htules3sqryoieke@solfire> Mail-Followup-To: gentoo-user@lists.gentoo.org References:<20171210062834.tyba6c4iakos2wm7@solfire> <20171211161359.2olyqodfqej5kxmi@grusum.endjinn.de> <20171211172330.nqmaeruz66fuhdqm@solfire> <20171211200759.ivmufb7ydrtqope2@grusum.endjinn.de> 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 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To:<20171211200759.ivmufb7ydrtqope2@grusum.endjinn.de> User-Agent: NeoMutt/20171208 Sender: X-Provags-ID: V03:K0:qYIfFukqixSWfy3QcxGEITtLzJcKhpX4WsS9GfEl7yV8pGmVaOR XocBFTi8PqBG7iVRWomd16fBOD5hrIj6mDp5jpbTK5x33Tsts9I3nr2GqhFZPPB2lTEQDRA 4HNVPDGX2J8fydo3ma3Y1mqnijSSLPWv7WFmUcjlBjg2iFp2Ir9H9cLgI42WlxAHkx03ocN XqQKxiYceOnQP6KbVE9hQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:Tsk+F4e7VsM=:z8HGwEiLejfHFpIPGPDI89 DlT/9M+LNaayo3IXipJRqVuB+HMo6zOk+YfdJIox5uKuF8m+ocdwrOYcEgtoujyBv8LR94wyx vItgIMoGi69ZW1ErFk7DZVhTzdbbILg0ziT8WoOCJiuKtCqnCEcNNAD0B/fEiPlO7e8UxPEgo a46d17C6R0zOHLaGdYpQYqNLo6F4oCTyFO84Q4JGNKoodKYm7jJO3kcGXRzXXlLwGP67ZuJ9C EU4+/MXhXTUgROuGk5VXj7J6c3sC0vdjFJJNleYbeGe4loQlxA+dxo3uDpjiVKjMiJDUIIufo QpZM/MDlLNBnEDWbaaGBi6kXYPVVv0PN6RaPysHFg/Yd2hidX7UKdK0lXoVUjp9SyeIePP8wd kH6qUQ6QWQuVjBp7hAYWi4RR+cL4A3aHSlSZ1kuIpau0+uJNntsVaSlCp5FzLe5HR9bxEkTtG 5XBc+Hkv+r0gVu9v7Vfkzxa9TBKHRqj44A8ZJ3xJ6+eJHB5yXyeBkrdKSAsa3WBIkmcszXJFB K7VNK0o/BTdFZOXdJVGsSSO0eNZgefBneg7DRk+L2L3zgvigbZNSxi67Yu72Vy/f6NaMCi2XR Kk4g9VqvGmMPmzdtZvSLLmA2jROAm1Kd8eJXK8WMKMJeTww/K/8HcS0wrz3JK7kvQGg1ljTuG bQhwr+LBR8RhyGSHSi60EnAaotBzP+wfAqdPNOj4iSvzb9cN/tfjCYK/eWn/KXqg+yYYkvzJ4 tGmzFNtXZcjhgjiv20a89DN65A00XDVpPKQKDIVFO740T8lLyn2KxpH7VopBJadZsjRKNS76x KaN/HkNSY3XCYHC6kOFwK45Zebij19pk4SoJbM0Q/7jszBxi5I= X-Archives-Salt: 6152669c-ef9c-4f8b-9ca7-958b76fa4a25 X-Archives-Hash: 6720e79830092a70c342fe910ef30ceb Hi, On 12/11 09:07, 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 ... ;) emerge prevets this, saying any downgrade would cripple my system... Cheers Meino > > Or dig into why the following happens, i.e. why is __alloca not > defined in glob_in_dir() ... > > >> Ah, yess: > >> > >> ==== make-4.2.1/glob/glob.c:211 ff. ==== > >> #if !defined __alloca && !defined __GNU_LIBRARY__ > >> [..] > >> # define alloca(n) __builtin_alloca (n) > >> [..] > >> # define __alloca alloca > >> [.. down to line 1217 ..] > >> static int > >> glob_in_dir( .. > >> [..] > >> char *fullname = (char *) __alloca(... /* line 1256 */ > >> ==== > >> > >> Somewhere between that and line 1256 of glob.c, where __alloca is > >> first used in that function you managed to undef __alloca... > >> > >> You must have done something weird ... > > If I have the time, I'll try merging the glibc-2.26 and see what > happens. Usually, debugging preprocessor stuff involves (for me) a lot > of liberally sprinkling of in this case e.g. > > #ifndef __alloca > #warning notdef __alloca > #endif > > or somesuch throughout the relevant code, occasionally verified against the > preprocessed code (gcc -save-temps is nice ;) But it tends to be > tedious if you don't know the code (and circumstances) well already. > > HTH, > -dnh > > PS: I've not synced portage for quite some days, I wanted to get done > with the 'emerge -e @world' before adding updates and whatnot into > the mess... So dunno if glibc-2.26 is stable already. > > -- > The problem with people whose minds are in the gutter is that they keep > blocking my periscope. [Peter Gutman] >