Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 646558

Summary: sys-devel/make-4.2.1-r1 fails to build with sys-libs/glibc-2.27*
Product: Gentoo Linux Reporter: Andreas K. Hüttel <dilfridge>
Component: Current packagesAssignee: Gentoo's Team for Core System packages <base-system>
Status: RESOLVED FIXED    
Severity: normal CC: maracay, perfect007gentleman
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=648034
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 637144    
Attachments: my make ebuild using latest code from upstream's git repo

Description Andreas K. Hüttel archtester gentoo-dev 2018-02-04 09:31:28 UTC
sys-devel/make-4.2.1-r1 fails to build with sys-libs/glibc-2.27*

See also: http://lists.gnu.org/archive/html/bug-make/2017-11/msg00030.html

x86_64-pc-linux-gnu-gcc  -march=native -O2 -pipe -g -Wl,--export-dynamic -Wl,--as-needed -Wl,-O1 -Wl,--hash-style=gnu -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':
/var/tmp/portage/sys-devel/make-4.2.1-r1/work/make-4.2.1/glob/glob.c:1342: undefined reference to `__alloca'
/var/tmp/portage/sys-devel/make-4.2.1-r1/work/make-4.2.1/glob/glob.c:1256: undefined reference to `__alloca'
/var/tmp/portage/sys-devel/make-4.2.1-r1/work/make-4.2.1/glob/glob.c:1367: undefined reference to `__alloca'
/var/tmp/portage/sys-devel/make-4.2.1-r1/work/make-4.2.1/glob/glob.c:1283: undefined reference to `__alloca'
glob/libglob.a(glob.o): In function `glob':
/var/tmp/portage/sys-devel/make-4.2.1-r1/work/make-4.2.1/glob/glob.c:581: undefined reference to `__alloca'
glob/libglob.a(glob.o):/var/tmp/portage/sys-devel/make-4.2.1-r1/work/make-4.2.1/glob/glob.c:732: more undefined references to `__alloca' follow
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:656: make] Error 1
Comment 1 Eddie Chapman 2018-02-04 19:35:55 UTC
It also fails for me in the same way on my Gentoo system with gcc 7.3.0 and glibc 2.27.

It's due to this change in glibc 2.27:
https://sourceware.org/git/?p=glibc.git;a=commit;h=ccf970c7a77e86f4f5ef8ecc5e6

It is fixed by these 2 commits upstream:

glob: Do not assume glibc glob internals.
http://git.savannah.gnu.org/cgit/make.git/commit/?id=193f1e81edd6b1b56b0eb0ff8aa4b41c7b4257b4

configure.ac: Support GLIBC glob interface version 2
http://git.savannah.gnu.org/cgit/make.git/commit/?id=48c8a116a914a325a0497721f5d8b58d5bba34d4

I didn't try cherry picking these but made my own sys-devel/make git ebuild taking all changes since 4.2.1. It builds and installs fine, and I'm now nearly finished rebuilding everything with it and glibc 2.27. Haven't had any issues at all so far.
Comment 2 Eddie Chapman 2018-02-04 19:51:11 UTC
Created attachment 517814 [details]
my make ebuild using latest code from upstream's git repo

Attached in case its useful to anyone. As I say, works perfectly for me, have rebuilt more than 1000 packages so far on a gentoo x86_64 system with this and glibc 2.27 since yesterday. Note this system is not multilib, 64-bit only, but then again I think the current glibc 2.27-r1 ebuild doesn't work for multilib yet anyway.
Comment 3 cyrillic 2018-02-04 21:27:17 UTC
I can confirm that the latest git version of make is working here.

also, glibc-2.27-r1 is working on my multilib setup.
Comment 4 Vladimir B. Vinogradov 2018-02-05 13:22:58 UTC
There is a patch to make-4-2.1 to compile with glibc-2.27 - 

https://patchwork.openembedded.org/patch/147686/

I've tested above patch for make-4-2.1 with gcc-7.3 and gcc-8.0.0-20180204 without any glibc-2.17 changes (both no-multilib and multilib profiles).
Comment 5 Larry the Git Cow gentoo-dev 2018-02-11 00:09:08 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7fedeea1187d03f8e755542c2fd4a982e15b9046

commit 7fedeea1187d03f8e755542c2fd4a982e15b9046
Author:     Andreas K. Hüttel <dilfridge@gentoo.org>
AuthorDate: 2018-02-11 00:08:51 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: 2018-02-11 00:08:51 +0000

    sys-devel/make: Fix build and tests with sys-libs/glibc-2.27, bug 646558
    
    Closes: https://bugs.gentoo.org/646558
    Package-Manager: Portage-2.3.24, Repoman-2.3.6

 .../make/files/make-4.2.1-glob-internals.patch     | 67 ++++++++++++++++++++++
 sys-devel/make/files/make-4.2.1-glob-v2.patch      | 28 +++++++++
 sys-devel/make/make-4.2.1-r1.ebuild                |  2 +
 3 files changed, 97 insertions(+)