Darktable on ubuntu 18.04 / exiv2 is obsolete - Any PPA/snap solving this?

darktable

(/ar) #1

Recently migrated from Fedora to Ubuntu, and immediately noticed that a) ubuntu’s darktable official package is old, and b) ubuntu’s exiv2 library is totally obsolete (1-2 years old or so) and missing a bunch of lens and cameras. This impacts darktable’s cam/lens detection.

I found Pascal’s PPA, that brought the latest and greatest darktable but unfortunately Pascal built against the same old exiv2 release so that issue remains. I can guess updating exiv2 is not trivial. I tried a quick hack with Debian’s experimental packages (that are already in 0.26: exiv2, libexiv2), command line exiv2 works and detects the new cams/lenses but darktable didn’t take notice. I guess it’s built against the old version and the old lib version is still there.

Is there another 3rd party PPA (or snap) that people use for darktable that brings a more recent exiv2?


(Mica) #2

Try the flatpak from flathub.org, exiv2 is at 0.26


(/ar) #3

Thanks @paperdigits! that worked - lens/cam detection now sees the new gear.

There is one big issue with the flatpak though: OpenCL does not work (I use amdgpu (pro) opencl drivers, they work fine for native packages). Seems to be a known issue with flatpaks:

I’m rather new to flatpaks and containers, looking for a workaround for this


(Mica) #4

I don’t think there is a work around for that currently, you just do not get GPU acceleration.


#5

Did you actually try it? IIRC he backports the new cameras. I might be confusing that with lensfun though.


(/ar) #6

Explored a bit but couldn’t find the way.

I also tried building darktable, against exiv2 0.26, I could get the build to succeed, ldd confirms exiv2 0.26 was used, it runs (installed via checkinstall), but it doesn’t pick up the new cameras/lens. There is something else that needs to be changed in the source tree I guess other than the exiv2 version dependency. I took a look at how the flatpak is built (since it works fine), there is only exiv2, lensfun and a couple other extra packages and that’s it.

Somehow the flatpak work fine but the local build doesn’t.

Everything would be so much simpler if Pascal’s build in the ubuntu PPA would use the latest exiv2 :confused:


(/ar) #7

Yes I tried it. Also confirmed that Pascal’s release is using exiv2 0.25, the old one.

Lensfun’s release is up to date (and in addition to that, lensfun is able to download the latest lens database, this works with ubuntu’s native version and also with Pascal’s). The problem is exiv2. The version that Pascal included in his PPA, and also the version that comes with Ubuntu, is really old and unable to identify new gear.

I guess it’s debian’s fault in the end (ubuntu just took their package). However it can be updated, as proven by the flatpak which uses 0.26 (and by debian expermental version).


(Mica) #8

The flatpak does not rely on any system packages and is completely self contained. This is both a blessing and a curse :wink:

P.S. are you sure you aren’t talking about lensfun and not exiv2?


(/ar) #9

P.S. are you sure you aren’t talking about lensfun and not exiv2?

yes 100%. I checked the lensfun database and the cam/lens are there.
I also ran lensfun-update-data (which gave the same database as Pascal ships, so he keeps the latest one).
On the other hand, exiv2 0.25 (the one in the PPA) gives an empty string when invoked with -pt (CLI) for:
Exif.NikonLd3.LensIDNumber
Whereas exiv2 0.26 (debian experimental package) gives the full lens string for the same picture. exiv2 0.25 is nearly two years old. It has it’s own database to convert IDs etc to strings. Darktable uses these string to match against lensfun’s database, for lenses.


(Mica) #10

Understood! I’ve learned to confirm the obvious when troubleshooting, because you never know :slight_smile:


(Mica) #11

There is also a snap package of darktable, so long as you’re perusing packages. I have no idea what exiv2 it is built against nor do I know if GPU acceleration will work, but maybe it’ll work for you.


(/ar) #12

I did try the snap. It has the same issue - it seems to be based off of a prior version of Pascal’s packages. Incidentally I also noticed some strange issues with the theme, some colors where off. Looks like flatpak is in better shape than snap these days, even in ubuntu.

Still puzzled on why my local build also has the problem. Looking at the working flatpak build file, there are no customizations, just the darktable source tarball from github and four other small updated packages. I built darktable but got the packages from debian experimental. Maybe I’ll try building all 4 and see if I can bring my entire workstation down :slight_smile:


(Mica) #13

Darktable has way more dependencies than the 4 listed in the flatpak manifest, but they’re handled by the shared gnome flatpak, which is listed in the first few lines of the darktable flatpak manifest.