Failure to build on Fedora 42

I updated one of my workstations to Fedora 42 and tried to build Darktable, Rawtherapee and ART from latest sources as usual. They all failed with these errors:
Error: unknown pseudo-op: `.base64’

I did wipe the build dir, created a new one, ran cmake (no errors nor warnings) and then make.

OTOH the offical F42 package for darktable seems to be OK:
https://packages.fedoraproject.org/pkgs/darktable/darktable/

What am I doing wrong?

I added a patch for darktable on F42 in my own build, becaus of a deprecation with the latest gcc version.
It’s related to the inclusion of ciso646 in the open ext code. But I’m not sure my patch is correct, that’s why a PR is still pending on my side.
That’s the only failure I got on fedora 42. You can see my latest copy build here :
https://copr.fedorainfracloud.org/coprs/oleastre/misc/package/darktable-dev/
Note DT is patched to store data in a darktable-dev folder to avoid conflicts with the standard package

1 Like

I narrowed the issue down to dcraw code. DT, ART and RT all fail to compile it with gcc 15 on F42. Log from DT build:

cd /data/soft/darktable/build/bin/external/LibRaw-cmake && /usr/lib64/ccache/c++ -DDT_HAVE_SIGNAL_TRACE -DGDK_DISABLE_DEPRECATED -DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_24 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_MIN_REQUIRED -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_56 -DGTK_DISABLE_DEPRECATED -DGTK_DISABLE_SINGLE_INCLUDES -DHAVE_BUILTIN_CPU_SUPPORTS -DHAVE_CONFIG_H -DHAVE_GMIC -DHAVE_GPHOTO2 -DHAVE_GRAPHICSMAGICK -DHAVE_ICU -DHAVE_IMATH -DHAVE_ISO_CODES -DHAVE_KWALLET -DHAVE_LIBAVIF=1 -DHAVE_LIBHEIF=1 -DHAVE_LIBJXL -DHAVE_LIBRAW=1 -DHAVE_LIBSECRET -DHAVE_OPENCL -DHAVE_OPENEXR -DHAVE_OPENJPEG -DHAVE_PRINT -DHAVE_WEBP -DLIBRAW_NODLL -DLIBRAW_NOTHREADS -DNATIVE_ARCH -DSQLITE_CORE -DSQLITE_ENABLE_ICU -DUSE_COLORDGTK -DUSE_LUA -DUSE_ZLIB -DWITH_GZFILEOP -D_XOPEN_SOURCE=700 -I/data/soft/darktable/build/bin/external/LibRaw-cmake -I/data/soft/darktable/src/external/LibRaw-cmake -I/data/soft/darktable/src -I/data/soft/darktable/src/external/LuaAutoC -I/data/soft/darktable/src/external/LibRaw -isystem /data/soft/darktable/src/external -isystem /data/soft/darktable/src/external/OpenCL -isystem /usr/include/glib-2.0 -isystem /usr/lib64/glib-2.0/include -isystem /usr/include/gtk-3.0 -isystem /usr/include/pango-1.0 -isystem /usr/include/cloudproviders -isystem /usr/include/cairo -isystem /usr/include/gdk-pixbuf-2.0 -isystem /usr/include/webp -isystem /usr/include/at-spi2-atk/2.0 -isystem /usr/include/at-spi-2.0 -isystem /usr/include/atk-1.0 -isystem /usr/lib64/pkgconfig/../../include/dbus-1.0 -isystem /usr/lib64/pkgconfig/../../lib64/dbus-1.0/include -isystem /usr/include/fribidi -isystem /usr/include/libxml2 -isystem /usr/include/pixman-1 -isystem /usr/include/harfbuzz -isystem /usr/include/freetype2 -isystem /usr/include/libpng16 -isystem /usr/include/gio-unix-2.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/sysprof-6 -isystem /usr/include/lensfun -isystem /usr/include/librsvg-2.0 -isystem /usr/include/json-glib-1.0 -isystem /usr/include/openjpeg-2.5 -isystem /usr/include/libsecret-1 -isystem /usr/include/p11-kit-1 -isystem /usr/include/GraphicsMagick -isystem /usr/include/colord-1 -Wall -Wformat -Wformat-security -Wshadow -Wtype-limits -Wvla -Wmaybe-uninitialized -Wno-unknown-pragmas -Wno-error=varargs -Wno-format-truncation -Wno-error=address-of-packed-member -fopenmp -march=native -msse2 -g -mfpmath=sse -O3 -DNDEBUG -O3 -ffast-math -fno-finite-math-only -fexpensive-optimizations -std=c++17 -fPIC -Werror -Wfatal-errors -fopenmp -w -MD -MT bin/external/LibRaw-cmake/CMakeFiles/raw.dir/__/LibRaw/src/decoders/decoders_dcraw.cpp.o -MF CMakeFiles/raw.dir/__/LibRaw/src/decoders/decoders_dcraw.cpp.o.d -o CMakeFiles/raw.dir/__/LibRaw/src/decoders/decoders_dcraw.cpp.o -c /data/soft/darktable/src/external/LibRaw/src/decoders/decoders_dcraw.cpp /tmp/ccboMlkt.s: Assembler messages: /tmp/ccboMlkt.s:22399: Error: unknown pseudo-op: `.base64' /tmp/ccboMlkt.s:22401: Error: unknown pseudo-op: `.base64' /tmp/ccboMlkt.s:22403: Error: unknown pseudo-op: `.base64' /tmp/ccboMlkt.s:22405: Error: unknown pseudo-op: `.base64' /tmp/ccboMlkt.s:22406: Error: unknown pseudo-op: `.base64' /tmp/ccboMlkt.s:22407: Error: unknown pseudo-op: `.base64' /tmp/ccboMlkt.s:22412: Error: unknown pseudo-op: `.base64' /tmp/ccboMlkt.s:22419: Error: unknown pseudo-op: `.base64' /tmp/ccboMlkt.s:22420: Error: unknown pseudo-op: `.base64' /tmp/ccboMlkt.s:22421: Error: unknown pseudo-op: `.base64' /tmp/ccboMlkt.s:22426: Error: unknown pseudo-op: `.base64' /tmp/ccboMlkt.s:22427: Error: unknown pseudo-op: `.base64' /tmp/ccboMlkt.s:22428: Error: unknown pseudo-op: `.base64'

