Re: Question about a potential false positive error
Troy Heber <troyh@debian.org> writes:
> I believe that I am hitting a false positive error while working on
> packaging a new upstream version of the kernel debugger "crash" and
> could really use a second opinion for confirmation.
> Lintian seems to believe that zlib is being statically linked and I'm
> getting this error:
> $> lintian *.changes
> E: crash: embedded-library usr/bin/crash: zlib
> However, when I look at the resulting binary it sure looks like like
> libz is dynamically linked as a shared library:
> $> readelf -a crash |grep -i libz
> 0x0000000000000001 (NEEDED) Shared library: [libzstd.so.1]
zstd and zlib aren't the same thing. (The shared library for zlib that
Lintian is referring to is libz.so.1.) Are you sure that zlib (as opposed
to zstd) isn't somehow built into the program?
> The zlib* symbols are in the .dynsym symbol table:
> $> readelf -a crash |grep -i zlib
> 4986: 00000000007689e0 8 FUNC GLOBAL DEFAULT 15 zlibVersion
> 7816: 00000000007689f0 6 FUNC GLOBAL DEFAULT 15 zlibCompileFlags
It's been years since I looked at this, but doesn't having a number
(instead of UND) in that last-but-one column mean that the symbol is
indeed built into the binary and not loaded from a library?
--
Russ Allbery (rra@debian.org) <https://www.eyrie.org/~eagle/>
Reply to: