LensFun Compile Error

I cloned the git repository and tried to compile DT 5.4 and got the following:

gmake: *** [Makefile:156: all] Error 2

error: #error Lensfun 0.3.95 and later development snapshots are not supported.

I’m using Fedora 43 and have lensfun 0.3.4-10.fc43 installed so the error seems to be an error.

How do I get past this problem?

Do you have lensfun-devel installed? This is on my F42, no compilation errors:

$ rpm -qa|grep lensfun
lensfun-0.3.4-4.fc42.x86_64
lensfun-devel-0.3.4-4.fc42.x86_64

BTW when you have strange compilation errors it is a good idea to reconfigure the build:

rm -rf build && mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j `nproc` && sudo make install

rpm -qa|grep lensfun
lensfun-0.3.4-10.fc43.x86_64
lensfun-devel-0.3.4-10.fc43.x86_64

I reconfigured as suggested with no joy.

How did you clone the repo?

Here are all my steps on fully updated F43 to make a fresh DT build:

git clone https://github.com/darktable-org/darktable.git
cd darktable
git submodule init
git submodule update --recursive
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j `nproc` && sudo make install

Here is the configuration output, you can compare with yours:

$ cmake -DCMAKE_BUILD_TYPE=Release ..
-- Building SSE2-optimized codepaths: ON
-- Performing Test C_COMPILER_UNDERSTANDS_-Wno-error=varargs
-- Performing Test C_COMPILER_UNDERSTANDS_-Wno-error=varargs - Success
-- Performing Test CXX_COMPILER_UNDERSTANDS_-Wno-error=varargs
-- Performing Test CXX_COMPILER_UNDERSTANDS_-Wno-error=varargs - Success
-- Performing Test C_COMPILER_UNDERSTANDS_-Wno-error=address-of-packed-member
-- Performing Test C_COMPILER_UNDERSTANDS_-Wno-error=address-of-packed-member - Success
-- Performing Test CXX_COMPILER_UNDERSTANDS_-Wno-error=address-of-packed-member
-- Performing Test CXX_COMPILER_UNDERSTANDS_-Wno-error=address-of-packed-member - Success
-- Looking for external programs
-- Found perl
-- Found intltool-merge
-- Found desktop-file-validate
-- Found LLVM 21.1.7
-- Found clang compiler - /usr/bin/clang-21
-- Found clang opencl-c.h header in /usr/lib/clang/21/include
-- Will be able to test-compile OpenCL programs. Nice.
-- Found jsonschema
-- Found xsltproc
-- Found xmllint
-- All external programs found
-- The following OPTIONAL packages have been found:

 * FFI
 * LibEdit
 * zstd
 * LibXml2
 * LLVM

-- The following REQUIRED packages have been found:

 * OpenMP (required version >= 4.5)
 * Threads
 * Gettext
 * ZLIB

-- Checking for -march=native support
-- Performing Test RAWSPEED_MARCHNATIVE
-- Performing Test RAWSPEED_MARCHNATIVE - Success
-- Checking for -march=native support - works
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WALL
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WALL - Success
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WEXTRA
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WEXTRA - Success
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WCAST_QUAL
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WCAST_QUAL - Success
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WEXTRA_SEMI
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WEXTRA_SEMI - Success
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WFORMAT_2
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WFORMAT_2 - Success
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WPOINTER_ARITH
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WPOINTER_ARITH - Success
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WVLA
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WVLA - Success
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WMISSING_FORMAT_ATTRIBUTE
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WMISSING_FORMAT_ATTRIBUTE - Success
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WSUGGEST_ATTRIBUTE_FORMAT
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WSUGGEST_ATTRIBUTE_FORMAT - Success
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WNO_UNUSED_PARAMETER
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WNO_UNUSED_PARAMETER - Success
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WNO_MAYBE_UNINITIALIZED
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WNO_MAYBE_UNINITIALIZED - Success
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WNO_STRINGOP_OVERFLOW
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WNO_STRINGOP_OVERFLOW - Success
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WNO_ARRAY_BOUNDS
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WNO_ARRAY_BOUNDS - Success
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WNO_FREE_NONHEAP_OBJECT
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WNO_FREE_NONHEAP_OBJECT - Success
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WSTACK_USAGE_4096
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WSTACK_USAGE_4096 - Success
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WFRAME_LARGER_THAN_4096
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WFRAME_LARGER_THAN_4096 - Success
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WLARGER_THAN_32768
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WLARGER_THAN_32768 - Success
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WERROR
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WERROR - Success
-- Performing basic integral type checks
-- Performing basic integral type checks - Success
-- Looking for OpenMP
-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Looking for OpenMP - found (system)
-- Looking for pugixml
-- Found Pugixml 1.15
-- Looking for pugixml - found (system)
-- Looking for JPEG
-- Found JPEG: /usr/lib64/libjpeg.so (found version "62")
-- Looking for JPEG - found
-- Looking for jpeg_mem_src
-- Looking for jpeg_mem_src - found
-- Looking for ZLIB
-- Found ZLIB: /usr/lib64/libz.so (found suitable version "1.3.1", minimum required is "1.2.11")
-- Looking for C++ include zlib.h
-- Looking for C++ include zlib.h - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of uLongf
-- Check size of uLongf - done
-- Looking for Z_OK
-- Looking for Z_OK - found
-- Checking prototype uncompress for HAVE_ZLIB_UNCOMPRESS_PROTOTYPE
-- Checking prototype uncompress for HAVE_ZLIB_UNCOMPRESS_PROTOTYPE - True
-- Checking prototype zError for HAVE_ZLIB_ZERROR_PROTOTYPE
-- Checking prototype zError for HAVE_ZLIB_ZERROR_PROTOTYPE - True
-- Looking for uncompress
-- Looking for uncompress - found
-- Looking for zError
-- Looking for zError - found
-- Looking for ZLIB - found (system)
-- Performing Test HAVE_CXX_THREAD_LOCAL
-- Performing Test HAVE_CXX_THREAD_LOCAL - Success
-- Trying to query CPU L1d cache line size
-- Deciding that the CPU L1d cache line size is 64 bytes
-- Trying to query CPU page size
-- Deciding that the CPU page size is 4096 bytes
-- Trying to query CPU large page size
-- Deciding that the CPU large page size is 2097152 bytes
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WNO_GLOBAL_CONSTRUCTORS
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WNO_GLOBAL_CONSTRUCTORS - Success
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WNO_EXIT_TIME_DESTRUCTORS
-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WNO_EXIT_TIME_DESTRUCTORS - Success
-- Found XMLLINT: /usr/bin/xmllint
-- The following features have been enabled:

 * OpenMP-based threading, used for parallelization of the library
 * XML reading, used for loading of data/cameras.xml
 * Lossy JPEG decoding, used for DNG Lossy JPEG compression decoding
 * ZLIB decoding, used for DNG Deflate compression decoding

-- The following OPTIONAL packages have been found:

 * FFI
 * LibEdit
 * zstd
 * LibXml2
 * LLVM
 * XMLLINT, command line XML tool, <http://xmlsoft.org/>
   Used for validation of data/cameras.xml

-- The following RECOMMENDED packages have been found:

 * JPEG, free library for handling the JPEG image data format, implements a JPEG codec
   Used for decoding DNG Lossy JPEG compression

-- The following REQUIRED packages have been found:

 * Threads
 * Gettext
 * OpenMP, Open Multi-Processing, <https://www.openmp.org/>
   Used for parallelization of the library
 * Pugixml (required version >= 1.8), Light-weight, simple and fast XML parser, <http://pugixml.org/>
   Used for loading of data/cameras.xml
 * ZLIB (required version >= 1.2.11), software library used for data compression
   Used for decoding DNG Deflate compression

