digikam - "ExifTool is not available in your digiKam installation [...]"

Hi,

I’m having problems with digikam and looking for help.

When I start digikam, it shows me a box that says “ExifTool is not available in your digiKam installation or is not working correctly. Go to the digiKam settings […]”. However, if I go to Settings > Configure digiKam, nothing happens before a long time, and before long my host says digikam is not responding, with the options to Wait or Force Quit. I’ve tried repeatedly Wait’ing it out, up to about 5 minutes’ worth, and still nothing happens that’s visible to me. I haven’t to my knowledge installed or updated digikam or exiftool, but it’s possible I accepted a change without noticing.

This affects only my own personal login. If I make a new user account, and launch from there, digikam loads without the notice, can open the settings menus, and in the metadata section shows it can find (the expected) exiftool binary. So probably there is something about my personal setup (dotfiles, config files, gnome settings and/or extensions) that fouls things up. That’s my most promising lead, but I don’t know how to proceed toward a diagnosis or a solution.

This is happening to me on two machines, one running nixos and one running ubuntu. I’ll dump as much info about both as I imagine to be useful, about both machines, in case that helps. I think it’s clearer to only focus on one per post, so let’s say this one is about the nixos system. On the off chance that both have the same solution, I’ll start with just this one post, but let me know and I’ll make another one for the ubuntu system.


ubuntu

ubuntu host has digikam installed via apt, with 4:8.2.0-0ubuntu6.2 (digikam -v gives digikam 8.2.0). So it doesn’t have commit eda2cf81b7 and doesn’t actually show the “ExifTool is not available” text. I’d been using it for a few months successfully, and it was embedding metadata into files. At some point in the past few months, triggering lazy synchronization stopped writing metadata into files, but didn’t report failures. but opening settings makes digikam nonresponsive. Since it was working for a while, if my personal setup is the problem, it’s probably something recent. But not all that stuff is versioned or easily reversible so I don’t know how to investigate that. On this host exiftool is in a conventional location

for bin in $( which -a exiftool ); do ver=$( "$bin" -ver ); printf "%s -> %s\n" "$bin" "$ver" ; done
/usr/bin/exiftool -> 12.76
/bin/exiftool -> 12.76

I tried blowing away all digikam stuff I could find in my homedir (rm -rf .cache/digikam .config/digikam_systemrc .config/digikamrc .local/share/digikam .local/state/digikamstaterc) and it didn’t change the outcome.

i created a new user and it’s able to open digikam, and in digikam can open setttings, where it shows that it can find exiftool and identifies it as version 12.76.

nixos

i’m setting up another host to try nixos. it runs a flake on nixos-25.05, with GNOME. i installed digikam in an early generation, and it worked fine at the start. i was testing every few generations that digikam still loaded and could open settings. but i started making many changes at once, so i don’t know when it stopped working and so it’s hard to guess the cause. What’s installed is digikam 8.6.0. For my personal user, startup gives the “ExifTool is not available” message, and opening Configure digiKam makes it nonresponsive.

On this host, exiftool is in my path at an unconventional place:

for bin in $( which -a exiftool ); do ver=$( "$bin" -ver ); printf "%s -> %s\n" "$bin" "$ver" ; done
/run/current-system/sw/bin/exiftool -> 13.25

That’s apparently a feature not a bug, as nixos should be having digikam use an exiftool distributed in the digikam package, unless my configuration does something that would void the hermetic isolation that makes up the nixos hype.

Either way, a new user with no personalization is able to open digikam settings, and the metadata panel there reports exiftool 13.25 is available.

Going back to the first generation that installed digikam, it no longer works. This is a 2nd thing that suggests to me it’s something about my personal environment.

You can add this to $PATH when launching digikam.

You can edit the command line used to launch digikam from kmenuedit.

This could also get fixed in the digikam package similarly.
I don’t know much about nixos.

I’ve tried a couple variants of executing with overridden PATH, and the result is the same as before.

attempt 1: installed libsForQt5.kmenuedit ; ran kmenuedit ; under the digikam entry, put PATH=/run/current-system/sw/bin into the empty Environment Variables field ; Saved ; exited ; launched from the gnome dash.

After I saw this didn’t work, I was suspicious that something about me using GNOME or some peculiarity of nixos was gumming up the works, so I tried 2 more ways

attempt 2: launched from terminal as env PATH=/run/current-system/sw/bin digikam

attempt 3: installed desktop-file-utils package ; copied one of the desktop entries from /nix/store ; edited the copy (changed from Env=digikam… to Env=env PATH=/run/current-system/sw/bin…) ; launched it (gio launch /path/to/file.desktop)

desktop-file-install --dir=$HOME/.local/share/applications org.kde.digikam.desktop 

gio launch .local/share/applications/org.kde.digikam.desktop 

After a night’s sleep, I felt a bit less discouraged and realized I should do my setup in a consistent order and bisect that, since there’s not that many things there (the nixos system was like 4 hours into setup, a lot of which was nixos fumbling).

My digiKam problems only happen if this line is in my ~/.bashrc during login:

export PERL_UNICODE='SAD'; # https://perldoc.perl.org/perlrun#-C-%5Bnumber/list%5D

Commenting it out, logging out, and logging in, and digiKam has no problem finding exiftool or opening the settings menu.

It seems to make sense, given that exiftool is built in perl. The thing that’s weird is that with that envvar set to that value in a terminal session, I’m able to run exiftool successfully on a jpeg, first to show its metadata, second to change its metadata, and third to show its (now-changed) metadata. So somehow digiKam running exiftool can’t tolerate this variable set to this value, but exiftool on its own can.

Is this worth logging a bug against digiKam? It is a very specific problem, so it would in any case be low-priority.

Could digikam have alleviated the issue ?
No.
Does it have anything to do with digikam ?
Absolutely nothing.

This is a fortuitous perl environment shenanigans.
No bug needed for digikam at least.

Okay, makes sense. Thanks for the help.