From: Jan Stary <hans@stare.cz>
To: "Måns Rullgård" <mans@mansr.com>
Cc: sox-devel@lists.sourceforge.net
Subject: Re: Build system cleanup
Date: Thu, 27 Aug 2020 14:40:14 +0200 [thread overview]
Message-ID: <20200827124014.GA20713@www.stare.cz> (raw)
In-Reply-To: <yw1xmu2gjofa.fsf@mansr.com>
> > checking for strdup... yes
> >
> > Not specific to NetBSD of course, but why are we running these
> > tests (taking strdup as a random example)? Is there a POSIX
> > system without strdup? And if we miss strdup, then what?
> > With that configure.ac line changed to check for xstrdup instead,
> > this will just become
> >
> > checking for xstrdup... no
> >
> > but everyting follows as before. Which means we have checked for
> > a function (via AC_CHECK_FUNCS), found out it does not exist,
> > and ignored the result. What is that for?
>
> I already explained this about five times.
The only explanation I have seen so far is
"it was warranted in the olden days". Perhaps it was;
but why are we checking for e.g. strdup() in 2020
(and ingoring the result of AC_CHECK_FUNCS anyway)?
> > checking for sys/soundcard.h... yes
> >
> > On NetBSD, sys/soundcard.h says
> >
> > This is an OSS (Linux) audio emulator.
> > Use the Native NetBSD API for developing new code,
> > and this only for compiling Linux programs.
> >
> > The check is
> >
> > SOX_FMT_HEADERS([oss], [sys/soundcard.h], [SOUND_MIXER_MUTE],
> > [], [devices])
> >
> > so at least we correctly recognize this as OSS emulation.
> > But the check does not work universaly: NetBSD has
> > /usr/include/sys/soundcard.h -> ../soundcard.h, but e.g.
> > OpenBSD only has /usr/include/soundcard.h (same code though).
> > Apparently, the name makes a difference:
> > a test for "sys/soundcard.h" will fail on OpenBSD.
> >
> > checking whether SOUND_MIXER_MUTE is declared... no
> >
> > Why SOUND_MIXER_MUTE, specificaly, out of all the others?
> > For example, SOUND_MIXER_INFO is declared, which would
> > make the oss emulation detected (not saying this is
> > the correct test).
> >
> > Lastly, oss requires a library to be linked:
> > https://netbsd.gw.com/cgi-bin/man-cgi?ossaudio
> > That would be /usr/lib/libossaudio.so - I believe a recent
> > commit has concluded that oss does not require any library
> > (being a bunch of defined ioctls); on NetBSD, it maybe does.
> >
> > $ nm /usr/lib/libossaudio.so | grep oss
> > 0000000000001f60 T _oss_ioctl
>
> Real OSS does _not_ need a library. That is _only_ used for the
> incomplete emulation that we don't want. The test is chosen such that
> it passes on Linux, FreeBSD, and Solaris while failing on NetBSD and
> OpenBSD.
In case it is intended to detect OSS as not present
on OpenBSD and NetBSD (who only emulate OSS),
it seems to work as intended.
> > checking for sys/audioio.h... yes
> >
> > This seems to be NetBSD's native audio interface.
> > https://netbsd.gw.com/cgi-bin/man-cgi?audio
> > It's what the NetBSD port of SoX uses:
> > http://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/audio/sox/
> >
> > checking whether AUDIO_HWFEATURE_DUPLEX is declared... no
> >
> > ... but we miss that, because of this.
> > It seems NetBSD's audio system came from Sun audio
> > (/usr/pkg/bin/sox reports AUDIO DEVICE DRIVERS: sunau),
> > but it's not quite the same; in particular,
> > AUDIO_HWFEATURE_DUPLEX is not defined.
>
> Already fixed.
The detectin works, thanks:
Audio devices:
alsa no
ao no
coreaudio no
oss no
pulseaudio no
sndio no
sunaudio yes
waveaudio no
It doesn't actually play though:
$ play -V -n -b 16 synth 1
play INFO sunaudio: Sun Audio driver only supports bytes and words
play: SoX v14.4.2
play INFO nulfile: sample rate not specified; using 48000
Input File : '' (null)
Channels : 1
Sample Rate : 48000
Precision : 32-bit
Output File : 'default' (sunau)
Channels : 1
Sample Rate : 48000
Precision : 16-bit
Sample Encoding: 16-bit Signed Integer PCM
Endian Type : little
Reverse Nibbles: no
Reverse Bits : no
play INFO sox: effects chain: input 48000Hz 1 channels
play INFO sox: effects chain: synth 48000Hz 1 channels
play INFO sox: effects chain: dither 48000Hz 1 channels
play INFO sox: effects chain: output 48000Hz 1 channels
In:0.00% 00:00:00.00 [00:00:00.00] Out:0 [ | ] Clip:0 Memory fault (core dumped)
$ gdb ~/bin/sox sox.core
GNU gdb (GDB) 7.12
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64--netbsd".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /home/hans/bin/sox...done.
[New process 1]
Core was generated by `sox'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 sunwrite (ft=0x713985f0c400, pInput=0x713986083000, cInput=7040)
at sunaudio.c:481
481 SOX_SAMPLE_TO_SIGNED_16BIT(pInput[i], cClips);
(gdb) bt
#0 sunwrite (ft=0x713985f0c400, pInput=0x713986083000, cInput=7040)
at sunaudio.c:481
#1 0x000071398601a3bd in sox_write (ft=0x713985f0c400, buf=<optimized out>,
len=<optimized out>) at formats.c:1037
#2 0x0000000000404be0 in output_flow (effp=<optimized out>,
ibuf=<optimized out>, obuf=<optimized out>, isamp=0x7f7ffff6b6b0,
osamp=<optimized out>) at sox.c:644
#3 0x0000713986029f7d in flow_effect (n=3, chain=0x713985f1c0c0)
at effects.c:257
#4 sox_flow_effects (chain=<optimized out>,
callback=callback@entry=0x40443e <update_status>,
client_data=client_data@entry=0x0) at effects.c:449
#5 0x0000000000408a33 in process () at sox.c:1780
#6 main (argc=<optimized out>, argv=<optimized out>) at sox.c:2988
_______________________________________________
SoX-devel mailing list
SoX-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sox-devel
next prev parent reply other threads:[~2020-08-27 12:40 UTC|newest]
Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-27 9:21 Build system cleanup Jan Stary
2020-08-27 10:54 ` Jan Stary
2020-08-27 11:52 ` Måns Rullgård
2020-08-27 12:40 ` Jan Stary [this message]
2020-08-27 12:44 ` Jan Stary
2020-08-27 12:45 ` Måns Rullgård
2020-08-27 17:45 ` Jan Stary
2020-08-27 18:59 ` Måns Rullgård
2020-08-27 19:51 ` Jan Stary
2020-08-27 20:01 ` Jan Stary
2020-08-28 9:21 ` Måns Rullgård
2020-08-28 9:35 ` Jan Stary
2020-08-28 9:43 ` Måns Rullgård
-- strict thread matches above, loose matches on Subject: below --
2020-08-21 8:52 Jan Stary
2020-08-21 10:36 ` Måns Rullgård
2020-08-21 12:22 ` Jan Stary
2020-08-21 12:27 ` Måns Rullgård
2020-08-19 20:40 Måns Rullgård
2020-08-20 20:40 ` Wolfgang Stoeggl via SoX-devel
2020-08-20 21:22 ` Måns Rullgård
2020-08-20 22:15 ` Wolfgang Stoeggl via SoX-devel
2020-08-21 8:24 ` Jan Stary
2020-08-21 8:16 ` Jan Stary
2020-08-21 8:31 ` Jan Stary
2020-08-21 10:28 ` Måns Rullgård
2020-08-21 12:24 ` Jan Stary
2020-08-21 12:46 ` Måns Rullgård
2020-08-21 8:49 ` Jan Stary
2020-08-21 10:33 ` Måns Rullgård
2020-08-21 12:49 ` Jan Stary
2020-08-21 12:50 ` Jan Stary
2020-08-21 13:32 ` Måns Rullgård
2020-08-21 14:09 ` Jan Stary
2020-08-21 11:15 ` Måns Rullgård
2020-08-21 14:04 ` Jan Stary
2020-08-21 14:47 ` Måns Rullgård
2020-08-21 19:26 ` Wolfgang Stoeggl
2020-08-21 20:20 ` Jan Stary
2020-08-21 15:16 ` Jan Stary
2020-08-21 15:21 ` Jan Stary
2020-08-21 17:08 ` Måns Rullgård
2020-08-21 17:43 ` Jan Stary
2020-08-21 17:52 ` Måns Rullgård
2020-08-21 17:57 ` Jan Stary
2020-08-21 20:17 ` Jan Stary
2020-08-21 20:45 ` Jan Stary
2020-08-21 21:43 ` Måns Rullgård
2020-08-22 8:17 ` Jan Stary
2020-08-22 10:10 ` Måns Rullgård
2020-08-22 15:35 ` Jan Stary
2020-08-22 15:44 ` Jan Stary
2020-08-22 20:54 ` Måns Rullgård
2020-08-23 14:07 ` Jan Stary
2020-08-23 17:13 ` Måns Rullgård
2020-08-23 19:46 ` Jan Stary
2020-08-24 11:04 ` Måns Rullgård
2020-08-24 11:19 ` Jan Stary
2020-08-27 9:38 ` Jan Stary
2020-08-27 10:53 ` Måns Rullgård
2020-08-23 21:55 ` Jan Stary
2020-08-24 6:56 ` Jan Stary
2020-08-27 9:40 ` Jan Stary
2020-08-27 11:08 ` Måns Rullgård
2020-08-27 11:37 ` Jan Stary
2020-08-27 11:53 ` Måns Rullgård
2020-08-27 13:05 ` Jan Stary
2020-08-27 13:31 ` Måns Rullgård
2020-08-27 14:10 ` Jan Stary
2020-08-27 14:38 ` Jan Stary
2020-08-27 15:11 ` Måns Rullgård
2020-08-27 17:41 ` Jan Stary
2020-08-27 18:50 ` Måns Rullgård
2020-08-27 19:18 ` Jan Stary
2020-08-28 4:54 ` Jan Stary
2020-08-28 9:13 ` Måns Rullgård
2020-08-24 12:19 ` Måns Rullgård
2020-08-24 14:43 ` Jan Stary
2020-08-24 14:59 ` Måns Rullgård
2020-08-27 9:44 ` Jan Stary
2020-08-27 11:08 ` Måns Rullgård
2020-08-24 17:22 ` Måns Rullgård
2020-08-22 15:43 ` Jan Stary
2020-08-22 15:48 ` Jan Stary
2020-08-24 12:18 ` Jan Stary
2020-08-24 12:27 ` Måns Rullgård
2020-08-24 13:16 ` Jan Stary
2020-08-24 14:15 ` Måns Rullgård
2020-08-27 9:52 ` Jan Stary
2020-08-27 11:10 ` Måns Rullgård
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-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://lists.sourceforge.net/lists/listinfo/sox-devel
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200827124014.GA20713@www.stare.cz \
--to=sox-devel@lists.sourceforge.net \
--cc=mans@mansr.com \
/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.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/sox.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).