I’ve been playing around with exporting to jpeg lately, because after
our recent Easter holiday I had a few hundred pics to process – some of
which might get shared with family. In parallel with this I’ve been
building Darktable from git master and was racking my brains trying
to work out why the export process (from what is effectively a nightly
build) was giving me useless output files. By “useless” I mean “had no
content except for EXIF info”. Very, very annoying.
After firing up badopen.d
and while testing the various intent and
profile settings for exporting to file-based storage, I realised that
stacks such as this:
0 100408 openat:return open for '/opt/darktable/share/darktable/color/out/image' failed
libc.so.1`syscall+0x5
libc.so.1`__open+0x29
libc.so.1`open+0xd4
libc.so.1`_endopen+0xa1
libc.so.1`fopen+0x29
liblcms2.so.2.0.3`cmsOpenIOhandlerFromFile+0x73
liblcms2.so.2.0.3`cmsOpenProfileFromFileTHR+0x4c
liblcms2.so.2.0.3`cmsOpenProfileFromFile+0x2c
libdarktable.so`dt_colorspaces_create_output_profile+0x3e4
libjpeg.so`write_image+0x173
libdarktable.so`dt_imageio_export_with_flags+0x55e
libdarktable.so`dt_imageio_export+0xfb
libdisk.so`store+0x38f
libdarktable.so`dt_control_export_job_run._omp_fn.0+0x40b
libdarktable.so`dt_control_export_job_run+0x345
libdarktable.so`dt_control_run_job+0x21c
libdarktable.so`dt_control_work+0x41
libc.so.1`_thrp_setup+0x9d
libc.so.1`_lwp_start
were probably indicative of something strange in LCMS-land. Sure
enough, the ‘always use littlecms2 when exporting’ box was ticked in the
core options dialog. Turning that off made a world of difference – no
more empty images! I assume that if I can locate an LCMS2 output profile
then I’d have more success using it

For giggles (and because I’m still annoyed by this ticket, I
decided to go through all the export options and compare the output: