Hi there. so, this still seems to be an open problem. lets find some sort of workaround. or at the very least deduplicate the effort of getting a locally working jack-opus...
as it seems to be better to not pullute the shared libraries with custom variants (no way back etc.), i think (until upstream has a better solution), libopus-dev should just provide an additional static library including the custom stuff. i.e. build the library twice. here [1] is a working package (in the custom branch). with the contained library libopus-custom.a, you can then build an opus enabled jack e.g. from the opus branch in [2]. without further work, this will lead to wrong/ambiguous opus symbols in shared objects using the custom libopus. so its not ready for a release. $ readelf -s /usr/lib/x86_64-linux-gnu/libjackserver.so.0 |grep opus 391: 00000000000a0d00 5 FUNC GLOBAL DEFAULT 11 opus_custom_encoder_destr 491: 00000000000aa2f0 2068 FUNC GLOBAL DEFAULT 11 opus_custom_mode_create 521: 00000000000a8bc0 185 FUNC GLOBAL DEFAULT 11 opus_custom_decode 564: 00000000000a6450 100 FUNC GLOBAL DEFAULT 11 opus_custom_encoder_creat 577: 00000000000a6440 7 FUNC GLOBAL DEFAULT 11 opus_custom_encoder_init 801: 00000000000a5e90 1226 FUNC GLOBAL DEFAULT 11 opus_custom_encoder_ctl 820: 00000000000a8f60 151 FUNC GLOBAL DEFAULT 11 opus_custom_decoder_init 823: 00000000000a7510 5 FUNC GLOBAL DEFAULT 11 opus_custom_decoder_destr 840: 00000000000b2e90 8 FUNC GLOBAL DEFAULT 11 opus_get_version_string <= 876: 00000000000a9000 100 FUNC GLOBAL DEFAULT 11 opus_custom_decoder_creat 1111: 00000000000a5e80 8 FUNC GLOBAL DEFAULT 11 opus_custom_encode_float 1338: 00000000000a8bb0 8 FUNC GLOBAL DEFAULT 11 opus_custom_decode_float 1340: 00000000000b2e60 33 FUNC GLOBAL DEFAULT 11 opus_strerror <= 1418: 00000000000a5e10 108 FUNC GLOBAL DEFAULT 11 opus_custom_encode 1536: 00000000000aa270 114 FUNC GLOBAL DEFAULT 11 opus_custom_mode_destroy 1853: 00000000000a8c80 730 FUNC GLOBAL DEFAULT 11 opus_custom_decoder_ctl 2031: 00000000000a74d0 25 FUNC GLOBAL DEFAULT 11 opus_custom_decoder_get_s 2420: 00000000000a0cb0 37 FUNC GLOBAL DEFAULT 11 opus_custom_encoder_get_s rather than reinventing opus or even jack and the others, my suggestion is to rename the non-custom symbols in the custom library before packaging. the package then will probably be debian specific and will still contain duplicate object code/symbols for the sake of 1ms. but in my understanding shipping a static library is revertible enough to give it a try. thanks felix [1] git://tool.em.cs.uni-frankfurt.de/git/opus [2] git://tool.em.cs.uni-frankfurt.de/git/jackd2
signature.asc
Description: Digital signature