darktable
darktable copied to clipboard
account for api changes in lensfun 0.3.95
The lens correction module does not compile when the latest version of lensfun is used (git master). This PR accounts for incompatibilities with lensfun.
See https://github.com/lensfun/lensfun/commit/b135e05d729d66c5e595d350d78e6a7bbcab31da#diff-74f5f867207d26f5d4b9c2bf55fdcd6f237947742428c62de30502975968f332 for the corresponding changes in lensfun.
Are the incompatibilities between the versions (https://github.com/darktable-org/darktable/issues/2813) ironed out yet? If not, I'm not sure whether we should be making changes to support current master or 0.3.95.
@elstoc I have not observed the kind of artifacts as described in #2813 so far. I would be valuable to have some test data to reproduce #2813.
I just observed, this has also been addressed in the PR #10507, which has not been merged.
Can somebody give me a hint why the build fails? I do not see any relation of the changes of this PR to the linker error given in the build log:
ld: library not found for -lc++
Do we really want to merge this? Lensfun 0.3.95 is quite old, was alpha at best, never released (only tagged in the tree), is likely unfinished, and there is a newer release, 0.3.3
@paperdigits Maybe my description is somewhat misleading. This patch is actually to provide compatibility of dt with the current git master of liblensfun, which still pretends to be version 0.3.95, see https://github.com/lensfun/lensfun/blob/master/CMakeLists.txt . Note that 0.3.3 comes from an entirely different branch of liblensfun.
The point is that until backwards compatibility issue (old history stacks breaking) is fixed, darktable doesn’t want to add any support for newer code.
Let me summarize:
- dt currently compiles with lensfun 0.3.3 and 0.3.95, but not with the latest version of lensfun from git master branch.
- Version 0.3.3 is the latest production release.
- Version 0.3.95 is a rather old development release.
- Version 0.3.95 is not backward compatible to older versions (including 0.3.3) by applying slightly different lens corrections.
- Therefore, support for lensfun version 0.3.95 or other development releases in dt is not desired before the backward compatibility issue in lensfun has been fixed.
Therefore, I am closing this PR. Instead of merging the PR I suggest to change dt sources to emit a warning when lensfun 0.3.95 is detected. Possibly, one may remove support for lensfun 0.3.95 entirely. (Though, I prefer to emit a warning.)