On Oct 29, 2024, at 12:23, Paul Ramsey <pramsey@cleverelephant.ca> wrote:
> Question for the more knowledgable, how are binary distribution systems like Conda and others shipping DLLs such that
differentpackages 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
totheir 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