Subject: Re: OSS Technical Support Request by Gan Uesli Starling
To: Gan Uesli Starling <gan@starling.us>
From: Johnny C. Lam <jlam@netbsd.org>
List: netbsd-help
Date: 09/04/2002 13:32:31
On Tue, Sep 03, 2002 at 09:54:03AM -0700, Gan Uesli Starling wrote:
> 
> cd /usr/pkgsrc/audio/arts
> make clean
> make update 
> 
> ...but it too failed, with errors thus (with
> many lines deleted from start of command)... 
> 
> In file included from audioiooss.cc:33:
> /usr/include/soundcard.h:49: warning: `SOUND_VERSION' redefined
> /usr/include/sys/soundcard.h:49: warning: this is the location of the 
> previous definition
> (...many similar lines as above/below deleted for brevity...)
> /usr/include/soundcard.h:271: warning: `OSS_GETVERSION' redefined
> /usr/include/sys/soundcard.h:1208: warning: this is the location of the 
> previous definition
> In file included from audioiooss.cc:33:
> /usr/include/soundcard.h:256: redefinition of `struct mixer_info'
> /usr/include/sys/soundcard.h:1145: previous definition here
> /usr/include/soundcard.h:263: redefinition of `struct _old_mixer_info'
> /usr/include/sys/soundcard.h:1152: previous definition here
> /usr/include/soundcard.h:273: redefinition of `struct audio_buf_info'
> /usr/include/sys/soundcard.h:645: previous definition here
> /usr/include/soundcard.h:280: redefinition of `struct count_info'
> /usr/include/sys/soundcard.h:718: previous definition here
> /usr/include/soundcard.h:286: redefinition of `struct buffmem_desc'
> /usr/include/sys/soundcard.h:728: previous definition here

From what I gather from your emails about OSS, they require you to install
their soundcard.h file as /usr/include/sys/soundcard.h and as
/usr/include/machine/soundcard.h, and then you must recompile your apps.
I think you also need to move /usr/include/soundcard.h out of the way,
i.e., rename it to soundcard.h.old, as /usr/include/soundcard.h has
OSS-compatibility definitions for using the NetBSD-supplied libossaudio
that emulates OSS.  Judging from the errors above, the definitions in the
NetBSD soundcard.h and the OSS soundcard.h are breaking each other.

I'm not able to test audacity on my machine, but from perusing the patches
in the pkgsrc/audio/audacity/patches directory, I think you can try just
removing patch-ab, patch-am, and patch-ao.

In the future, we will want to rethink how pkgsrc handles audio to allow
true OSS on NetBSD to work, but as I don't think any of the NetBSD pkgsrc
developers have a copy of OSS, this would be pretty low on the TODO list.

	Cheers,

	-- Johnny Lam <jlam@netbsd.org>