Hello, 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] 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 All of the libzstd looks like it is properly dynamically linked in the .rela.plt section: $> readelf -a crash |grep -i zstd 0x0000000000000001 (NEEDED) Shared library: [libzstd.so.1] 000000b127b8 00fb00000007 R_X86_64_JUMP_SLO 0000000000000000 ZSTD_decompressDCtx + 0 000000b128e0 012200000007 R_X86_64_JUMP_SLO 0000000000000000 ZSTD_createDCtx + 0 000000b12a28 014d00000007 R_X86_64_JUMP_SLO 0000000000000000 ZSTD_isError + 0 000000b12bf0 018800000007 R_X86_64_JUMP_SLO 0000000000000000 ZSTD_getErrorName + 0 251: 0000000000000000 0 FUNC GLOBAL DEFAULT UND ZSTD_decompressDCtx 290: 0000000000000000 0 FUNC GLOBAL DEFAULT UND ZSTD_createDCtx 333: 0000000000000000 0 FUNC GLOBAL DEFAULT UND ZSTD_isError 392: 0000000000000000 0 FUNC GLOBAL DEFAULT UND ZSTD_getErrorName Granted I'm extremely rusty at this level of binary object detective work so I am most likely missing something so I wanted to touch base with you. If you are willing to take a look you can grab my current build on people[1]. Any advice would be appreciated! Troy [1] https://people.debian.org/~troyh/crash/
Attachment:
signature.asc
Description: PGP signature