What problem does it solve?
Help developers and operators diagnose and fix Linux ELF shared library loading failures, versioning mismatches, and symbol resolution errors that cause binaries to fail at runtime.
Core Features & Use Cases
- Library creation & soname versioning: guidance for building shared libraries with soname, semantic versioning rules for MAJOR.MINOR.PATCH, and symlink conventions for deployment.
- RPATH vs RUNPATH and search order: instructions to embed and modify RPATH/RUNPATH, use $ORIGIN for relocatable layouts, and tools to inspect or change runtime search paths.
- Runtime linking & debugging: techniques for dlopen/dlsym plugin patterns, LD_PRELOAD interposition for testing or instrumentation, LD_DEBUG/ldd for tracing resolution, and symbol visibility control with version scripts.
- Real-world scenarios: resolving "cannot open shared object file" errors, fixing undefined symbol lookups due to ABI mismatches, and preparing libraries for safe upgrades and packaging.
Quick Start
Diagnose why myapp fails to load libfoo.so and provide step-by-step fixes to set RUNPATH, verify soname, and validate symbol versions.