LINUX MAGAZINE ISSUE 299 - OCTOBER 2025 | Auditing: Keeping watch with the Linux kernel auditing system | Commodore OS Vision 3: Run your Commodore emulators on a Commodore 64 Lookalike | DVD INSIDE: antiX FULL 23.2 and Ubuntu MATE 25.04
If you run a #Linux program in #strace, usually the start of the log shows it trying to load a ton of shared libraries, and for each one, trying the same file name in all your LD_LIBRARY_PATH directories until it finds it. So you mostly see file-open operations failing, with ENOENT.
To a novice strace reader, it looks as if something has already gone horribly wrong! But it hasn't – this is all normal, and as expected. Each of those ENOENT is technically "an error", but not a bad error, because ld.so just moves on to the next in its big list of things to try, and one works in the end.
Errors happen all the time in the guts of a computer system, and most of them are not even interesting – just business as usual. The event an end user thinks of as "an error" is the case where the program doesn't have a fallback plan. Those are often outnumbered by the cases where it does!