Hi Guillem, for some back story please see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1111805#49 In https://salsa.debian.org/glibc-team/glibc/-/commit/5e3aa111654e9aad080881fb98f9e5b01b277857 (currently only available via Debian experimental), the duplicated paths for /lib were removed from ld.so.conf files. This triggered a build failure for ncl, hdf-eos5 and ruby-hdfeos5. All those packages link against libgctp and the build failures look similar: hdf-eos5: dpkg-shlibdeps: error: no dependency information found for /usr/lib/x86_64-linux-gnu/libgctp-2.0.0.so (used by debian/libhe5-hdfeos0t64/usr/lib/x86_64-linux-gnu/libhe5_hdfeos.so.0.0.0) dpkg-shlibdeps: hint: check if the library actually comes from a package dh_shlibdeps: error: dpkg-shlibdeps -Tdebian/libhe5-hdfeos0t64.substvars debian/libhe5-hdfeos0t64/usr/lib/x86_64-linux-gnu/libhe5_hdfeos.so.0.0.0 returned exit code 1 ncl: dpkg-shlibdeps: error: no dependency information found for /usr/lib/x86_64-linux-gnu/libgctp-2.0.0.so (used by debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGncl.so.1) dpkg-shlibdeps: hint: check if the library actually comes from a package dh_shlibdeps: error: dpkg-shlibdeps -Tdebian/libncarg0t64.substvars debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGgksPS.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGmisc2.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGllu.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGras.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGcgm.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGff.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGgksPDF.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGgksX.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libfftpack5_dp.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGnfpfort.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGgksCTXT.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGlluC.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGmp.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGmisc.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGgks.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGhlu.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGncl.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGctrans.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGmath.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGc.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGnfp.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGcn.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGictrans.so.1 returned exit code 1 dh_shlibdeps: error: Aborting due to earlier error make: *** [debian/rules:14: binary] Error 25 ruby-hdfeos5: dpkg-shlibdeps: error: no dependency information found for /usr/lib/x86_64-linux-gnu/libgctp-2.0.0.so (used by debian/ruby-hdfeos5/usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/3.3.0/numru/hdfeos5raw.so) dpkg-shlibdeps: hint: check if the library actually comes from a package dh_shlibdeps: error: dpkg-shlibdeps -Tdebian/ruby-hdfeos5.substvars debian/ruby-hdfeos5/usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/3.3.0/numru/hdfeos5raw.so returned exit code 1 dh_shlibdeps: error: Aborting due to earlier error make: *** [debian/rules:18: binary] Error 25 If you want to reproduce the problem, remove the line /lib/x86_64-linux-gnu in /etc/ld.so.conf.d/x86_64-linux-gnu.conf and try to build one of those packages in debian sid or trixie. It is unclear to me, if this is a problem in libgctp, dpkg-shlibdeps or the affected packages themselves. I decided to file it against dpkg(-shlibdeps) as it is the command failing. I chose severity important (as it makes packages FTBFS) and it probably should be bumped to RC once glibc with that change is uploaded to unstable. The setup of libgctp is a bit special as detailed in https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1111805#69 As Aurelien pointed out, while special it should still be covered according to the dpkg-shlibdeps documentation but maybe it is hitting less tested code paths. Would very much appreciate your input on this matter. Michael
The problem can be reproduced in Debian sid, with no ld.so.conf modifications. (Or I botched my testing?) It looks to me like this breakage comes from the recent libgctp upload. I've not looked into what that might be though, but otherwise I'll reassign to that package later today. Thanks, Guillem
Am 16.09.25 um 16:28 schrieb Guillem Jover: I can't repoduce the failure with with no ld.so.conf modifications.
Am 16.09.25 um 16:28 schrieb Guillem Jover: I can not confirm that. I can successfully build e.g. hdf-eos5 in a a Debian sid chroot. Only after removing /lib from ld.so.conf.d I'm able to trigger the dpkg-shlibdeps error. Attached are two straces: - strace_success.txt, with /lib/x86_64-linux-gnu in /etc/ld.so.conf.d/x86_64-linux-gnu.conf - strace_failure.txt without the /lib line Notice how in strace_failure.txt dpkg-shlibdeps tries to open /var/lib/dpkg/info/libgctp-dev.shlibs, whereas in strace_success.txt it is /var/lib/dpkg/info/libgctp-2.0.0:amd64.shlibs
- with /lib - without /lib
Control: reassign -1 libgctp Control: tag -1 patch Control: retitle -1 libgctp: Fix SONAME filename handling This can be reproduced on a system with a merged-/usr with selective filename aliasing (instead of global directory aliasing). The problem is that merged-/usr with directory aliasing has been shadowing this problem, which is a packaging issue in libgctp. The non-dev package should be containing the shared library named as its SONAME, which is what dpkg-shlibdeps expects, to be able to map from the SONAME to the package that contains the shlibs file. This has worked on merged-/usr systems with directory aliasing (and /lib in the ld.so default path) because dpkg-shlibdeps was able to find the file on the filesystem but no match on its db, which resulted in triggering a fallback to canonicalize the filename and overwrite the filename to package mapping which then leads it to the package containing the shlibs file (libgctp-2.0.0 vs libgctp-dev). On systems where there is no searching or presence of SONAME via /lib, then dpkg-shlibdeps does not trigger the canonicalization and instead finds the mapping to the -dev package, which contains no shlibs file, and that fails the build. The attached patch should fix the issue (at least it does for me). Reassigning to libgctp. Thanks, Guillem
Hi Guillem Am 16.09.25 um 23:46 schrieb Guillem Jover: Thanks a lot for the detailed explanation (and the patch)! Looping in Aurelien as well so he is aware that there is now a fix for this issue and should not block this glibc change being uploaded to unstable. Michael
Hi, Thanks a lot for the investigation and the patch. Aurelien
As this resulted in broken shlibs dependencies, I'm bumping the severity to RC. This might even be something you might want to fix via a stable upload as the packages depending on libgctp are currently broken in stable. Michael
Just for clarification just in case (given that the wording seems to imply something else), the packages are breaking dpkg-shlibdeps assumptions in how they are shipping the shared library and its symlinks, the shlibs file it provides should be fine by itself (and the patch should not be changing its contents). For stable I'd assume that given a default Debian system with merged-/usr via directory aliasing and with /lib in ld.so.conf, there should be no breakage, even though the package is still broken (but should in theory not trigger breakage in dpkg-shlibdeps there). So while I think fixing it there would make sense to me, it should not be needed to solve any FTBFS. Thanks, Guillem
Am 17.09.25 um 23:04 schrieb Guillem Jover: The point is, packages in stable have a dependency on libgctp-2.0.0 while libgctp-2.0.0.so is actually provided by libgctp-dev. So installing rdeps of libgctp-2.0.0 results in a broken setup.
Ah, I see what you mean. Although that should also be shadowed by ldconfig generating the missing SONAME symlinked to to real library filename when installing libgctp-2.0.0. So the SONAME symlink will be unowned (in dpkg terms), but dpkg will overwrite it when installing libgctp-dev. So while this is also broken, it should not cause visible breakage either (I think). Thanks, Guillem
control: severity -1 serious Hello, I tried a rebuild of ncl and now it fails to build dpkg-shlibdeps: warning: symbol cpux_ used by debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGmisc2.so.1 found in none of the libraries dpkg-shlibdeps: warning: symbol mskrv2_ used by debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGmisc2.so.1 found in none of the libraries dpkg-shlibdeps: warning: symbol wtstr_ used by debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGmisc2.so.1 found in none of the libraries dpkg-shlibdeps: warning: symbol gqclip_ used by debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGmisc2.so.1 found in none of the libraries dpkg-shlibdeps: warning: 19 other similar warnings have been skipped (use -v to see them all) dpkg-shlibdeps: error: no dependency information found for /usr/lib/x86_64-linux-gnu/libgctp-2.0.0.so (used by debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGncl.so.1) dpkg-shlibdeps: hint: check if the library actually comes from a package dh_shlibdeps: error: dpkg-shlibdeps -Tdebian/libncarg0t64.substvars debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libfftpack5_dp.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGgksCTXT.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGctrans.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGgksPDF.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGgksX.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGnfpfort.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGras.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGmisc2.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGlluC.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGgks.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGgksPS.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGllu.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGcgm.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGc.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGnfp.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGcn.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGmp.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGhlu.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGmisc.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGff.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGncl.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGictrans.so.1 debian/libncarg0t64/usr/lib/x86_64-linux-gnu/libNGmath.so.1 returned exit code 1 dh_shlibdeps: error: Aborting due to earlier error make: *** [debian/rules:14: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 I: copying local configuration E: Failed autobuilding of package I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem https://tests.reproducible-builds.org/debian/rbuild/unstable/amd64/ncl_6.6.2.dfsg.1-12.rbuild.log.gz G.
We believe that the bug you reported is fixed in the latest version of libgctp, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to 1115395@bugs.debian.org, and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Alastair McKinstry <mckinstry@debian.org> (supplier of updated libgctp package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing ftpmaster@ftp-master.debian.org) Format: 1.8 Date: Wed, 10 Dec 2025 10:39:47 +0000 Source: libgctp Architecture: source Version: 2.0.0-13 Distribution: unstable Urgency: medium Maintainer: Debian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org> Changed-By: Alastair McKinstry <mckinstry@debian.org> Closes: 1115395 Changes: libgctp (2.0.0-13) unstable; urgency=medium . * Fix from Guillem Jover for SONAME filename handling. Closes: #1115395 Checksums-Sha1: 9905a96ed8a900090f42f5d01d8720f253e04b89 2028 libgctp_2.0.0-13.dsc 8d443826dfde301ac9258cd0f0585e6d663af2e5 5776 libgctp_2.0.0-13.debian.tar.xz Checksums-Sha256: 626dd9982583ef8a8e3cc9e38ad5a912cc137f8f3d630e604fc6278c3ae66770 2028 libgctp_2.0.0-13.dsc 96ee0b70832bd6fa7e937228dd3b9f81838919466c3519f1f399fdbf7180d4f1 5776 libgctp_2.0.0-13.debian.tar.xz Files: 5d61b095633c0803213bf733c933ff19 2028 utils optional libgctp_2.0.0-13.dsc a17d185269d44896f1899a03e7117bad 5776 utils optional libgctp_2.0.0-13.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEgjg86RZbNHx4cIGiy+a7Tl2a06UFAmk5TjUACgkQy+a7Tl2a 06VosQ/9GrU+zdfHXt0cVfE72oRtomIgFr7cKbC05Z4Gtr1kw9ak1UqJvVnNipsO D80Db4VtBMw1tcj1F0I10SYVmOGtHRAZb7BHHXI9oB/Hz669d7AYmQ+hkBHyiRTP rHYX2xeTpVsOn/NjyscQeyRvoYxpOdFw1WAztbfozFRT63FEOhN9ibOj2TV8E4t+ SzlzhtRRpoi1aUAAkTdu5c7yowrHLVe5Gq0NUZhS0C/TYd6v5345Cr6W5EVqmOqn 66TopbpX6Sc3ZqvN7fnAlns7dmPF6TtqROgisOEEle0/uX6PHdt2Fq+uzRMGXLw9 odI2q2Xj/4a91FQgPFJ1PGaJ2WZ9eF4aR7TG0b0qqf2OtzcA8BzmhCI0nMY79zqg W4qG4iRFsTSJBPFGEe0ys4IwACN3JEQscquqHO6xeo6tfUKQqSFKyztcNdlLJHRq KsUbDfU6P2lumPb5de6V2U98dn8xgCAWsYG8RSBTi8K1ln77jD/h5bFrZm1fjNi1 cQMAxO6AI82trU80plkDLMZI+sYrwQ3gnHBqR1o2BXUuFV7tjhMuCrJswt6bUYKy 4FIVPDlZKly/ctXuu+szf5WC6Vnvf+qn9C7F6x7y0vL4QRGVt3rMJsfkDGJY61SI acpKbDYMC9F/Yje2OcRP2Quh2xailLuUstGm6f3V228BXUTatrk= =U+CX -----END PGP SIGNATURE-----
Yeah, forgot to bump the severity after the change landed in unstable (which I said I would) https://tracker.debian.org/news/1695954/accepted-glibc-242-5-source-into-unstable/ Thanks for noticing and bumping it. And thanks Alastair for the upload. Michael