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

I think exiv2 does not many dependensies so it should be fairly easy to compile it from sources. Have you tried?

You can also try installing exiv2 0.26 rpm using in your system alien command. OpenSUSE, CentOS, etc have that rpm in their repos

The best way for Ubuntu is:

$ sudo snap install darktable

I tested the snap, for some reason the darktable snap did not have the latest lenses, same issue as the PPA; however the flatpak version did have the latest lenses and also I could confirm in their github repo that they had included exiv2 0.26

Also, the snap version looks really horrible under a dark-themed ubuntu, it only looks OK with ubuntu’s default theme, at least in my test. The flatpak on the other hand picks up whatever system theme you have.

As mentioned before in this thread, both snap and flatpak are unable to support openCL, a red flag if you have a discrete GPU and intend to benefit darktable from it

Are you sure that the issue is exiv2 version? Have you run lensfun-update-data to update the lens library?

If so, and you need opencl acceleration, it seems like your best options are either to build it all from source or switch distros to something that has more up to-date-software.

Yes I am sure it’s the exiv2 version. 0.25 is not able to decode properly and get the lens ID, so the updated DB (as downloaded by lensfun-update-data) is useless for that 2-3 year-old exiv2 release. 0.26 is able to pick up the newer lenses prensent in the DB with no issues.
And yes distros other than ubuntu/debian don’t have this problem, including Fedora 28 which comes with 0.26.
I was using Fedora (for many years) but recently had to switch to ubuntu -that’s how I ran into this.

Not complaining, manual lens selection does the job for now, and it’s not that bad. I could incorporate the lens selection in a Style if needed.

I started asking here and there why the PPA was using such an old version of the library. Now I can see it’s not so trivial to upgrade exiv2, there is a reason they are using the old release. Eventually Debian will pick up the new version and this problem will go away. It may take a year or two.

1 Like

I think exiv2 0.26 is already two years old though :hushed: You might want to try openSUSE Leap instead. It is as stable as debian(based) but it has recent packages in their graphics repo.

I had none of the problems you mentioned. I’d still recommend “sudo snap install darktable”.

I just compiled exiv2 0.27.0.1 on ubuntu 18.04.1 following these instructions:
http://dev.exiv2.org/projects/exiv2/wiki/Building_on_Ubuntu_using_Cmake
It took me only a couple of minutes.

#2. You will likely get the error E: You must put some 'source' URIs in your sources.list", don’t forget to fix it before moving on to the #3. The solution posted here: http://askubuntu.com/a/496554/95343

#3. Change svn checkout svn://dev.exiv2.org/svn/trunk to git clone https://github.com/Exiv2/exiv2.git if you want the latest version. SVN repo got frozen at 0.26 and is depreciated now.
If you pulled the code from git your path instead of cd trunk will be cd exiv2

2 Likes

Thanks @Andrius
The latest exiv2 is indeed able to decode the lens I needed to decode -

Exif.NikonLd3.LensIDNumber Byte 1 Nikon AF-S DX Nikkor 16-80mm f/2.8-4E ED VR

Note that the previous version (0.26) also worked. The problem is that the standard darktable build used version 0.25 of the library, . It’s bundled in the ppa - same as the snap (at least the old snap I tested some months ago), so darktable doesn’t benefit from installing the 0.27 library from github.

I’m hoping that 0.27 will be officially released and picked up by debian (0.26 never was), then at some point darktable on debian/ubuntu will be built against it, and at that point the problem will be solved. Newer lens supported by lensfun will also be supported by darktable.