-- Found Glib 2.86.3
-- Found PkgConfig: /usr/bin/pkg-config (found version "2.3.0")
-- Checking for module 'gtk+-3.0'
--   Found gtk+-3.0, version 3.24.51
-- Found GTK3: /usr/include/gtk-3.0;/usr/include/pango-1.0;/usr/include;/usr/include/cloudproviders;/usr/include/cairo;/usr/include/gdk-pixbuf-2.0;/usr/include/glycin-2;/usr/include/at-spi2-atk/2.0;/usr/include/at-spi-2.0;/usr/include/atk-1.0;/usr/lib64/pkgconfig/../../include/dbus-1.0;/usr/lib64/pkgconfig/../../lib64/dbus-1.0/include;/usr/include/fribidi;/usr/include/libxml2;/usr/include/pixman-1;/usr/include/harfbuzz;/usr/include/freetype2;/usr/include/libpng16;/usr/include/gio-unix-2.0;/usr/include/glib-2.0;/usr/lib64/glib-2.0/include;/usr/include/libmount;/usr/include/blkid;/usr/include/sysprof-6 (Required is at least version "3.24.15")
-- Found LibXml2: /usr/lib64/libxml2.so (found suitable version "2.12.10", minimum required is "2.6")
-- Found Gphoto2: /usr/lib64/libgphoto2.so (Required is at least version "2.5")
-- Found JXL: /usr/lib64/libjxl.so (found suitable version "0.11.1", minimum required is "0.7.0")
-- Found WebP: /usr/lib64/libwebp.so;/usr/lib64/libwebpmux.so (Required is at least version "0.3.0")
-- Building LibRaw from intree copy
-- Found LensFun: /usr/lib64/liblensfun.so
-- Found SQLite3: /usr/include (found suitable version "3.50.2", minimum required is "3.26")
-- Found GIO 
-- Found GThread: /usr/lib64/libgthread-2.0.so
-- Found GModule: /usr/lib64/libgmodule-2.0.so
-- Found PangoCairo: /usr/lib64/libpangocairo-1.0.so
-- Found Rsvg2: /usr/lib64/librsvg-2.so
-- Found ZLIB: /usr/lib64/libz.so (found version "1.3.1")
-- Found PNG: /usr/lib64/libpng.so (found version "1.6.53")
-- Found TIFF: /usr/lib64/libtiff.so (found version "4.7.1")
-- Found LCMS2: /usr/lib64/liblcms2.so
-- Found JsonGlib 
-- Found CURL: /usr/lib64/libcurl.so (found suitable version "8.15.0", minimum required is "7.56")
-- Found Exiv2: /usr/lib64/libexiv2.so (Required is at least version "0.27.2")
-- Looking for EXV_ENABLE_BMFF
-- Looking for EXV_ENABLE_BMFF - found
-- Exiv2 >= 0.27.4 found with ISOBMFF support (CR3, AVIF, HEIF)
-- Found PortMidi: /usr/lib64/libportmidi.so
-- Checking for module 'iso-codes'
--   Found iso-codes, version 4.18.0
-- Found Libsecret: /usr/include/libsecret-1;/usr/include/gio-unix-2.0;/usr/include;/usr/include/glib-2.0;/usr/lib64/glib-2.0/include;/usr/include/libmount;/usr/include/blkid;/usr/include/sysprof-6;/usr/include/p11-kit-1
-- Found GraphicsMagick 1.3.45
-- Performing Test GMIC_VERSION_OK
-- Performing Test GMIC_VERSION_OK - Success
-- Found GMIC 
-- Found ICU: /usr/include (found version "77.1") found components: i18n data uc
-- Performing Test HAVE_BUILTIN_CPU_SUPPORTS
-- Performing Test HAVE_BUILTIN_CPU_SUPPORTS - Success
-- Does the compiler support __builtin_cpu_supports(): 1
-- Performing Test HAVE_TLS
-- Performing Test HAVE_TLS - Success
-- Checking for -march=native support
-- Performing Test MARCHNATIVE
-- Performing Test MARCHNATIVE - Success
-- Lua support: Enabled
-- Found Pugixml 1.15
-- Map mode: enabled
-- Found Cups: /usr/lib64/libcups.so (found version "2.4.16")
-- Print mode: enabled
-- Signal debug: print-trace possible
-- Found X11: /usr/include
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- building darktable-cmstest with colord support. nice.
-- LibRaw string version: 0.22.0
-- LibRaw ID version:     0x0220
-- LibRaw SO version:     24.0.0
-- 
-- ----------------------------------------------------------------------------------
--  Libraw 0.22.0 configuration            <http://www.libraw.org>
-- 
--  Libraw will be compiled with OpenMP support .................. YES
--  Libraw will be compiled with LCMS support .................... NO
--  Libraw will be compiled with example command-line programs ... NO
--  Libraw will be compiled with RedCine codec support ........... NO
--  Libraw will be compiled with DNG deflate codec support ....... YES
--  Libraw will be compiled with DNG lossy codec support ......... NO
--  Libraw will be compiled with RawSpeed support ................ NO
--  Libraw will be compiled with debug message from dcraw ........ NO
--  Libraw will be compiled with Foveon X3F support .............. NO
--  Libraw will be compiled with Raspberry Pi RAW support ........ NO
--  Libraw will be compiled as a static library
-- ----------------------------------------------------------------------------------
-- 
Missing po4a-translate. Can NOT create translated manpages
Missing po4a-updatepo. Can NOT update manpage translations
-- The following features have been enabled:

 * OpenMP-based threading, used for parallelization of the library
 * XML reading, used for loading of data/cameras.xml
 * Lossy JPEG decoding, used for DNG Lossy JPEG compression decoding
 * ZLIB decoding, used for DNG Deflate compression decoding

