Gentoo Archives: gentoo-user

From: Raffaele Belardi <raffaele.belardi@××.com>
To: Gentoo <gentoo-user@l.g.o>
Subject: Re: [gentoo-user] "The sound of Silence" by glibc
Date: Wed, 06 Dec 2017 07:07:47
Message-Id: c7679a8e-e8fb-68c8-ac72-6cf84e261cb6@st.com
In Reply to: [gentoo-user] "The sound of Silence" by glibc by tuxic@posteo.de
1 tuxic@××××××.de wrote:
2 > Hi,
3 >
4 > emerge -e @world installs glibc
5 >
6 > On my system this kills the build of pulseaudio...which in turn make
7 > my linux PC one of the most quiet ones...sigh:
8 >
9 >>From the compilation output of pulseaudio:
10 > Wfloat-equal -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing -Wwrite-strings -Wno-unused-parameter -ffast-math -fno-common -fdiagnostics-show-option -fdiagnostics-color=auto -c -o pulsecore/libpulsecommon_11.0_la-socket-util.lo `test -f 'pulsecore/socket-util.c' || echo '/var/tmp/portage/media-sound/pulseaudio-11.0/work/pulseaudio-11.0/src/'`pulsecore/socket-util.c
11 > In file included from /var/tmp/portage/media-sound/pulseaudio-11.0/work/pulseaudio-11.0/src/pulsecore/shm.c:48:0:
12 > /var/tmp/portage/media-sound/pulseaudio-11.0/work/pulseaudio-11.0/src/pulsecore/memfd-wrappers.h:36:19: error: static declaration of ‘memfd_create’ follows non-static declaration
13 > static inline int memfd_create(const char *name, unsigned int flags) {
14 > ^~~~~~~~~~~~
15 > In file included from /usr/include/bits/mman-linux.h:115:0,
16 > from /usr/include/bits/mman.h:45,
17 > from /usr/include/sys/mman.h:41,
18 > from /var/tmp/portage/media-sound/pulseaudio-11.0/work/pulseaudio-11.0/src/pulsecore/shm.c:37:
19 > /usr/include/bits/mman-shared.h:46:5: note: previous declaration of ‘memfd_create’ was here
20 > int memfd_create (const char *__name, unsigned int __flags) __THROW;
21 > ^~~~~~~~~~~~
22 > make[3]: *** [Makefile:7991: pulsecore/libpulsecommon_11.0_la-shm.lo] Error 1
23 > make[3]: *** Waiting for unfinished jobs....
24 > libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/var/tmp/portage/media-sound/pulseaudio-11.0/work/pulseaudio-11.0/src -I.. -I/var/tmp/portage/media-sound/pulseaudio-11.0/work/pulseaudio-11.0/src -I/var/tmp/portage/media-sound/pulseaudio-11.0/work/pulseaudio-11.0/src/modules -I../src/modules -DPA_ALSA_PATHS
25 >
26 >
27 > -rw-r--r-- 1 root root 1872 2017-12-05 17:30 mman.h
28 > -rw-r--r-- 1 root root 4802 2017-12-05 17:30 mman-linux.h
29 > -rw-r--r-- 1 root root 2730 2017-12-05 17:30 mman-shared.h
30 >
31 > include/bits>qfile /usr/include/bits/mman.h
32 > sys-libs/glibc (/usr/include/bits/mman.h)
33 >
34 >
35 > How can I get out of this...
36
37 Looks like pulseaudio is redefining a glibc function and it is doing it in the wrong way
38 by adding the static keyword. To me it looks like a pulseaudio problem, not glibc. Not
39 much you could do except maybe try to comment out the invalid or outdated 'static'
40 declaration from the pulseaudio's memfd-wrappers.h, but that will probably bring out other
41 problems. Better open a bug upstream.
42
43 There's a pulseaudio-11.1 version in portage, have you tried that already?
44
45 raffaele