Debian Bug report logs - #1031669
lintian: [false positive] shared-library-lacks-prerequisites

version graph

Package: lintian; Maintainer for lintian is Debian Lintian Maintainers <[email protected]>; Source for lintian is src:lintian (PTS, buildd, popcon).

Reported by: Glenn Strauss <[email protected]>

Date: Mon, 20 Feb 2023 06:45:01 UTC

Severity: normal

Found in version lintian/2.116.3

Full log


🔗 View this message in rfc822 format

X-Loop: [email protected]
Subject: Bug#1031669: lintian: [false positive] shared-library-lacks-prerequisites
Reply-To: Glenn Strauss <[email protected]>, [email protected]
Resent-From: Glenn Strauss <[email protected]>
Resent-To: [email protected]
Resent-CC: [email protected], Debian Lintian Maintainers <[email protected]>
X-Loop: [email protected]
Resent-Date: Mon, 20 Feb 2023 06:45:01 +0000
Resent-Message-ID: <[email protected]>
Resent-Sender: [email protected]
X-Debian-PR-Message: report 1031669
X-Debian-PR-Package: lintian
X-Debian-PR-Keywords: 
X-Debian-PR-Source: lintian
Received: via spool by [email protected] id=B.16768753201644752
          (code B); Mon, 20 Feb 2023 06:45:01 +0000
Received: (at submit) by bugs.debian.org; 20 Feb 2023 06:42:00 +0000
X-Spam-Checker-Version: SpamAssassin 3.4.6-bugs.debian.org_2005_01_02
	(2021-04-09) on buxtehude.debian.org
X-Spam-Level: 
X-Spam-Status: No, score=-7.6 required=4.0 tests=BAYES_00,FOURLA,HAS_PACKAGE,
	HELO_MISC_IP,KHOP_HELO_FCRDNS,MURPHY_DRUGS_REL8,PDS_RDNS_DYNAMIC_FP,
	RCVD_IN_PBL,RDNS_DYNAMIC,SPF_FAIL,XMAILER_REPORTBUG autolearn=ham
	autolearn_force=no version=3.4.6-bugs.debian.org_2005_01_02
X-Spam-Bayes: score:0.0000 Tokens: new, 29; hammy, 150; neutral, 350; spammy,
	0. spammytokens: hammytokens:0.000-+--X-Debbugs-Cc,
	0.000-+--XDebbugsCc, 0.000-+--bookworm, 0.000-+--H*M:reportbug,
	0.000-+--H*MI:reportbug
Received: from c-73-215-204-86.hsd1.nj.comcast.net ([73.215.204.86]:37886 helo=[127.0.1.1])
	by buxtehude.debian.org with esmtp (Exim 4.94.2)
	(envelope-from <[email protected]>)
	id 1pTzs7-006trp-SM
	for [email protected]; Mon, 20 Feb 2023 06:42:00 +0000
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: Glenn Strauss <[email protected]>
To: Debian Bug Tracking System <[email protected]>
Message-ID: <167687531545.455.6770937202405393941.reportbug@debian-12>
X-Mailer: reportbug 11.6.0
Date: Mon, 20 Feb 2023 01:41:55 -0500
Delivered-To: [email protected]
Package: lintian
Version: 2.116.3
Severity: normal
X-Debbugs-Cc: [email protected]

Dear Maintainer,

Problem: lintian: [false positive] shared-library-lacks-prerequisites

lighttpd is a modular application which dynamically loads (dlopen)
optional modules (.so) depending on user lighttpd.conf configuration.

On platforms which require shared libraries to resolve all symbols
at link time, lighttpd compiles a shared library against which each
lighttpd module (.so) is linked.

On platforms which allow shared libraries to access (exported) global
symbols from the base executable, lighttpd does not create a separate
shared library for these shared symbols; the symbols are in the base exe

shared-library-lacks-prerequisites is falsely reported for one lighttpd
shared module (mod_sockproxy.so) which has no dependencies besides the
symbols in the base executable.  (shared-library-lacks-prerequisites
fails to catch the same is true for mod_access.so and mod_staticfile.so)

**What is the goal of shared-library-lacks-prerequisites lintian tag?**
https://lintian.debian.org/tags/shared-library-lacks-prerequisites

Why does this lintian tag exist?  What does it identify and why?
Should it be applied only to packages which are marked as libraries?
Maybe it should be applied only to packages which have a -devel package?
Should it *not be applied* to applications?
If this lintian tag intends to catch errors on certain platforms,
then these lintian tests should be run only on those platforms.

My personal opinion is that shared-library-lacks-prerequisites
should be removed. 

At a mimimum, shared-library-lacks-prerequisites and other lintian
tags should attempt to explain *why* they exist and what problem(s)
they are trying to identify, rather than only giving a terse technical
explanation of *what* they check.