-- The following OPTIONAL packages have been found:

 * FFI
 * LibEdit
 * zstd
 * LLVM
 * XMLLINT, command line XML tool, <http://xmlsoft.org/>
   Used for validation of data/cameras.xml
 * Gphoto2 (required version >= 2.5)
 * Imath
 * OpenEXR (required version >= 3.0)
 * JXL (required version >= 0.7.0)
 * WebP (required version >= 0.3.0)
 * libavif
 * libheif
 * PortMidi, Portable MIDI library, <https://github.com/PortMidi/portmidi>
   Used for hardware MIDI input devices
 * OpenJPEG
 * IsoCodes (required version >= 3.66)
 * Libsecret
 * GraphicsMagick
 * GMIC
 * ICU
 * Lua54 (required version >= 5.4)
 * OSMGpsMap
 * Colord
 * ColordGTK
 * Cups
 * SDL2, low level access to audio, keyboard, mouse, joystick, and graphics hardware, <https://www.libsdl.org/>
 * X11

-- The following REQUIRED packages have been found:

 * Gettext
 * GTK3 (required version >= 3.24.15)
 * LibXml2 (required version >= 2.6)
 * Threads
 * LensFun
 * SQLite3 (required version >= 3.26)
 * GIO
 * GThread
 * GModule
 * PangoCairo
 * Rsvg2
 * PNG
 * TIFF
 * LCMS2
 * JsonGlib
 * CURL (required version >= 7.56)
 * Exiv2 (required version >= 0.27.2)
 * Pugixml (required version >= 1.5), Light-weight, simple and fast XML parser, <http://pugixml.org/>
   Used for loading of data/cameras.xml
 * Glib
 * ZLIB, software library used for data compression
   Used for decoding DNG Deflate compression
 * JPEG, free library for handling the JPEG image data format, implements a JPEG codec
   Used for decoding DNG Lossy JPEG compression
 * OpenMP, Open Multi-Processing, <https://www.openmp.org/>
   Used for parallelization of the library

-- Configuring done (11.3s)
-- Generating done (2.3s)
-- Build files have been written to: /data/soft/darktable/build

Just saw you reply in my email spam.

Here are the steps I used to try to complie:

git clone GitHub - darktable-org/darktable: darktable is an open source photography workflow application and raw developer
cd darktable
git submodule init
git submodule update
git fetch --tags
git checkout tags/release-5.4.0

./build.sh --prefix /opt/darktable --build-type Release --install --sudo

I never used build.sh script, I prefer the canonical way - first configure with cmake, then run make to compile.