Debian Bug report logs - #891365
make-dfsg: FTBFS with glibc 2.27: undefined reference to `__alloca'

version graph

Package: src:make-dfsg; Maintainer for src:make-dfsg is Stephen Kitt <skitt@debian.org>;

Reported by: Aurelien Jarno <aurel32@debian.org>

Date: Sat, 24 Feb 2018 22:48:02 UTC

Severity: serious

Tags: buster, patch, sid

Found in versions make-dfsg/4.2.1-1, make-dfsg/4.1-9.1

Fixed in version make-dfsg/4.2.1-1.1

Done: Ben Hutchings <ben@decadent.org.uk>

Bug is archived. No further changes may be made.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Manoj Srivastava <srivasta@debian.org>:
Bug#891365; Package src:make-dfsg. (Sat, 24 Feb 2018 22:48:04 GMT) (full text, mbox, link).


Acknowledgement sent to Aurelien Jarno <aurel32@debian.org>:
New Bug report received and forwarded. Copy sent to Manoj Srivastava <srivasta@debian.org>. (Sat, 24 Feb 2018 22:48:04 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Aurelien Jarno <aurel32@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: make-dfsg: FTBFS with glibc 2.27: undefined reference to `__alloca'
Date: Sat, 24 Feb 2018 23:45:50 +0100
[Message part 1 (text/plain, inline)]
Source: make-dfsg
Version: 4.2.1-1
Severity: important
Tags: patch
User: debian-glibc@lists.debian.org
Usertags: 2.27

make-dfsg 4.2.1-1 fails to build with glibc 2.27 (2.27-0experimental0 from
experimental):

| gcc -DHAVE_CONFIG_H -I. -I../../../glob -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c -o glob.o ../../../glob/glob.c
| gcc -DHAVE_CONFIG_H -I. -I../../../glob -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c -o fnmatch.o ../../../glob/fnmatch.c
| ../../../glob/glob.c:581:23: warning: implicit declaration of function '__alloca'; did you mean 'alloca'? [-Wimplicit-function-declaration]
|        newp = (char *) __alloca (dirlen + 1);
|                        ^~~~~~~~
|                        alloca
| ../../../glob/glob.c:581:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
|        newp = (char *) __alloca (dirlen + 1);
|               ^
| ../../../glob/glob.c:709:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
|         newp = (char *) __alloca (home_len + dirlen);
|                ^
| ../../../glob/glob.c:732:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
|         newp = (char *) __alloca (end_name - dirname);
|                ^
| ../../../glob/glob.c:783:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
|         newp = (char *) __alloca (home_len + rest_len + 1);
|                ^
| ../../../glob/glob.c:814:11: warning: implicit declaration of function '__stat'; did you mean '__xstat'? [-Wimplicit-function-declaration]
|          : __stat (dirname, &st)) == 0
|            ^~~~~~
|            __xstat
| ../../../glob/glob.c: In function 'glob_in_dir':
| ../../../glob/glob.c:1256:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
|     char *fullname = (char *) __alloca (dirlen + 1 + patlen + 1);
|                      ^
| ../../../glob/glob.c:1283:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
|     names = (struct globlink *) __alloca (sizeof (struct globlink));
|             ^
| ../../../glob/glob.c:1341:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
|          struct globlink *new = (struct globlink *)
|                                 ^
| ../../../glob/glob.c:1367:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
|        names = (struct globlink *) __alloca (sizeof (struct globlink));
|                ^
| rm -f libglob.a
| ar cru libglob.a glob.o fnmatch.o 
| ar: `u' modifier ignored since `D' is the default (see `U')
| ranlib libglob.a

[...]

