![jonathan](/assets/img/avatar_default.png)
When given -l<foo>, ld links against lib<foo>.so. Ld finds the version number provided and written into the .so file by "-soname" when the library was built, and writes that into the shared binary. The -soname version we use is now lib<foo>.so.<major>. At run-time, ld.so links against that file, so we need that symlink as well as the lib<foo>.so symlink.