Étienne Mollier wrote:
> I had a look at the autopkgtest failure affecting biobambam2,
> and since these segmentation faults were showing up only in my
> autopkgtest environment, and not when using the package directly
> on my system, it felt like a missing dependency.  So I trapped
> system calls issued by the `bamsormadup` command using `strace`
> within the run-unit-test script, and it turned out the program
> was searching for a libz.so library.
> 
> After appending the zlib1g-dev package to dependencies of the
> biobambam2 package,

It is in fact libmaus2 that is dlopening "libz.so", so it would be better to 
add to the dependencies of that package, which is a prerequisite of biobambam2.

However this is really a bug in libmaus2, as it is incorrect to use that file 
with that name at runtime [1]. So the better fix would be to patch libmaus2 to 
use the runtime filename ("libz.so.1") that is provided by Debian's zlib1g (and 
ensure that libmaus2 depends on zlib1g -- without ‑dev) in anticipation of 
upstream libmaus2 making a similar fix.

Thus (as Debian controls exactly the libz.so.1 filename, unlike for the 
upstream patch):

+++ b/src/libmaus2/lz/ZlibInterface.hpp
@@ -53,7 +53,7 @@ namespace libmaus2
                        static std::string getDefaultZLibName() {
                                return
                                        
"../lib/libz_cf.so\ti386:sse4_2,i386:pclmulqdq\n"
-                                       "libz.so\t\n";
+                                       "libz.so.1\t\n";
                        }

    John


[1] https://gitlab.com/german.tischler/libmaus2/-/issues/31

Reply via email to