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

Reply via email to