Package: trinity
Version: 1.8-2
Severity: important
User: [email protected]
Usertags: 2.27

trinity 1.8-2 fails to build with glibc 2.27 (2.27-0experimental0 from
experimental):

| cc -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-Wformat -Werror=format-security -Wall -Wextra -I. -Iinclude/ -include config.h 
-Wimplicit -D_GNU_SOURCE -D__linux__ -std=gnu11 -Wdeclaration-after-statement 
-Wformat=2 -Winit-self -Wnested-externs -Wpacked -Wshadow -Wswitch-enum -Wundef 
-Wwrite-strings -Wno-format-nonliteral -Wstrict-prototypes -Wmissing-prototypes 
-fsigned-char -Wlogical-op -Wstrict-aliasing=3 -Wno-maybe-uninitialized -o 
fds/inotify.o -c fds/inotify.c
| cc -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-Wformat -Werror=format-security -Wall -Wextra -I. -Iinclude/ -include config.h 
-Wimplicit -D_GNU_SOURCE -D__linux__ -std=gnu11 -Wdeclaration-after-statement 
-Wformat=2 -Winit-self -Wnested-externs -Wpacked -Wshadow -Wswitch-enum -Wundef 
-Wwrite-strings -Wno-format-nonliteral -Wstrict-prototypes -Wmissing-prototypes 
-fsigned-char -Wlogical-op -Wstrict-aliasing=3 -Wno-maybe-uninitialized -o 
fds/memfd.o -c fds/memfd.c
| fds/memfd.c:19:12: error: static declaration of 'memfd_create' follows 
non-static declaration
|  static int memfd_create(__unused__ const char *uname, __unused__ unsigned 
int flag)
|             ^~~~~~~~~~~~
| In file included from /usr/include/x86_64-linux-gnu/bits/mman-linux.h:115:0,
|                  from /usr/include/x86_64-linux-gnu/bits/mman.h:45,
|                  from /usr/include/x86_64-linux-gnu/sys/mman.h:41,
|                  from include/utils.h:4,
|                  from include/syscall.h:7,
|                  from include/child.h:7,
|                  from include/fd.h:3,
|                  from fds/memfd.c:9:
| /usr/include/x86_64-linux-gnu/bits/mman-shared.h:46:5: note: previous 
declaration of 'memfd_create' was here
|  int memfd_create (const char *__name, unsigned int __flags) __THROW;
|      ^~~~~~~~~~~~
| Makefile:130: recipe for target 'fds/memfd.o' failed
| make[2]: *** [fds/memfd.o] Error 1
| make[2]: Leaving directory '/<<PKGBUILDDIR>>'
| debian/rules:29: recipe for target 'override_dh_auto_build' failed
| make[1]: *** [override_dh_auto_build] Error 2
| make[1]: Leaving directory '/<<PKGBUILDDIR>>'
| debian/rules:32: recipe for target 'build-arch' failed
| make: *** [build-arch] Error 2
| dpkg-buildpackage: error: debian/rules build-arch subprocess returned exit 
status

A full build log is available there:
http://aws-logs.debian.net/2018/02/07/glibc-exp/trinity_1.8-2_unstable_glibc-exp.log

glibc 2.27 added support for memfd_create. Unfortunately trinity
also have such a function to wrap the corresponding syscall, and they
end up conflicting.

Reply via email to