Issue628

classification
Title XEmacs detects OSS support in OpenSolaris but fails to build
Type defect Module core code 21.4
Severity inconvenience Platform unix
Keywords
explanation
process
These optional controls are only of interest to committers and tracker administrators.
Status new   Reason
Superseder  
Priority normal   Assigned To
Nosy List mike.kupfer  

Created on 2009-11-12.23:34:07 by mike.kupfer, last changed 2009-11-12.23:34:07 by mike.kupfer.

Messages
msg1974 [hidden] ([hidden]) Date: 2009-11-12.23:34:07
OpenSolaris picked up OSS support not too long ago.  I tried building
XEmacs on an OSS-capable OpenSolaris box, and the configuration code
picked up that there was OSS support.  But the build failed with

  linuxplay.c: In function `audio_init':
  linuxplay.c:183: error: `SOUND_PCM_READ_CHANNELS' undeclared (first
use in this function)
  linuxplay.c:183: error: (Each undeclared identifier is reported only once
  linuxplay.c:183: error: for each function it appears in.)
  linuxplay.c:231: error: `SOUND_PCM_READ_RATE' undeclared (first use in
this function)

I asked the kernel engineer who did the OSS integration about this.
After looking at linuxplay.c, he said it was not using the standard
OSS API.  Apparently Linux had its own API, or extensions to the OSSv3
API.

Quoting from an email he sent me:

    These definitions are not part of the portable OSS stack.

    It would be straight-forward to fix the code to use standard OSS
    API calls.  SNDCTL_DSP_SPEED can be used to get the rate, and
    SNDCTL_DSP_CHANNELS can be used to return the number of channels.
History
Date User Action Args
2009-11-12 23:34:07mike.kupfercreate