darktable icon indicating copy to clipboard operation
darktable copied to clipboard

account for api changes in lensfun 0.3.95

Open rabauke opened this issue 2 years ago • 3 comments

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.

rabauke avatar Oct 15 '22 19:10 rabauke

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 avatar Oct 15 '22 22:10 elstoc

@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.

rabauke avatar Oct 15 '22 22:10 rabauke

I just observed, this has also been addressed in the PR #10507, which has not been merged.

rabauke avatar Oct 15 '22 22:10 rabauke

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++

rabauke avatar Oct 18 '22 17:10 rabauke

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 avatar Oct 20 '22 00:10 paperdigits

@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.

rabauke avatar Oct 20 '22 20:10 rabauke

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.

parafin avatar Oct 21 '22 07:10 parafin

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.)

rabauke avatar Oct 23 '22 20:10 rabauke