[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: