Conversation
On macOS, shared libraries are expected to be installed with the naming
convention
lib$NAME.$SOVERSION.dylib
We also prefix the library install name with `@rpath` to indicate to the
dynamic linker that it should use RPATH to look for `libsvm`. Without
this, the dynamic linker will only search the calling process' current
working directory, which will, in general, not contain `libsvm`.
|
We are not sure whether the change affects compatibility with previous versions on macOS. |
This does affect compatibility, so it can/should probably wait until you bump
Regarding naming, it's not so much an error, but I think it is a bug to not be following platform naming conventions for shared libraries. Merging this patch also means that downstream packagers don't have to fix up the file name and install name for you. See:
Homebrew, MacPorts, and Nix are probably the three most widely used package managers on macOS at the moment, and they all rename It seems to me that there would be less duplication of effort (and therefore more efficient) if this was corrected here upstream instead. |
|
Regarding the install name, what kind of details were you looking for? In its current state you can only link with With the |
|
Thanks for the information. |
On macOS, shared libraries are expected to be installed with the naming
convention
We also prefix the library install name with
@rpathto indicate to thedynamic linker that it should use RPATH to look for
libsvm. Withoutthis, the dynamic linker will only search the calling process' current
working directory, which will, in general, not contain
libsvm.