I see what was and still is causing lens_calibrate.py to hang. Running
lens_calibrate.py vignetting
as user âlensfunâ:
$ ps aux|grep darkta
lensfun 12439 4.6 2.3 522752 92416 pts/2 Sl+ 14:42 0:01 darktable-cli vignetting/inf/_DSC8099.NEF vignetting/exported/vignetting.xmp vignetting/exported/_DSC8099.ppm --width 250 --core --configdir /tmp/lenscal_rn25y6cp --conf plugins/lighttable/export/iccprofile=image --conf plugins/lighttable/export/style=none
darktable-cli is hanging.
$ strace -p 12439
strace: Process 12439 attached
futex(0x563563b37c70, FUTEX_WAIT_PRIVATE, 2, NULL
Basically blocked. If I kill that process 12439 (which is different than ctrl-c on the python script) I get output from the terminal running the python script:
[rawspeed] rawspeed:
:Camera(const pugi::xml_node&)::<lambda()>, line 69: Attribute âsupportedâ has unknown value.
Could be a red herring but the Z8 (or Z9) has no âsupportedâ attribute in /usr/share/darktable/rawspeed/cameras.xml.
Remember that I had to add the Z8 definition to cameras.xml (on debian 12).
Doesnât make a difference if I use a âsupportedâ (and âmodeâ) attribute from another camera; something else is missing thatâs hanging darktable-cli, if thatâs even whatâs causing darktable-cli to hang.
I ran lensfun-update-data which output:
Reading http://lensfun.sourceforge.net/db/versions.json âŚ
Reading http://wilson.bronger.org/lensfun-db/versions.json âŚ
/usr/share/lensfun/version_1/mil-nikon.xml
has no Z8 definition. It does have a Z9 definition.
/var/lib/lensfun-updates/version_1/mil-nikon.xml
does have a Z8 definition:
<camera>
<maker>Nikon Corporation</maker>
<maker lang="en">Nikon</maker>
<model>Nikon Z 8</model>
<model lang="en">Z 8</model>
<mount>Nikon Z</mount>
<cropfactor>1</cropfactor>
</camera>
Thus, on debian 12, I can get lensfun with the Z8, but darktable seems to be missing the Z8, and manually adding it to âŚrawspeed/cameras.xml doesnât seem to help.
lensfun-update-data seems to be broken on fedora 39:
lensfun-update-data
Traceback (most recent call last):
File â/usr/bin/lensfun-update-dataâ, line 46, in
import lensfun
ModuleNotFoundError: No module named âlensfunâ
Curious if others can successfully run lensfun-update-data on fedora (39 or otherwise).
I know I have to convert my NEF files to DNG and try that with lens_calibrate.py.