Index: alsa-oss-1.0.28/alsa/stdioemu.c =================================================================== --- alsa-oss-1.0.28.orig/alsa/stdioemu.c +++ alsa-oss-1.0.28/alsa/stdioemu.c @@ -37,7 +37,9 @@ #endif #include +#ifdef HAVE_LIBIO_H #include +#endif struct fd_cookie { int fd; @@ -99,7 +101,11 @@ static FILE *fake_fopen(const char *path if (open_mode && fdc->fd > 0) { result = fopencookie (fdc,"w", fns); +#ifdef HAVE_FILENO result->_fileno = fdc->fd; /* ugly patchy slimy kludgy hack */ +#else + result->__filedes = fdc->fd; +#endif } return result; } Index: alsa-oss-1.0.28/configure.ac =================================================================== --- alsa-oss-1.0.28.orig/configure.ac +++ alsa-oss-1.0.28/configure.ac @@ -35,6 +35,12 @@ if test "$with_aoss" = "yes"; then LIBS="$OLD_LIBS" fi +AC_CHECK_HEADERS_ONCE([libio.h]) + +AC_CHECK_MEMBER([struct _IO_FILE._fileno], + [AC_DEFINE([HAVE_FILENO], [1],[Define if _fileno exists.])], + [],[]) + AC_OUTPUT(Makefile alsa/Makefile alsa/aoss alsa/aoss.old \ oss-redir/Makefile test/Makefile \ alsa/testaoss test/testaoss)