| gcc -pthread -I/usr/include/guile/2.0 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,--export-dynamic -Wl,-z,relro -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 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 -lguile-2.0 -lgc  -ldl 
| glob/libglob.a(glob.o): In function `glob_in_dir':
| ./debian/build-make-guile/glob/../../../glob/glob.c:1367: undefined reference to `__alloca'
| ./debian/build-make-guile/glob/../../../glob/glob.c:1342: undefined reference to `__alloca'
| ./debian/build-make-guile/glob/../../../glob/glob.c:1283: undefined reference to `__alloca'
| ./debian/build-make-guile/glob/../../../glob/glob.c:1256: undefined reference to `__alloca'
| glob/libglob.a(glob.o): In function `glob':
| ./debian/build-make-guile/glob/../../../glob/glob.c:581: undefined reference to `__alloca'
| glob/libglob.a(glob.o):./debian/build-make-guile/glob/../../../glob/glob.c:732: more undefined references to `__alloca' follow
| collect2: error: ld returned 1 exit status
| Makefile:631: recipe for target 'make' failed
| make[4]: *** [make] Error 1
| make[4]: Leaving directory '/<<PKGBUILDDIR>>/debian/build-make-guile'
| Makefile:773: recipe for target 'all-recursive' failed
| make[3]: *** [all-recursive] Error 1
| make[3]: Leaving directory '/<<PKGBUILDDIR>>/debian/build-make-guile'
| Makefile:526: recipe for target 'all' failed
| make[2]: *** [all] Error 2
| make[2]: Leaving directory '/<<PKGBUILDDIR>>/debian/build-make-guile'
| dh_auto_build: cd debian/build-make-guile && make -j16 returned exit code 2
| debian/rules:40: recipe for target 'override_dh_auto_build' failed
| make[1]: *** [override_dh_auto_build] Error 2
| make[1]: Leaving directory '/<<PKGBUILDDIR>>'
| debian/rules:22: recipe for target 'build-arch' failed
| make: *** [build-arch] Error 2
| dpkg-buildpackage: error: debian/rules build-arch subprocess returned exit status 2

A full build log is available there (from a slightly older version):
http://aws-logs.debian.net/2018/02/07/glibc-exp/make-dfsg_4.1-9.1_unstable_glibc-exp.log

The problem is that the glibc 2.27 slightly changed its internal glob
implementation. make detects that it doesn't support the new
interface and switch to its internal implementation which is slightly
broken.

The attached patch fixes that by backporting two upstream commits which
add supports for the new interface.
[make-dfsg-glob-glibc227.diff (text/plain, attachment)]

Severity set to 'serious' from 'important' Request was from Helmut Grohne <helmut@subdivi.de> to control@bugs.debian.org. (Sat, 03 Mar 2018 21:51:07 GMT) (full text, mbox, link).


Marked as found in versions make-dfsg/4.1-9.1. Request was from Adrian Bunk <bunk@debian.org> to control@bugs.debian.org. (Mon, 05 Mar 2018 12:57:03 GMT) (full text, mbox, link).


Added tag(s) buster and sid. Request was from Adrian Bunk <bunk@debian.org> to control@bugs.debian.org. (Mon, 05 Mar 2018 12:57:04 GMT) (full text, mbox, link).


Reply sent to Ben Hutchings <ben@decadent.org.uk>:
You have taken responsibility. (Fri, 13 Jul 2018 04:06:06 GMT) (full text, mbox, link).


Notification sent to Aurelien Jarno <aurel32@debian.org>:
Bug acknowledged by developer. (Fri, 13 Jul 2018 04:06:06 GMT) (full text, mbox, link).


Message #16 received at 891365-close@bugs.debian.org (full text, mbox, reply):

From: Ben Hutchings <ben@decadent.org.uk>
To: 891365-close@bugs.debian.org
Subject: Bug#891365: fixed in make-dfsg 4.2.1-1.1
Date: Fri, 13 Jul 2018 04:04:12 +0000
Source: make-dfsg
Source-Version: 4.2.1-1.1

