Hi Steve-- Thanks for the heads-up on this!
On Mon 2017-08-14 21:05:14 -0700, Steve Langasek wrote: > The hddemux package was failing to build in Ubuntu, because of a pair of > incompatibilities with Ubuntu's compiler defaults: > > - The .c file was listed on the gcc command line after the libraries it > depends on, resulting in a linker error because Ubuntu uses > -Wl,--as-needed by default > (https://wiki.ubuntu.com/ToolChain/CompilerFlags#A-Wl.2C--as-needed) Thanks, this is an obviously-correct fix. i've made it upstream, and it'll be in the next upstream release of hddemux. > - The _GNU_SOURCE define caused gcc to use the GNU version of strerror_r(), > which (reasonably, AFAICS from the manpage) resulted in a warning that > the return value was discarded (-Wunused-result). Using _POSIX_C_SOURCE > instead works around this by using the XSI version of strerror_r(), whose > result can more reasonably be ignored. This one i'm a bit more skeptical about because these FOO_SOURCE flags have so many different side-effects :/ The error in question from the ubuntu build log is: hddemux.c: In function ‘dump_addrinfo’: hddemux.c:169:7: error: ignoring return value of ‘strerror_r’, declared with attribute warn_unused_result [-Werror=unused-result] strerror_r(e, paddr+6, sizeof(paddr)-(6+1)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ I'm likely to just rewrite this chunk of code to avoid strerror_r() altogether rather than shift the -D definition. Hopefully that'll resolve the problem for ubuntu as well. --dkg
signature.asc
Description: PGP signature