Solved: the failing system was my old F41 updated to F42. When I installed a fresh F42 I did not get any compilation errors. At least for ART, will try to rebuild DT and RT soon.

1 Like

I can build ART and RT on F42, but DT fails with:

[ 99%] Linking C shared module libxcf.so
In file included from /data/soft/darktable/src/common/darktable.h:82,
from /data/soft/darktable/src/common/colorspaces.h:21,
from /data/soft/darktable/src/imageio/format/imageio_format_api.h:32,
from :
/usr/lib/gcc/x86_64-redhat-linux/15/include/omp.h:448:1: error: template with C linkage
448 | template<typename __T, omp_allocator_handle_t __Handle>
| ^~~~~~~~
compilation terminated due to -Wfatal-errors.
make[2]: *** [lib64/darktable/plugins/imageio/format/CMakeFiles/exr.dir/build.make:79: lib64/darktable/plugins/imageio/format/CMakeFiles/exr.dir/exr.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:9097: lib64/darktable/plugins/imageio/format/CMakeFiles/exr.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs…
[ 99%] Linking C shared module libavif.so

This seems like its a change with GCC 15. Are you building master?

Yes, it is the master branch fully updated. F42 is also up-to-date.

fixed by fix GCC15 compile error by ralfbrown · Pull Request #18737 · darktable-org/darktable · GitHub

1 Like

Thanks a lot, I verified that DT builds now on my system after I manually applied the patch

fixed by fix GCC15 compile error by ralfbrown · Pull Request #18737 · darktable-org/darktable · GitHub

No commit on this issue as of today, I think.

It’s not “mine” though

1 Like

My post adjusted