On Oct 29, 2024, at 12:23, Paul Ramsey <pram...@cleverelephant.ca> wrote:
> Question for the more knowledgable, how are binary distribution systems like > Conda and others shipping DLLs such that different packages don’t clobber > each other? I’m not familiar with Conda, but from its docs[1], it seems to rely on a value compiled into an app: > * On Linux, the $ORIGIN variable allows you to specify "relative to this > file as it is being executed". > * On macOS, the variables are: > * @rpath---Allows you to set relative links from the system load paths. > * @loader_path---Equivalent to $ORIGIN. > * @executable_path---Supports the Apple .app directory approach, where > libraries know where they live relative to their calling application. Thinks are a bit more complicated on Windows, which doesn’t support something like -rpath. D [1]: https://docs.conda.io/projects/conda-build/en/latest/resources/use-shared-libraries.html