Re: ALSA 1.1.8 Release - POLLRDNORM undefined

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 1/9/2019 12:35 PM, Takashi Iwai wrote:
On Wed, 09 Jan 2019 21:33:11 +0100,
Takashi Iwai wrote:
On Wed, 09 Jan 2019 17:22:36 +0100,
Jay Foster wrote:


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>.
I wonder what is supposed on such a system.  poll() needs these POLL*
constant definitions, and they aren't available by simple poll.h?
That's weird.  What does "man poll.h" say in your version?
... or maybe it's only about a few of them that are missing?


Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
I think our emails crossed.  Yes, only a few are missing.  in <bits/poll.h> I see:
#ifdef __USE_XOPEN
/* These values are defined in XPG4.2.  */
# define POLLRDNORM    0x040        /* Normal data may be read.  */
# define POLLRDBAND    0x080        /* Priority data may be read. */
# define POLLWRNORM    0x100        /* Writing now will not block. */
# define POLLWRBAND    0x200        /* Priority data may be written.  */
#endif
It is only those that are not defined.  Adding -D_GNU_SOURCE gets them defined, though.  Interesting how the man page for poll.h does not mention this for glibc.
Jay

_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel




[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux