Open ahkok opened 5 years ago
This is an issue also for Fedora, would you consider changing library names to a versioned one? https://docs.fedoraproject.org/en-US/packaging-guidelines/#_downstream_so_name_versioning
Sure, :+1: for better compliance. Would you consider submitting a PR? Else this might take a while, i.e. I'm not aware of anyone on the team being fluent in lib packaging and related standards.
You might want to open an issue over at librtprocess's bug tracker: https://github.com/CarVac/librtprocess And maybe talk about it in the forum: https://discuss.pixls.us/t/librtprocess-quo-vadis/10388
As for rtexif, I think we're on the road to getting rid of that - #3801
Having a versioned library name should be quite easy. Accordingly to cmake's manual it only needs setting SOVERSION
property to
https://github.com/Beep6581/RawTherapee/blob/51e08b82d2be6efca2db95f7c4a9320e02a01471/rtengine/CMakeLists.txt#L175
for Example:
set_target_properties(rtengine
PROPERTIES COMPILE_FLAGS "${RTENGINE_CXX_FLAGS}"
SOVERSION "${SOVERSION}")
Now, the problem is where to set ${SOVERSION}
: ideally it should be the RT version, but the version provided in UpdateInfo.cmake
is unreliable.
We could manually set it in the main CMakeLists.txt
or in rtEngine's CMakeLists, but that would require to bump it at every RT version bump.
The soname could also be set to something other than RT version and be changed only when ABI breaks.
Let me know what you prefer and I'll send a PR.
The soname could also be set to something other than RT version and be changed only when ABI breaks. This is the obvious correct answer here - since it's very low key :)
RawTherapee version
5.6
OSclearlinux
version30700
.Our packaging tool (autospec) detects that rawtherapee's cmake files are installing libraries (not
dlopen
) files as unversioned.so
's into/usr/lib64
.libraries that are supposed to be linked should be versioned by default (libfoo.so.1). The following 2 libraries are included in rawtherapee and are not versioned:
/usr/lib64/librtengine.so
/usr/lib64/librtexif.so
Note that it's also not picking up the correct default
-DLIBDIR
andCMAKE_INSTALL_LIBDIR
either.Note: other distros seem to entirely ignore this problem, but that doesn't mean it's not an issue.