So currently I have a very quite workstation with only the fan is creating noise. OSS4 is the only working sound system for me and currently it is not.
I use oss4 on debian (devuan) linux using the dmo package to build my own module package. The current version is 4.2-build2019-dmo1 and, as already mentioned, I try to compile it on kernel 5.2.1. The last kernel, 4.20.17 was working well as well as kernel 5.1.16 on gentoo.
The relevant part from compiling is the following:
Code: Select all
# Build the modules
/usr/bin/make -C /usr/src/linux-5.2.1 M=/usr/src/modules/oss4/core modules
make[3]: Verzeichnis »/usr/src/linux-5.2.1« wird betreten
CC [M] /usr/src/modules/oss4/core/oss_core.o
/usr/src/modules/oss4/core/oss_core.c: In function 'oss_cmn_err':
/usr/src/modules/oss4/core/oss_core.c:726:1: warning: the frame size of 1056 bytes is larger than 1024 bytes [-Wframe-larger-than=]
}
^
CC [M] /usr/src/modules/oss4/core/os_linux.o
In file included from ./include/linux/limits.h:6,
from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38,
from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161,
from /usr/include/limits.h:183,
from /usr/include/x86_64-linux-gnu/sys/param.h:26,
from /usr/src/modules/oss4/core/os.h:55,
from /usr/src/modules/oss4/core/oss_config.h:39,
from /usr/src/modules/oss4/core/os_linux.c:16:
./include/linux/types.h:15:26: error: conflicting types for 'fd_set'
typedef __kernel_fd_set fd_set;
^~~~~~
In file included from /usr/include/x86_64-linux-gnu/sys/types.h:196,
from /usr/src/modules/oss4/core/os.h:54,
from /usr/src/modules/oss4/core/oss_config.h:39,
from /usr/src/modules/oss4/core/os_linux.c:16:
/usr/include/x86_64-linux-gnu/sys/select.h:70:5: note: previous declaration of 'fd_set' was here
} fd_set;
^~~~~~
In file included from ./include/linux/limits.h:6,
from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38,
from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161,
from /usr/include/limits.h:183,
from /usr/include/x86_64-linux-gnu/sys/param.h:26,
from /usr/src/modules/oss4/core/os.h:55,
from /usr/src/modules/oss4/core/oss_config.h:39,
from /usr/src/modules/oss4/core/os_linux.c:16:
./include/linux/types.h:16:25: error: conflicting types for 'dev_t'
typedef __kernel_dev_t dev_t;
^~~~~
In file included from /usr/src/modules/oss4/core/os.h:54,
from /usr/src/modules/oss4/core/oss_config.h:39,
from /usr/src/modules/oss4/core/os_linux.c:16:
/usr/include/x86_64-linux-gnu/sys/types.h:59:17: note: previous declaration of 'dev_t' was here
typedef __dev_t dev_t;
^~~~~
In file included from ./include/linux/limits.h:6,
from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38,
from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161,
from /usr/include/limits.h:183,
from /usr/include/x86_64-linux-gnu/sys/param.h:26,
from /usr/src/modules/oss4/core/os.h:55,
from /usr/src/modules/oss4/core/oss_config.h:39,
from /usr/src/modules/oss4/core/os_linux.c:16:
./include/linux/types.h:20:15: error: conflicting types for 'nlink_t'
typedef u32 nlink_t;
^~~~~~~
In file included from /usr/src/modules/oss4/core/os.h:54,
from /usr/src/modules/oss4/core/oss_config.h:39,
from /usr/src/modules/oss4/core/os_linux.c:16:
/usr/include/x86_64-linux-gnu/sys/types.h:74:19: note: previous declaration of 'nlink_t' was here
typedef __nlink_t nlink_t;
^~~~~~~
In file included from ./include/linux/limits.h:6,
from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38,
from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161,
from /usr/include/limits.h:183,
from /usr/include/x86_64-linux-gnu/sys/param.h:26,
from /usr/src/modules/oss4/core/os.h:55,
from /usr/src/modules/oss4/core/oss_config.h:39,
from /usr/src/modules/oss4/core/os_linux.c:16:
./include/linux/types.h:26:26: error: conflicting types for 'timer_t'
typedef __kernel_timer_t timer_t;
^~~~~~~
In file included from /usr/include/x86_64-linux-gnu/sys/types.h:130,
from /usr/src/modules/oss4/core/os.h:54,
from /usr/src/modules/oss4/core/oss_config.h:39,
from /usr/src/modules/oss4/core/os_linux.c:16:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:7:19: note: previous declaration of 'timer_t' was here
typedef __timer_t timer_t;
^~~~~~~
In file included from ./include/linux/limits.h:6,
from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38,
from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161,
from /usr/include/limits.h:183,
from /usr/include/x86_64-linux-gnu/sys/param.h:26,
from /usr/src/modules/oss4/core/os.h:55,
from /usr/src/modules/oss4/core/oss_config.h:39,
from /usr/src/modules/oss4/core/os_linux.c:16:
./include/linux/types.h:46:26: error: conflicting types for 'loff_t'
typedef __kernel_loff_t loff_t;
^~~~~~
In file included from /usr/src/modules/oss4/core/os.h:54,
from /usr/src/modules/oss4/core/oss_config.h:39,
from /usr/src/modules/oss4/core/os_linux.c:16:
/usr/include/x86_64-linux-gnu/sys/types.h:42:18: note: previous declaration of 'loff_t' was here
typedef __loff_t loff_t;
^~~~~~
In file included from ./include/linux/limits.h:6,
from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38,
from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161,
from /usr/include/limits.h:183,
from /usr/include/x86_64-linux-gnu/sys/param.h:26,
from /usr/src/modules/oss4/core/os.h:55,
from /usr/src/modules/oss4/core/oss_config.h:39,
from /usr/src/modules/oss4/core/os_linux.c:16:
./include/linux/types.h:113:15: error: conflicting types for 'u_int64_t'
typedef u64 u_int64_t;
^~~~~~~~~
In file included from /usr/src/modules/oss4/core/os.h:54,
from /usr/src/modules/oss4/core/oss_config.h:39,
from /usr/src/modules/oss4/core/os_linux.c:16:
/usr/include/x86_64-linux-gnu/sys/types.h:180:1: note: previous declaration of 'u_int64_t' was here
__u_intN_t (64, __DI__);
^~~~~~~~~~
In file included from ./include/linux/limits.h:6,
from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38,
from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161,
from /usr/include/limits.h:183,
from /usr/include/x86_64-linux-gnu/sys/param.h:26,
from /usr/src/modules/oss4/core/os.h:55,
from /usr/src/modules/oss4/core/oss_config.h:39,
from /usr/src/modules/oss4/core/os_linux.c:16:
./include/linux/types.h:114:15: error: conflicting types for 'int64_t'
typedef s64 int64_t;
^~~~~~~
In file included from /usr/include/x86_64-linux-gnu/sys/types.h:155,
from /usr/src/modules/oss4/core/os.h:54,
from /usr/src/modules/oss4/core/oss_config.h:39,
from /usr/src/modules/oss4/core/os_linux.c:16:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:27:19: note: previous declaration of 'int64_t' was here
typedef __int64_t int64_t;
^~~~~~~
In file included from ./include/linux/limits.h:6,
from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38,
from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161,
from /usr/include/limits.h:183,
from /usr/include/x86_64-linux-gnu/sys/param.h:26,
from /usr/src/modules/oss4/core/os.h:55,
from /usr/src/modules/oss4/core/oss_config.h:39,
from /usr/src/modules/oss4/core/os_linux.c:16:
./include/linux/types.h:131:13: error: conflicting types for 'blkcnt_t'
typedef u64 blkcnt_t;
^~~~~~~~
In file included from /usr/src/modules/oss4/core/os.h:54,
from /usr/src/modules/oss4/core/oss_config.h:39,
from /usr/src/modules/oss4/core/os_linux.c:16:
/usr/include/x86_64-linux-gnu/sys/types.h:209:20: note: previous declaration of 'blkcnt_t' was here
typedef __blkcnt_t blkcnt_t; /* Type to count number of disk blocks. */
^~~~~~~~
In file included from /usr/include/stdint.h:37,
from /usr/lib/gcc/x86_64-linux-gnu/8/include/stdint.h:9,
from /usr/src/modules/oss4/core/oss_ddi.h:35,
from /usr/src/modules/oss4/core/os.h:58,
from /usr/src/modules/oss4/core/oss_config.h:39,
from /usr/src/modules/oss4/core/os_linux.c:16:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:27:20: error: conflicting types for 'uint64_t'
typedef __uint64_t uint64_t;
^~~~~~~~
In file included from ./include/linux/limits.h:6,
from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38,
from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161,
from /usr/include/limits.h:183,
from /usr/include/x86_64-linux-gnu/sys/param.h:26,
from /usr/src/modules/oss4/core/os.h:55,
from /usr/src/modules/oss4/core/oss_config.h:39,
from /usr/src/modules/oss4/core/os_linux.c:16:
./include/linux/types.h:112:15: note: previous declaration of 'uint64_t' was here
typedef u64 uint64_t;
^~~~~~~~
/usr/src/modules/oss4/core/os_linux.c: In function 'osdev_create_201903060654':
/usr/src/modules/oss4/core/os_linux.c:162:10: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
devpath = oss_pci_read_devpath (osdev->dip);
^
make[4]: *** [scripts/Makefile.build:279: /usr/src/modules/oss4/core/os_linux.o] Fehler 1
make[3]: *** [Makefile:1595: _module_/usr/src/modules/oss4/core] Fehler 2
make[3]: Verzeichnis »/usr/src/linux-5.2.1« wird verlassen
make[2]: *** [debian/rules:46: binary-modules] Fehler 2
make[2]: Verzeichnis »/usr/src/modules/oss4« wird verlassen
make[1]: *** [/usr/share/modass/include/common-rules.make:56: kdist_build] Fehler 2
make[1]: Verzeichnis »/usr/src/modules/oss4« wird verlassen
Module /usr/src/modules/oss4 failed.
Any idea how to fix that?