Hi, my issue is plain and simple: libsane.hpaio.1.0.0 is no longer dlopen()able due to an unresolved symbol '_DBG', used in scan/sane/orblite.c:198. You can check this easily by running scanimage with envvar SANE_DEBUG_DLL=1:
===== ] jan@p53:~$ SANE_DEBUG_DLL=1 scanimage -d "hpaio:/net/envy_5000_series?ip=192.168.178.41&queue=false" -T ] [sanei_debug] Setting debug level of dll to 1. ] [dll] sane_init: SANE dll backend version 1.0.13 from sane-backends 1.0.27 ] [dll] add_backend: `hpaio' is already there ] [dll] load: dlopen() failed (/usr/lib/x86_64-linux-gnu/sane/libsane-hpaio.so.1: undefined symbol: _DBG) ] scanimage: open of device hpaio:/net/envy_5000_series?ip=192.168.178.41&queue=false failed: Invalid argument ===== A few other files in scan/sane/ include a header that defines the _DBG() macro to call syslog(), but orblite.c doesn't. What puzzles me is that the call is flagged as undefined in both build logs (3.20.3+dfsg0-2 and 3.20.5+dfsg0-2) - however, in the old version the call in the final shared library *has* been replaced by a call to __syslog_chk(). (Don't want to figure out how that's happening.) Anyway, resolving that _DBG() invocation in orblite.c should trivially fix this bug. Thanks for considering Jan