Skip to content

Resolve "(core): dynamic loading of libraries should look for the filename with the version extension"

Description

On a regular Linux system, libraries are installed with the version in the extension, like libsight_core.so.21.0. The symlink without the version in the extension is only present if the development package is installed. Thus we can not rely on this symlink to load the library like we did since Sight 21.0.

This MR switches back to the old way, looking for a file name that matches the library name. A cache has been added to avoid the cost of iterating over all library files each time.

Closes #788 (closed)

How to test it?

To put your local build in the same layout than an installed Linux system:

  • Build Tuto01Basic
  • Remove all symlinks in the lib/ folder of your local build
  • Run Tuto01Basic
Edited by Flavien BRIDAULT

Merge request reports