| ▲ | eschaton 2 days ago | |||||||
They probably mean that they don’t like the way the “install name” (as it’s referred to) of a shared library is embedded in the library and then copied to whatever links the library, and is then used to find the library at runtime. I suspect they’d prefer to build the shared library with an arbitrary install name and then just have it found automatically by being in the Frameworks or Libraries directory. Most platforms don’t have a concept of “install name” distinct from the library name; the value was originally the full path to the deployment location of the library, which was revised to support meta-paths (like `@rpath/LibraryName`) in Mac OS X 10.4 and 10.5 and is what the runtime dynamic loader (dyld) uses to match a library at load time. So an application’s executable can have a set of self-relative run path search paths, which is how it can load libraries from its Frameworks and Libraries directories. | ||||||||
| ▲ | dagmx 2 days ago | parent [-] | |||||||
Ah fair enough. But generally an rpath is pretty good to go out of the box. The primary binary encodes relative to the executable path and any dylib that loads from it should be able to (by default) load relative to that | ||||||||
| ||||||||