https://lintian.debian.org/tags/shared-library-lacks-prerequisites
suggests linking with -lc.  This workaround is unnecessary make-work.
lintian could already use `file` to detect a dynamically linked,
shared object, if lintian does not already know this by the extension
(.so).  What does explicit -lc do besides tell lintian to stfu?
Why should an upstream project make such changes to their build system?

Please help me to understand why I should not simply ignore the
lintian warning for shared-library-lacks-prerequisites.
  
Thank you.  Glenn

-- System Information:
Debian Release: bookworm/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.10.0-10-amd64 (SMP w/1 CPU thread)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages lintian depends on:
ii  binutils                        2.40-2
ii  bzip2                           1.0.8-5+b1
ii  diffstat                        1.65-1
ii  dpkg                            1.21.19
ii  dpkg-dev                        1.21.19
ii  file                            1:5.44-3
ii  gettext                         0.21-11
ii  gpg                             2.2.40-1
ii  intltool-debian                 0.35.0+20060710.6
ii  iso-codes                       4.12.0-1
ii  libapt-pkg-perl                 0.1.40+b2
ii  libarchive-zip-perl             1.68-1
ii  libberkeleydb-perl              0.64-2+b1
ii  libcapture-tiny-perl            0.48-2
ii  libclass-xsaccessor-perl        1.19-4+b1
ii  libclone-perl                   0.46-1
ii  libconfig-tiny-perl             2.28-2
ii  libconst-fast-perl              0.014-2
ii  libcpanel-json-xs-perl          4.32-1+b1
ii  libdata-dpath-perl              0.58-2
ii  libdata-validate-___domain-perl    0.10-1.1
ii  libdata-validate-uri-perl       0.07-2
ii  libdevel-size-perl              0.83-2+b1
pn  libdigest-sha-perl              <none>
ii  libdpkg-perl                    1.21.19
ii  libemail-address-xs-perl        1.05-1+b1
ii  libfile-basedir-perl            0.09-2
ii  libfile-find-rule-perl          0.34-3
ii  libfont-ttf-perl                1.06-2
ii  libhtml-html5-entities-perl     0.004-3
ii  libhtml-tokeparser-simple-perl  3.16-4
ii  libio-interactive-perl          1.023-2
ii  libipc-run3-perl                0.048-3
ii  libjson-maybexs-perl            1.004004-1
ii  liblist-compare-perl            0.55-2
ii  liblist-someutils-perl          0.59-1
ii  liblist-utilsby-perl            0.12-2
ii  libmldbm-perl                   2.05-4
ii  libmoo-perl                     2.005005-1
ii  libmoox-aliases-perl            0.001006-2
ii  libnamespace-clean-perl         0.27-2
ii  libpath-tiny-perl               0.144-1
ii  libperlio-gzip-perl             0.20-1+b1
ii  libperlio-utf8-strict-perl      0.010-1
ii  libproc-processtable-perl       0.634-1+b2
ii  libregexp-wildcards-perl        1.05-3
ii  libsereal-decoder-perl          5.002+ds-1
ii  libsereal-encoder-perl          5.002+ds-1
ii  libsort-versions-perl           1.62-3
ii  libsyntax-keyword-try-perl      0.28-1
ii  libterm-readkey-perl            2.38-2+b1
ii  libtext-levenshteinxs-perl      0.03-5+b1
ii  libtext-markdown-discount-perl  0.16-1
ii  libtext-xslate-perl             3.5.9-1+b2
ii  libtime-duration-perl           1.21-2
ii  libtime-moment-perl             0.44-2+b1
ii  libtimedate-perl                2.3300-2
ii  libunicode-utf8-perl            0.62-2
ii  liburi-perl                     5.17-1
ii  libwww-mechanize-perl           2.15-1
ii  libwww-perl                     6.67-1
ii  libxml-libxml-perl              2.0207+dfsg+really+2.0134-1+b1
ii  libyaml-libyaml-perl            0.86+ds-1
ii  lzip [lzip-decompressor]        1.23-5
ii  lzop                            1.04-2
ii  man-db                          2.11.2-1
ii  patchutils                      0.4.2-1
ii  perl [libencode-perl]           5.36.0-7
ii  t1utils                         1.41-4
ii  unzip                           6.0-27
ii  xz-utils                        5.4.1-0.1

lintian recommends no packages.

Versions of packages lintian suggests:
pn  binutils-multiarch     <none>
pn  libtext-template-perl  <none>

-- no debconf information

Send a report that this bug log contains spam.


Debian bug tracking system administrator <[email protected]>. Last modified: Tue May 13 11:20:37 2025; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU General Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.