public inbox for alsa-devel@alsa-project.org
 help / color / mirror / Atom feed
From: Takashi Sakamoto <o-takashi@sakamocchi.jp>
To: Jay Foster <jay@systech.com>
Cc: tiwai@suse.de, alsa-devel@alsa-project.org
Subject: Re: ALSA 1.1.8 Release - POLLRDNORM undefined
Date: Fri, 11 Jan 2019 09:39:42 +0900	[thread overview]
Message-ID: <20190111003942.GA19697@workstation> (raw)
In-Reply-To: <9d5e2de4-46d4-e0fc-9a2e-50925244811d@systech.com>

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

  reply	other threads:[~2019-01-11  0:39 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
2019-01-09 20:33     ` Jay Foster

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190111003942.GA19697@workstation \
    --to=o-takashi@sakamocchi.jp \
    --cc=alsa-devel@alsa-project.org \
    --cc=jay@systech.com \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox