Subject: bug#64698: 29.0.92; on netbsd 9.3, gmake and "gmake bootstrap" fail to proceed

From: Valtteri Vuorikoski <[email-masked]>
Date: Thu, 20 Jul 2023 13:13:12 +0300

On Thu, Jul 20, 2023 at 07:47:40AM +0300, Eli Zaretskii wrote:
> > On 2023-07-19 05:31, Eli Zaretskii wrote:
> > > Paul, any ideas?  Do we just condition that by ESTRPIPE being defined?
> > 
> > The right way to do it would be to look at the NetBSD source code and 
> > see how their ALSA libraries deal with the situation. Whoever's 
> > reporting the problem would be in a better position to investigate this.
> 
> Thanks.
> 
> Valtteri, could you perhaps look into this?  Also, I'd be interested
> to know why you didn't bump into this problem in your builds.

I've been building with --without-sound, and didn't have the ALSA
library package installed either.

I don't have a machine where I could actually test whether sound comes
out, but the alsa-lib package in NetBSD pkgsrc includes an internal
type_compat.h header that does this:

#ifndef ESTRPIPE
#define ESTRPIPE EPIPE
#endif

Building emacs with sound enabled but alsa-lib _not_ installed seems
to work (= compiles and starts) by using the system OSS library. Since
Emacs's audio needs are modest, it may be better to use "bsd-ossaudio"
on NetBSD if --with-sound=yes. AFAICT "ALSA" on NetBSD is just a proxy
for the native audio system anyway.

The other option is to try and use ALSA if --with-sound=yes, but
#ifdef out the ESTRPIPE branch if ESTRPIPE is not defined.

Personally I'd go with the default-to-ossaudio option, since pulling in
alsa libraries introduces a pkgsrc dependency into the binary and doesn't
seem like it provides a lot of benefit. I'm not quite sure what's the
best way to convince configure.ac to act like this, but I can test
patches at least on a compiles/doesn't-compile level.

 -Valtteri