Gentoo Archives: gentoo-user

From: tuxic@××××××.de
To: Gentoo <gentoo-user@l.g.o>
Subject: [gentoo-user] Make failed to compile: symbol __alloca not found...
Date: Sun, 10 Dec 2017 06:28:54
Message-Id: 20171210062834.tyba6c4iakos2wm7@solfire
Hi,

sys-devel/make-4.2.1-r1 failed to compile with this:

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 vpath.o vpath.c
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 hash.o hash.c
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'
glob.c:(.text+0x46e): undefined reference to `__alloca'
glob.c:(.text+0x628): undefined reference to `__alloca'
glob.c:(.text+0x680): undefined reference to `__alloca'
glob/libglob.a(glob.o): In function `glob':
glob.c:(.text+0x99b): undefined reference to `__alloca'
glob/libglob.a(glob.o):glob.c:(.text+0x104a): more undefined references to `__alloca' follow
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:656: make] Error 1
make[2]: Leaving directory '/var/tmp/portage/sys-devel/make-4.2.1-r1/work/make-4.2.1'
make[1]: *** [Makefile:798: all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/sys-devel/make-4.2.1-r1/work/make-4.2.1'
make: *** [Makefile:534: all] Error 2
 * ERROR: sys-devel/make-4.2.1-r1::gentoo failed (compile phase):
 *   emake failed


Online I found articles which explain, why it is not recommended to
use alloca() at all:
RETURN VALUE The alloca() function returns a pointer to the beginning of the allocated space. If the allocation causes stack overflow, program behaviour is undefined.
(https://stackoverflow.com/questions/1018853/why-is-the-use-of-alloca-not-considered-good-practice)

How can I recompile make -- it is still non-PIE and one of those
application which I cant convince to be friendly to gcc :)

How serious is this alloca-thingy at all?

Cheers
Meino

Replies

Subject Author
Re: [gentoo-user] Make failed to compile: symbol __alloca not found... Raffaele Belardi <raffaele.belardi@××.com>
Re: [gentoo-user] Make failed to compile: symbol __alloca not found... David Haller <gentoo@×××××××.de>