We believe that the bug you reported is fixed in the latest version of
make-dfsg, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 891365@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Ben Hutchings <ben@decadent.org.uk> (supplier of updated make-dfsg package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Wed, 11 Jul 2018 07:38:22 +0100
Source: make-dfsg
Binary: make make-guile
Architecture: source
Version: 4.2.1-1.1
Distribution: unstable
Urgency: medium
Maintainer: Manoj Srivastava <srivasta@debian.org>
Changed-By: Ben Hutchings <ben@decadent.org.uk>
Description:
 make       - utility for directing compilation
 make-guile - utility for directing compilation with guile support
Closes: 890309 890430 891365 891702
Changes:
 make-dfsg (4.2.1-1.1) unstable; urgency=medium
 .
   * Non-maintainer upload
   * Resolve issues discovered by static code analysis.
   * Fix potential hangs (Closes: #890309):
     - [SV 51159] Use a non-blocking read with pselect to avoid hangs.
     - [SV 51400] Only unblock fatal signals after child invocation
     - Treat -Otarget and -Orecurse as -Oline, to avoid a hang
   * Fix FTBFS with glibc 2.7, thanks to Aurelien Jarno (Closes: #891365):
     - glob: Do not assume glibc glob internals.
     - configure.ac: Support GLIBC glob interface version 2
   * Restore old behaviour of -j in MAKEFLAGS variable (Closes: #890430):
     - main.c (main): [SV 48274] Allow -j in makefile MAKEFLAGS variable.
     - tests/scripts/features/output-sync: Revert bad change in 0c5a9f9b92a
     - Makefile.am: Add jhelp.pl to remote test setup.
   * make-guile: Add version to Provides field (Closes: #891702)
   * debian/control: Update Vcs-{Browser,Git} fields to point to Salsa
   * debian/control, debian/copyright: Update URLs to use HTTP-S
   * debian/rules: Add -Wall to CFLAGS
Checksums-Sha1:
 8bb8dcdb9c70155fba2483fe9e1ec705d8e4729a 2019 make-dfsg_4.2.1-1.1.dsc
 ce2ac06a041bd188a9d2dc1e93643e05709822ad 52923 make-dfsg_4.2.1-1.1.diff.gz
 bcf34e099e0bf319d104ab689e4369e0d3b19325 6021 make-dfsg_4.2.1-1.1_source.buildinfo
Checksums-Sha256:
 a6c8810fbdf85c1ce4d56d42e0c05e30a87d67b7e91e87ddc67c35c2bd876c6a 2019 make-dfsg_4.2.1-1.1.dsc
 bfa8877a1e57e8134e61def5a851c0c87d4e3f24d2d18b735f804e8e12ff3b86 52923 make-dfsg_4.2.1-1.1.diff.gz
 5aa101ef46e8bc7ce58094fd00137d182535d05840989c15e8dceea190215173 6021 make-dfsg_4.2.1-1.1_source.buildinfo
Files:
 3c3cb29dcfc7e907bdab98aefed1e193 2019 devel optional make-dfsg_4.2.1-1.1.dsc
 fd8786fd4818ae3ac8b3451c93ed1c6d 52923 devel optional make-dfsg_4.2.1-1.1.diff.gz
 59d3f7e9b7e37a5aee73e88a878f20b0 6021 devel optional make-dfsg_4.2.1-1.1_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEErCspvTSmr92z9o8157/I7JWGEQkFAltFqYgACgkQ57/I7JWG
EQmPbBAAi4ytTOTxe5TkrfCqM9jlDu2zKAsZt+jT6xC+YM0Qe2IfEfksf+KQXe1C
OUQqR8OPDJeCoF34Mglv/0iPPlaBirMPE/0ojDLtJS+2apV6GLl2lUr14Et8Z2Jq
ZlNWZkpTe7L5oGmgZCHgjUymrWFLPJgR5YZ1LmRLtQUlpbaByyfU5lG6nMkKal6X
cMERxxzZl3KUxrp+u/qGMVf4WnZqOiyDMtDa8ClYKdCIFIt3oQQ34icEI9Sm6X2x
L5sDO7jo/upX5L6q7KLxmVATEvXXKiOYuWd6d/blhL82IWo0/u1XohSZmzi0lQY5
8Vjv46LLGJ7yRmaoMeOOpq/K7oOA/8bjGu5bnEc1lAwYPlffmHpC9MnG5//RU0pE
d308C8p+aSCVJuGxwIG9OFTbJZX1rwa9xiqN0HnExvq/hWRKcbTKH0IMCdYZi4ZY
w6262LF//NoyiURTpjLWtwKSeDxKh81uYIZXm86vJoFsdA1ohEcC8Nz5xrewPSgA
i9HPCSngb+0zVqvux18vDLFM5+lRLpFrVrlRXR+K3XBfuFXkbamRcMSL1PzRXcy2
30MwG3fiAqq/5tCH8L1tAPZ4je8/y2VCrIAphXXKr9QO4QTIUXNy8ueriY9lFEF9
UpKCWzcqK5ldnWaZJK8mwqtQMn9zyz551i9t0dHspBcGBeBDwsk=
=Q9v4
-----END PGP SIGNATURE-----




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Thu, 06 Sep 2018 07:27:49 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Thu Oct 23 05:06:34 2025; Machine Name: berlioz

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU General Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.