Source: gridengine Version: 8.1.9+dfsg-7 Severity: important User: debian-gl...@lists.debian.org Usertags: 2.27
gridengine 8.1.9+dfsg-7 fails to build with glibc 2.27 (2.27-0experimental0 from experimental): | make[4]: Entering directory '/<<BUILDDIR>>/gridengine-8.1.9+dfsg/source/3rdparty/qmake/LINUXAMD64/glob' | cc -DHAVE_CONFIG_H -I. -I../../glob -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -Wstrict-prototypes -DLINUX -DLINUXAMD64 -DLINUXAMD64 -D_GNU_SOURCE -DGETHOSTBYNAME_R6 -DGETHOSTBYADDR_R8 -DTARGET_64BIT -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<BUILDDIR>>/gridengine-8.1.9+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -DSGE_PQS_API -DSPOOLING_dynamic -DSECURE -DHAVE_HWLOC=1 -DCOMPILE_DC -D__SGE_COMPILE_WITH_GETTEXT__ -D__SGE_NO_USERMAPPING__ -Wno-error -Wno-strict-prototypes -MT glob.o -MD -MP -MF .deps/glob.Tpo -c -o glob.o ../../glob/glob.c | cc -DHAVE_CONFIG_H -I. -I../../glob -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -Wstrict-prototypes -DLINUX -DLINUXAMD64 -DLINUXAMD64 -D_GNU_SOURCE -DGETHOSTBYNAME_R6 -DGETHOSTBYADDR_R8 -DTARGET_64BIT -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<BUILDDIR>>/gridengine-8.1.9+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -DSGE_PQS_API -DSPOOLING_dynamic -DSECURE -DHAVE_HWLOC=1 -DCOMPILE_DC -D__SGE_COMPILE_WITH_GETTEXT__ -D__SGE_NO_USERMAPPING__ -Wno-error -Wno-strict-prototypes -MT fnmatch.o -MD -MP -MF .deps/fnmatch.Tpo -c -o fnmatch.o ../../glob/fnmatch.c | mv -f .deps/fnmatch.Tpo .deps/fnmatch.Po | ../../glob/glob.c: In function ‘glob’: | ../../glob/glob.c:576:23: warning: implicit declaration of function ‘__alloca’; did you mean ‘alloca’? [-Wimplicit-function-declaration] | newp = (char *) __alloca (dirlen + 1); | ^~~~~~~~ | alloca | ../../glob/glob.c:576:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] | newp = (char *) __alloca (dirlen + 1); | ^ | ../../glob/glob.c:704:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] | newp = (char *) __alloca (home_len + dirlen); | ^ | ../../glob/glob.c:727:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] | newp = (char *) __alloca (end_name - dirname); | ^ | ../../glob/glob.c:778: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:809: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:1251: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:1278:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] | names = (struct globlink *) __alloca (sizeof (struct globlink)); | ^ | ../../glob/glob.c:1336:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] | struct globlink *new = (struct globlink *) | ^ | ../../glob/glob.c:1362:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] | names = (struct globlink *) __alloca (sizeof (struct globlink)); | ^ | mv -f .deps/glob.Tpo .deps/glob.Po | 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 | make[4]: Leaving directory '/<<BUILDDIR>>/gridengine-8.1.9+dfsg/source/3rdparty/qmake/LINUXAMD64/glob' | Making all in config [...] | cc -O2 -Wstrict-prototypes -DLINUX -DLINUXAMD64 -DLINUXAMD64 -D_GNU_SOURCE -DGETHOSTBYNAME_R6 -DGETHOSTBYADDR_R8 -DTARGET_64BIT -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<BUILDDIR>>/gridengine-8.1.9+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -DSGE_PQS_API -DSPOOLING_dynamic -DSECURE -DHAVE_HWLOC=1 -DCOMPILE_DC -D__SGE_COMPILE_WITH_GETTEXT__ -D__SGE_NO_USERMAPPING__ -Wno-error -Wno-strict-prototypes -L. -Wl,-z,relro -rdynamic -Wl,-rpath,\$ORIGIN/../../lib/lx-amd64 -o make ar.o arscan.o commands.o default.o dir.o expand.o file.o function.o getopt.o getopt1.o implicit.o job.o main.o misc.o read.o remake.o remote-sge.o rule.o signame.o strcache.o variable.o version.o vpath.o hash.o glob/libglob.a -lm -lpthread | glob/libglob.a(glob.o): In function `glob_in_dir': | ./source/3rdparty/qmake/LINUXAMD64/glob/../../glob/glob.c:1362: undefined reference to `__alloca' | ./source/3rdparty/qmake/LINUXAMD64/glob/../../glob/glob.c:1337: undefined reference to `__alloca' | ./source/3rdparty/qmake/LINUXAMD64/glob/../../glob/glob.c:1278: undefined reference to `__alloca' | ./source/3rdparty/qmake/LINUXAMD64/glob/../../glob/glob.c:1251: undefined reference to `__alloca' | glob/libglob.a(glob.o): In function `glob': | ./source/3rdparty/qmake/LINUXAMD64/glob/../../glob/glob.c:576: undefined reference to `__alloca' | glob/libglob.a(glob.o):./source/3rdparty/qmake/LINUXAMD64/glob/../../glob/glob.c:727: more undefined references to `__alloca' follow | collect2: error: ld returned 1 exit status | Makefile:592: recipe for target 'make' failed | make[4]: *** [make] Error 1 | make[4]: Leaving directory '/<<BUILDDIR>>/gridengine-8.1.9+dfsg/source/3rdparty/qmake/LINUXAMD64' | Makefile:710: recipe for target 'all-recursive' failed | make[3]: *** [all-recursive] Error 1 | make[3]: Leaving directory '/<<BUILDDIR>>/gridengine-8.1.9+dfsg/source/3rdparty/qmake/LINUXAMD64' | Makefile:489: recipe for target 'all' failed | make[2]: *** [all] Error 2 A full build log is available there: http://aws-logs.debian.net/2018/02/07/glibc-exp/gridengine_8.1.9+dfsg-7_unstable_glibc-exp.log The problem is that the glibc 2.27 slightly changed its internal glob implementation. gridengine uses an internal copy of make, which detects that it doesn't support the new interface and switch to its internal implementation which is slightly broken. The same kind of patch as for make-dfsg should probably be applied: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=891365