Bug appears to be related to software build and linked against different
version of libz:

Analysis:

Output of ld when trying to build an application that uses libpng16:

/usr/lib/x86_64-linux-gnu/libpng16.so.16: undefined reference to 
`inflateReset2@ZLIB_1.2.3.4'
/usr/lib/x86_64-linux-gnu/libpng16.so.16: undefined reference to 
`inflateValidate@ZLIB_1.2.9'

Output of ldd (same output as above):

> ldd /usr/lib/x86_64-linux-gnu/libpng16.so.16
        linux-vdso.so.1 (0x00007ffeda752000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f0dd35dd000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f0dd323f000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0dd2e4e000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f0dd3a2c000)

checking for missing symbols:

> readelf  --syms /usr/lib/x86_64-linux-gnu/libpng16.so.16 | grep inflateReset2
     9: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND 
inflateReset2@ZLIB_1.2.3.4 (4)

Ok, symbol appears to be there. Why does ld pop up the error?

--> linker command line references an older z-lib earlier on in the
library dependencies -> hence, zlib from system is not used (though
required by libpng16).

Solution: remove linker dependency to custom libz (remove "-lz") and try
linking against system libz.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1780233

Title:
  libpng16-16 needs ZLIB_1.2.9 but package does not install it

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libpng1.6/+bug/1780233/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to