* ALSA 1.1.8 Release - POLLRDNORM undefined
@ 2019-01-08 17:00 Jay Foster
2019-01-09 11:10 ` Takashi Iwai
0 siblings, 1 reply; 11+ messages in thread
From: Jay Foster @ 2019-01-08 17:00 UTC (permalink / raw)
To: ALSA development
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?
Jay
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ALSA 1.1.8 Release - POLLRDNORM undefined
2019-01-08 17:00 ALSA 1.1.8 Release - POLLRDNORM undefined Jay Foster
@ 2019-01-09 11:10 ` Takashi Iwai
2019-01-09 16:22 ` Jay Foster
0 siblings, 1 reply; 11+ messages in thread
From: Takashi Iwai @ 2019-01-09 11:10 UTC (permalink / raw)
To: jay; +Cc: ALSA development
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
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ALSA 1.1.8 Release - POLLRDNORM undefined
2019-01-09 11:10 ` Takashi Iwai
@ 2019-01-09 16:22 ` Jay Foster
2019-01-09 20:33 ` Takashi Iwai
2019-01-09 20:33 ` Jay Foster
0 siblings, 2 replies; 11+ messages in thread
From: Jay Foster @ 2019-01-09 16:22 UTC (permalink / raw)
To: Takashi Iwai; +Cc: ALSA development
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
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ALSA 1.1.8 Release - POLLRDNORM undefined
2019-01-09 16:22 ` Jay Foster
@ 2019-01-09 20:33 ` Takashi Iwai
2019-01-09 20:35 ` Takashi Iwai
2019-01-09 20:33 ` Jay Foster
1 sibling, 1 reply; 11+ messages in thread
From: Takashi Iwai @ 2019-01-09 20:33 UTC (permalink / raw)
To: jay; +Cc: ALSA development
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?
thanks,
Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ALSA 1.1.8 Release - POLLRDNORM undefined
2019-01-09 16:22 ` Jay Foster
2019-01-09 20:33 ` Takashi Iwai
@ 2019-01-09 20:33 ` Jay Foster
1 sibling, 0 replies; 11+ messages in thread
From: Jay Foster @ 2019-01-09 20:33 UTC (permalink / raw)
To: Takashi Iwai; +Cc: ALSA development
On 1/9/2019 8:22 AM, 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>.
>
> Jay
>
>
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
I managed to fix the build without needing to patch by adding,
'CFLAGS="${CFLAGS} -D_GNU_SOURCE"', to the make command line.
_GNU_SOURCE defines _XOPEN_SOURCE which defines __USE_XOPEN (in
<features.h>) so that POLLRDNORM and friends get defined in <bits/poll.h>.
Jay
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ALSA 1.1.8 Release - POLLRDNORM undefined
2019-01-09 20:33 ` Takashi Iwai
@ 2019-01-09 20:35 ` Takashi Iwai
2019-01-09 20:39 ` Jay Foster
0 siblings, 1 reply; 11+ messages in thread
From: Takashi Iwai @ 2019-01-09 20:35 UTC (permalink / raw)
To: jay; +Cc: ALSA development
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@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ALSA 1.1.8 Release - POLLRDNORM undefined
2019-01-09 20:35 ` Takashi Iwai
@ 2019-01-09 20:39 ` Jay Foster
2019-01-10 4:24 ` Takashi Sakamoto
0 siblings, 1 reply; 11+ messages in thread
From: Jay Foster @ 2019-01-09 20:39 UTC (permalink / raw)
To: Takashi Iwai; +Cc: ALSA development
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@alsa-project.org
> 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@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ALSA 1.1.8 Release - POLLRDNORM undefined
2019-01-09 20:39 ` Jay Foster
@ 2019-01-10 4:24 ` Takashi Sakamoto
2019-01-10 8:31 ` Jaroslav Kysela
0 siblings, 1 reply; 11+ messages in thread
From: Takashi Sakamoto @ 2019-01-10 4:24 UTC (permalink / raw)
To: Jay Foster; +Cc: tiwai, alsa-devel
Hi,
I'm an author of axfer.
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.
> On Wed, 09 Jan 2019 17:22:36 +0100, Jay Foster wrote:
> > On 1/9/2019 3:10 AM, Takashi Iwai wrote:
> > > 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.
> >
> > This is a legacy ARM product using glibc 2.9.
I'm sorry for the FTBFS but it's out of my notice to build with too-old glibc.
Here, a history of glibc for related events:
* glibc-2.9: 2008/11/13
* your version
* glibc-2.10: 2009/5/9
* support XPG7/POSIX-2008
* add '__USE_XOPEN2k8' for the avove
* glibc-2.19: 2014/2/7
* add '_DEFAULT_SOURCE' macro
* XPG7/POSIX-2008 is a default behaviour
* glibc-2.20: 2014/9/7
* obsolete '_BSD_SOURCE' and '_SYSV_SOURCE' macros
* glibc-2.28: 2018/8/1
* used my environment (Ubuntu 18.10)
The macros, POLLRDNORM and the others, seems to be defined officially in
POSIX-2008 and nowadays glibc supports POSIX-2008 as a default. This is
the reason that I've never faced your issue in my development period.
I guess it's the reason that nothing noted in man of poll(2) and
select(2).
I need a bit time to judge whether it's woth to support such old-glibc.
Just removal of the newly-introduced macros is a simple solution.
Thanks for your report
Takashi Sakamoto
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ALSA 1.1.8 Release - POLLRDNORM undefined
2019-01-10 4:24 ` Takashi Sakamoto
@ 2019-01-10 8:31 ` Jaroslav Kysela
2019-01-10 16:44 ` Jay Foster
0 siblings, 1 reply; 11+ messages in thread
From: Jaroslav Kysela @ 2019-01-10 8:31 UTC (permalink / raw)
To: Takashi Sakamoto; +Cc: tiwai, alsa-devel, Jay Foster
Dne 10.1.2019 v 05:24 Takashi Sakamoto napsal(a):
> Hi,
>
> I'm an author of axfer.
>
> 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.
>
>> On Wed, 09 Jan 2019 17:22:36 +0100, Jay Foster wrote:
>>> On 1/9/2019 3:10 AM, Takashi Iwai wrote:
>>>> 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.
>>>
>>> This is a legacy ARM product using glibc 2.9.
>
> I'm sorry for the FTBFS but it's out of my notice to build with too-old glibc.
>
> Here, a history of glibc for related events:
> * glibc-2.9: 2008/11/13
> * your version
> * glibc-2.10: 2009/5/9
> * support XPG7/POSIX-2008
> * add '__USE_XOPEN2k8' for the avove
> * glibc-2.19: 2014/2/7
> * add '_DEFAULT_SOURCE' macro
> * XPG7/POSIX-2008 is a default behaviour
> * glibc-2.20: 2014/9/7
> * obsolete '_BSD_SOURCE' and '_SYSV_SOURCE' macros
> * glibc-2.28: 2018/8/1
> * used my environment (Ubuntu 18.10)
>
> The macros, POLLRDNORM and the others, seems to be defined officially in
> POSIX-2008 and nowadays glibc supports POSIX-2008 as a default. This is
> the reason that I've never faced your issue in my development period.
> I guess it's the reason that nothing noted in man of poll(2) and
> select(2).
>
> I need a bit time to judge whether it's woth to support such old-glibc.
> Just removal of the newly-introduced macros is a simple solution.
We may add those definitions to CFLAGS (-D) through configure for the
old libs. Or just used #ifdef in the waiter-select.c - it's only one
place which uses this at this moment, but it's only quick workaround.
Jaroslav
--
Jaroslav Kysela <perex@perex.cz>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ALSA 1.1.8 Release - POLLRDNORM undefined
2019-01-10 8:31 ` Jaroslav Kysela
@ 2019-01-10 16:44 ` Jay Foster
2019-01-11 0:39 ` Takashi Sakamoto
0 siblings, 1 reply; 11+ messages in thread
From: Jay Foster @ 2019-01-10 16:44 UTC (permalink / raw)
To: Jaroslav Kysela, Takashi Sakamoto; +Cc: tiwai, alsa-devel
On 1/10/2019 12:31 AM, Jaroslav Kysela wrote:
> Dne 10.1.2019 v 05:24 Takashi Sakamoto napsal(a):
>> Hi,
>>
>> I'm an author of axfer.
>>
>> 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.
>>> On Wed, 09 Jan 2019 17:22:36 +0100, Jay Foster wrote:
>>>> On 1/9/2019 3:10 AM, Takashi Iwai wrote:
>>>>> 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.
>>>> This is a legacy ARM product using glibc 2.9.
>> I'm sorry for the FTBFS but it's out of my notice to build with too-old glibc.
>>
>> Here, a history of glibc for related events:
>> * glibc-2.9: 2008/11/13
>> * your version
>> * glibc-2.10: 2009/5/9
>> * support XPG7/POSIX-2008
>> * add '__USE_XOPEN2k8' for the avove
>> * glibc-2.19: 2014/2/7
>> * add '_DEFAULT_SOURCE' macro
>> * XPG7/POSIX-2008 is a default behaviour
>> * glibc-2.20: 2014/9/7
>> * obsolete '_BSD_SOURCE' and '_SYSV_SOURCE' macros
>> * glibc-2.28: 2018/8/1
>> * used my environment (Ubuntu 18.10)
>>
>> The macros, POLLRDNORM and the others, seems to be defined officially in
>> POSIX-2008 and nowadays glibc supports POSIX-2008 as a default. This is
>> the reason that I've never faced your issue in my development period.
>> I guess it's the reason that nothing noted in man of poll(2) and
>> select(2).
>>
>> I need a bit time to judge whether it's woth to support such old-glibc.
>> Just removal of the newly-introduced macros is a simple solution.
> We may add those definitions to CFLAGS (-D) through configure for the
> old libs. Or just used #ifdef in the waiter-select.c - it's only one
> place which uses this at this moment, but it's only quick workaround.
>
> Jaroslav
>
I can resolve the issue by adding -D_GNU_SOURCE to my CFLAGS when
building alsa-utils. It would also be acceptable (to me) if you did
nothing about this.
If you wish to check the version of glibc for support of POLLRDNORM
through configure and add -D_GNU_SOURCE for older versions, that may
work too. I can report that-D_GNU_SOURCE is not needed with glibc
2.22. I am not sure precisely which version the POLLRDNORM (and
friends) were enabled by default. I can imagine a configure test that
compiled a test app which tries to use POLLRDNORM, and if it compiles
successfully, then nothing else is needed. If not, try again with
-D_GNU_SOURCE, and if that works, add -D_GNU_SOURCE to the CFLAGS. Such
a test might also be conditional on selecting waiter-select (the only
place this is used).
Jay
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ALSA 1.1.8 Release - POLLRDNORM undefined
2019-01-10 16:44 ` Jay Foster
@ 2019-01-11 0:39 ` Takashi Sakamoto
0 siblings, 0 replies; 11+ messages in thread
From: Takashi Sakamoto @ 2019-01-11 0:39 UTC (permalink / raw)
To: Jay Foster; +Cc: tiwai, alsa-devel
On Thu, Jan 10, 2019 at 08:44:34AM -0800, Jay Foster wrote:
> On 1/10/2019 12:31 AM, Jaroslav Kysela wrote:
> > Dne 10.1.2019 v 05:24 Takashi Sakamoto napsal(a):
> > > Hi,
> > >
> > > I'm an author of axfer.
> > >
> > > 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.
> > > > On Wed, 09 Jan 2019 17:22:36 +0100, Jay Foster wrote:
> > > > > On 1/9/2019 3:10 AM, Takashi Iwai wrote:
> > > > > > 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.
> > > > > This is a legacy ARM product using glibc 2.9.
> > > I'm sorry for the FTBFS but it's out of my notice to build with too-old glibc.
> > >
> > > Here, a history of glibc for related events:
> > > * glibc-2.9: 2008/11/13
> > > * your version
> > > * glibc-2.10: 2009/5/9
> > > * support XPG7/POSIX-2008
> > > * add '__USE_XOPEN2k8' for the avove
> > > * glibc-2.19: 2014/2/7
> > > * add '_DEFAULT_SOURCE' macro
> > > * XPG7/POSIX-2008 is a default behaviour
> > > * glibc-2.20: 2014/9/7
> > > * obsolete '_BSD_SOURCE' and '_SYSV_SOURCE' macros
> > > * glibc-2.28: 2018/8/1
> > > * used my environment (Ubuntu 18.10)
> > >
> > > The macros, POLLRDNORM and the others, seems to be defined officially in
> > > POSIX-2008 and nowadays glibc supports POSIX-2008 as a default. This is
> > > the reason that I've never faced your issue in my development period.
> > > I guess it's the reason that nothing noted in man of poll(2) and
> > > select(2).
> > >
> > > I need a bit time to judge whether it's woth to support such old-glibc.
> > > Just removal of the newly-introduced macros is a simple solution.
> > We may add those definitions to CFLAGS (-D) through configure for the
> > old libs. Or just used #ifdef in the waiter-select.c - it's only one
> > place which uses this at this moment, but it's only quick workaround.
> >
> I can resolve the issue by adding -D_GNU_SOURCE to my CFLAGS when building
> alsa-utils. It would also be acceptable (to me) if you did nothing about
> this.
>
> If you wish to check the version of glibc for support of POLLRDNORM through
> configure and add -D_GNU_SOURCE for older versions, that may work too. I
> can report that-D_GNU_SOURCE is not needed with glibc 2.22. I am not sure
> precisely which version the POLLRDNORM (and friends) were enabled by
> default. I can imagine a configure test that compiled a test app which
> tries to use POLLRDNORM, and if it compiles successfully, then nothing else
> is needed. If not, try again with -D_GNU_SOURCE, and if that works, add
> -D_GNU_SOURCE to the CFLAGS. Such a test might also be conditional on
> selecting waiter-select (the only place this is used).
I filed this issue:
https://github.com/alsa-project/alsa-utils/issues/9
Regards
Takashi Sakamoto
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2019-01-11 0:39 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-08 17:00 ALSA 1.1.8 Release - POLLRDNORM undefined Jay Foster
2019-01-09 11:10 ` Takashi Iwai
2019-01-09 16:22 ` Jay Foster
2019-01-09 20:33 ` Takashi Iwai
2019-01-09 20:35 ` Takashi Iwai
2019-01-09 20:39 ` Jay Foster
2019-01-10 4:24 ` Takashi Sakamoto
2019-01-10 8:31 ` Jaroslav Kysela
2019-01-10 16:44 ` Jay Foster
2019-01-11 0:39 ` Takashi Sakamoto
2019-01-09 20:33 ` Jay Foster
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.