Hi, > While trying to cross build osspd for mips, I ran into a failure that I > could reproduce natively on minkus.d.o, but not on amd64. I suspect this > is related to glibc/2.28. A build ends with: > > | gcc -Wall -pthread -g -O2 -fdebug-prefix-map=/home/helmutg/osspd-1.3.2=. > -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time > -D_FORTIFY_SOURCE=2 -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse > -DSLAVE_DEFAULT_PATH=\"/usr/lib/osspd\" -o osspd osspd.c -lfuse -pthread -L. > -lossp -pthread -Wl,-z,relro > | osspd.c:41:2: warning: #warning mmap support disabled for now [-Wcpp] > | #warning mmap support disabled for now > | ^~~~~~~ > | In file included from /usr/include/mips-linux-gnu/sys/soundcard.h:1, > | from osspd.c:29: > | osspd.c: In function 'mixer_do_ioctl': > | osspd.c:769:15: error: 'IOC_IN' undeclared (first use in this function); > did you mean 'SIOC_IN'? > | if (!(cmd & (SIOC_IN | SIOC_OUT))) > | ^~~~~~~ > | osspd.c:769:15: note: each undeclared identifier is reported only once for > each function it appears in > | osspd.c:769:25: error: 'IOC_OUT' undeclared (first use in this function); > did you mean 'SIOC_OUT'? > | if (!(cmd & (SIOC_IN | SIOC_OUT))) > | ^~~~~~~~ > | osspd.c: In function 'notify_poller': > | osspd.c:1842:1: warning: no return statement in function returning non-void > [-Wreturn-type] > | } > | ^ > | osspd.c: In function 'ossp_daemonize': > | osspd.c:1923:3: warning: ignoring return value of 'chdir', declared with > attribute warn_unused_result [-Wunused-result] > | chdir("/"); > | ^~~~~~~~~~ > | At top level: > | osspd.c:1978:39: warning: 'adsp_ops' defined but not used > [-Wunused-const-variable=] > | static const struct cuse_lowlevel_ops adsp_ops = { > | ^~~~~~~~ > | make[2]: *** [Makefile:56: osspd] Error 1 > | make[2]: Leaving directory '/home/helmutg/osspd-1.3.2' > | dh_auto_build: make V=1 -j1 SLAVESDIR=/usr/lib/osspd > UDEVDIR=/lib/udev/rules.d returned exit code 2 > | make[1]: *** [debian/rules:10: override_dh_auto_build] Error 2 > | make[1]: Leaving directory '/home/helmutg/osspd-1.3.2' > | make: *** [debian/rules:7: build] Error 2 > | dpkg-buildpackage: error: debian/rules build subprocess returned exit > status 2
Thanks for the report! The error looks somewhat odd; the code says "SIOC_IN" and the error suggests to use SIOC_IN? Unfortunately, upstream is dead and I have no experience porting or cross-compiling C code. Any suggestions for how one could fix this? I found https://patchwork.ozlabs.org/patch/740563/ via some googling. It mentions MIPS, so it might be related? Kind regards, Ralf