compilation fails due to: In file included from sl.h:29, from slDSP.cxx:25: slPortability.h:63:35: In file included from sl.h:29error: , from slSample.cxx:25machine/soundcard.h: No such file or directory: slPortability.h:63:35: error: machine/soundcard.h: No such file or directory In file included from slDSP.cxx:25: sl.h:80: error: 'audio_buf_info' does not name a type sl.h: In member function 'int slDSP::ioctl(int, int)': sl.h:128: error: '::ioctl' has not been declared slDSP.cxx: In member function 'void slDSP::open(const char*, int, int, int)': slDSP.cxx:57: error: 'SNDCTL_DSP_SETFRAGMENT' was not declared in this scope In file included from slSample.cxx:25: sl.h:80: error: 'audio_buf_info' does not name a typeslDSP.cxx:59: error: 'SOUND_PCM_WRITE_CHANNELS' was not declared in this scope sl.h: In member function 'int slDSP::ioctl(int, int)': sl.h:128: error: '::ioctl' has not been declaredslDSP.cxx:60: error: 'SOUND_PCM_WRITE_BITS' was not declared in this scope slDSP.cxx:61: error: 'SOUND_PCM_WRITE_RATE' was not declared in this scope slDSP.cxx:66: error: 'buff_info' was not declared in this scope slDSP.cxx: In member function 'int slDSP::getDriverBufferSize()': slDSP.cxx:84: error: 'buff_info' was not declared in this scopeslSample.cxx: In member function 'int slSample::loadWavFile(const char*)': slSample.cxx:332: warning: dereferencing type-punned pointer will break strict-aliasing rules slDSP.cxx: In member function 'void slDSP::getBufferInfo()': slDSP.cxx:92: error: '::ioctl' has not been declaredslSample.cxx:333: warning: dereferencing type-punned pointer will break strict-aliasing rules slDSP.cxx:92: error: 'SNDCTL_DSP_GETOSPACE' was not declared in this scopeslSample.cxx:346: warning: dereferencing type-punned pointer will break strict-aliasing rules slDSP.cxx:92: error: 'buff_info' was not declared in this scope slDSP.cxx: In member function 'float slDSP::secondsRemaining()': slDSP.cxx:123: error: 'buff_info' was not declared in this scope slDSP.cxx: In member function 'float slDSP::secondsUsed()': slDSP.cxx:138: error: 'buff_info' was not declared in this scopegmake[2]: *** [slSample.o] Error 1slDSP.cxx: In member function 'void slDSP::sync()': slDSP.cxx:148: error: '::ioctl' has not been declared gmake[2]: slDSP.cxx:148: error: 'SOUND_PCM_SYNC' was not declared in this scope*** Waiting for unfinished jobs.... slDSP.cxx: In member function 'void slDSP::stop()': slDSP.cxx:153: error: '::ioctl' has not been declared slDSP.cxx:153: error: 'SOUND_PCM_RESET' was not declared in this scope gmake[2]: *** [slDSP.o] Error 1 gmake[2]: Leaving directory `/var/tmp/portage/media-libs/plib-1.8.4-r1/work/plib-1.8.4/src/sl' gmake[1]: *** [all-recursive] Error 1 gmake[1]: Leaving directory `/var/tmp/portage/media-libs/plib-1.8.4-r1/work/plib-1.8.4/src' gmake: *** [all-recursive] Error 1 this error happen because the plib headers require a machine/soundcard.h, instead on *BSD the soundcard.h file is locate at: sys/soundcard.h attached there are the fix and the ebuild patch Reproducible: Always
Created attachment 144362 [details, diff] plib-1.8.4_slPortability.patch
looks like this is in 1.8.5 without patching.