After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 323718 - [oss] does not build on OpenBSD 3.8 because of hardcoded <sys/soundcard.h>
[oss] does not build on OpenBSD 3.8 because of hardcoded <sys/soundcard.h>
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.0
Other OpenBSD
: Normal normal
: 0.10.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2005-12-10 12:35 UTC by Benjamin Pineau
Modified: 2005-12-10 14:59 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
proposed fix (6.68 KB, patch)
2005-12-10 13:20 UTC, Tim-Philipp Müller
committed Details | Review

Description Benjamin Pineau 2005-12-10 12:35:29 UTC
Distribution/Version: 3.8

Several files on gst-plugins-good-0.10.0 relies on OSS headers being
<sys/soundcard.h>. This assumption is false on OpenBSD, where we
should rather #include <soundcard.h> (not "sys/soundcard.h"):

sys/oss/gstosshelper.c:#include <sys/soundcard.h>
sys/oss/gstossmixer.c:#include <sys/soundcard.h>
sys/oss/gstossmixertrack.c:#include <sys/soundcard.h>
sys/oss/gstosssink.c:#include <sys/soundcard.h>
sys/oss/gstosssrc.c:#include <sys/soundcard.h>

Indeed, those files won't compile as is on OpenBSD.

By the way, configure.ac has already "HAVE_OSS_INCLUDE_IN_ROOT" 
"HAVE_OSS_INCLUDE_IN_SYS" macros that works well here, and generate an
apropriate config.h we could rely on to include this header from the right 
path. On OpenBSD, it gives such a config.h:

/* Define if OSS includes are in / */
#define HAVE_OSS_INCLUDE_IN_ROOT

/* Define if OSS includes are in /sys/ */
/* #undef HAVE_OSS_INCLUDE_IN_SYS */

... and the opposite on my Debian GNU/Linux system.

This being on OpenBSD 3.8, released on November 2005, so don't be
fooled by configure.ac comment "dnl Some old BSD versions" ;).
Comment 1 Tim-Philipp Müller 2005-12-10 13:20:21 UTC
Created attachment 55840 [details] [review]
proposed fix

Does this fix things for you?
Comment 2 Benjamin Pineau 2005-12-10 14:24:45 UTC
Tim: the patches fix the problem, thanks !

Note: I've only tested on 0.10.0 release for now, so two patches 
are ignored because two files aren't present on this version
(sys/oss/gstossdmabuffer.c and sys/oss/oss_probe.c).
I will test on cvs HEAD soon (well, as soon as I figure how to
make autogen.sh work, for now I miss autopoint, apparently). 
Comment 3 Tim-Philipp Müller 2005-12-10 14:59:09 UTC
Oh, sorry, gstossdmabuffer.c and gstossprobe.c are not used in CVS either (I
just grepped and replaced)...

Anyway, fixed in CVS. Thanks for the report.