Re: readutmp: load libsystemd with dlopen instead of linking
Simon Josefsson via Gnulib discussion list <[email protected]> Thu, 16 Jul 2026 09:17:45 +0200
| Newsgroups | gmane.comp.lib.gnulib.bugs |
|---|---|
| Message-ID | <[email protected]> |
Bruno Haible via Gnulib discussion list <[email protected]> writes: > I really want to hear convincing arguments, before installing additional > complexity into readutmp.c. Your syslogd argument is not convincing for me, > so far. Agreed! The argument is a strawman and needs to be qualified before becoming a justifiable argument to add complexity. I do see how people coming from the minimize-the-dependencies-in-my-container background reach for dlopen() as a way to solve that problem. It solve the problem in several cases, but I wonder if that is a sustainable long-term approach. Taking it to the extreme, essentially all shared library calls should be converted into dlopen, with graceful fallback when the library isn't available, and that seems just weird and somehow exposing a deeper problem. Dependency bloat is a real complex problem too, though. We thought we solved this with shared libraries, but this problem seems to come back in a different form today, leading to the dlopen() approach. Maybe we will go back to static linking (most of the Go ecosystem). We know how to re-compile large sets of binaries easily today, and doing so has other QA/compiler advantages, so maybe the argument for shared libraries is weaker today than it used to be. /Simon
signature.asc
(application/pgp-signature, 1.2 KB)
-----BEGIN PGP SIGNATURE----- iQNoBAEWCgMQFiEEo8ychwudMQq61M8vUXIrCP5HRaIFAmpYhZkUHHNpbW9uQGpv c2Vmc3Nvbi5vcmfCHCYAmDMEXJLOtBYJKwYBBAHaRw8BAQdACIcrZIvhrxDBkK9f V+QlTmXxo2naObDuGtw58YaxlOu0JVNpbW9uIEpvc2Vmc3NvbiA8c2ltb25Aam9z ZWZzc29uLm9yZz6IlgQTFggAPgIbAwULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgBYh BLHSvRN1vst4TPT4xNc89jjFPAa+BQJp4fWRBQkOa+rdAAoJENc89jjFPAa+hWIA /1lQvrJeGlQq50lP6tm99D1zDy7J1tQ3ha4x0Jx7rkFTAP9hpUKuTvm6m1fXyiZV YZlu2+Id/Dq3CIAZvNF+XEr2BLgzBFySz4EWCSsGAQQB2kcPAQEHQOxTCIOaeXAx I2hIX4HK9bQTpNVei708oNr1Klm8qCGKiPUEGBYIACYCGwIWIQSx0r0Tdb7LeEz0 +MTXPPY4xTwGvgUCaeCW1wUJDmqLVgCBdiAEGRYIAB0WIQSjzJyHC50xCrrUzy9R cisI/kdFogUCXJLPgQAKCRBRcisI/kdFoqdMAQCgH45aseZgIrwKOvUOA9QfsmeE 8GZHYNuFHmM9FEQS6AD6A4x5aYvoY6lo98pgtw2HPDhmcCXFItjXCrV4A0GmJA4J ENc89jjFPAa+s7AA+gIIHpBApDpcDj1sKhzDngmpvwQf0VkHme6s+EG7qSgpAQDe /XMrU0c0Pa3ji85cMqZhvzJOFI/soe662lzL0QY3Bbg4BFySz2oSCisGAQQBl1UB BQEBB0AxlRumDW6nZY7A+VCfek9VpEx6PJmdJyYPt3lNHMd6HAMBCAeIfgQYFggA JgIbDBYhBLHSvRN1vst4TPT4xNc89jjFPAa+BQJp4JbXBQkOaottAAoJENc89jjF PAa+RNUA/2faQO/nFT06E+MlhlQdo/0chlQXC5TZMPTVvVBFwoLOAP9xLJK0ow5E jTzYJB4K810AL/Iv6PEOAEgA4cPTHVlbCQAKCRBRcisI/kdFoqFwAP9VjZIQ9AtC haZNBD9mDO4xHZf7BWO/0lTfmy/BhTcksQD/QoVNSzIADfBd4L3mMWaEGGj3QTJH KG6TA9vj+RV7lg0= =hEQn -----END PGP SIGNATURE-----