tech-pkg archive

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

Broken implicit DEPENDS?



I was alerted to a problem by a user who was installing nodejs, and then running into:

  ld.so.1: node: fatal: libintl.so.8: open failed: No such file or directory

This immediately struck me as odd, given our strict check-shlibs infrastructure that should catch problems like this and ensure we don't ship broken packages.

However, I was able to reproduce it. Looking closer at check-shlibs I found the problem, where if the dependency wasn't explicit but instead implicit via other dependencies, it isn't listed in rrdepends and so the test passes even though the library is left unresolved.

I "fixed" check-shlibs with the following change:

  https://gist.github.com/jperkin/a9b7cb963a9649cc8b7371700b2692db

but when running with it in a limited bulk build, there is a huge amount of fallout!

  https://us-central.manta.mnx.io/pkgsrc/public/reports/trunk/tools/20231116.1528/meta/report.html

I fear that this isn't going to be a simple one to solve. Adding implicit dependencies to the full dependency list is going to increase them significantly, and not all of them will be necessary. Adding explicit dependencies to packages isn't ideal either, as we are then effectively duplicating dependency logic, and makes maintenance significantly harder.

I have a feeling, based on the "Not yet" comments in check-shlibs, that others have already been along this path, and so I wanted to get some input here first before delving too far into the rabbit hole. However, it's pretty scary that we are currently shipping so many effectively broken packages right now, that are only working due to the user happening to have the dependencies installed via some other path.

Thanks,

--
Jonathan Perkin   -   mnx.io   -   pkgsrc.smartos.org
Open Source Complete Cloud   www.tritondatacenter.com


Home | Main Index | Thread Index | Old Index