[alsa-devel] ALSA 1.1.8 Release - POLLRDNORM undefined
Jay Foster
jay at systech.com
Wed Jan 9 17:22:36 CET 2019
On 1/9/2019 3:10 AM, Takashi Iwai wrote:
> On Tue, 08 Jan 2019 18:00:18 +0100,
> Jay Foster wrote:
>> I am attempting to build the 1.1.8 release of alsa-utils and getting
>> an error about POLLRDNORM (and others) undefined. This error comes
>> from axfer/waiter-select.c. axfer/waiter-select.c includes
>> "waiter.h", which includes "poll.h". This build is for a linux
>> target.
>>
>> poll.h includes sys/poll.h which includes bits/poll.h, which only
>> defines POLLRDNORM (and others) when __USE_XOPEN is defined (which it
>> is not).
>>
>> However, linux/poll.h includes asm/poll.h which includes
>> asm-generic/poll.h which does define POLLRDNORM (and others).
>>
>> Should I change my build to define__USE_XOPEN or should I patch
>> waiter.h to include linux/poll.h instead of just poll.h?
> Which libc are you using? The POSIX man page (man poll.h) mentions
> POLLRDNORM defined there, at least, on my system with glibc 2.27.
>
>
> thanks,
>
> Takashi
>
>
This is a legacy ARM product using glibc 2.9. Neither of the approaches
I mentioned above actually worked. <linux/poll.h> is the kernel
headers, which results in a duplicate definition of struct pollfds. The
other approach (I added 'CFLAGS=-D_XOPEN_SOURCE=500' to the make command
line, and other variations) failed elsewhere due to missing or
mismatched function prototypes (ref <features.h>).
I got this to work by patching axfer/waiter.h to add the missing
defintions, based on those found in <asm-generic/poll.h>.
Jay
More information about the Alsa-devel
mailing list