Great news - RawTherapee switched to LibRaw. I finally can use lossless compressed files from Sony A7IV. Many thanks to @Lawrence37 (and @agriggio) for this work.
That is excellent news!
Not switched, but added. Sony lossless compression support is still incomplete: Issue #7140. Help is appreciated.
I built RT from latest sources and now can process lossless compressed files from Sony A7IV which previously could not.
I noticed for some reason the arm64 macOS build is not configuring libraw correctly. The x86_64 build seemed to not complain.
-- Configuring LibRaw
autoreconf: export WARNINGS=
'cp' '-p' '-R' '/Users/runner/work/RawTherapee/RawTherapee/rtengine/libraw' '.'
autoreconf: Entering directory '.'
'/bin/bash' '-l' '-c' 'autoreconf -v --install'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: configure.ac: not using Intltool
autoreconf: configure.ac: not using Gtkdoc
autoreconf: running: /opt/homebrew/Cellar/autoconf/2.72/bin/autoconf
configure.ac:11: error: possibly undefined macro: AC_PROG_LIBTOOL
If this token and others are legitimate, please use m4_pattern_allow.
-- Configuring incomplete, errors occurred!
See the Autoconf documentation.
configure.ac:12: error: possibly undefined macro: AC_ENABLE_SHARED
configure.ac:13: error: possibly undefined macro: AC_ENABLE_STATIC
configure.ac:14: error: possibly undefined macro: AC_LIBTOOL_WIN32_DLL
configure.ac:15: error: possibly undefined macro: AC_LIBTOOL_SETUP
autoreconf: error: /opt/homebrew/Cellar/autoconf/2.72/bin/autoconf failed with exit status: 1
CMake Error at rtengine/LibRaw.cmake:51 (message):
Could not generate LibRaw configuration script
Call Stack (most recent call first):
rtengine/CMakeLists.txt:268 (include)
I think it’s because I needed the -DWITH_SYSTEM_LIBRAW
directive. Indeed I now have it working in macOS CI: build for arm64 by Benitoite · Pull Request #7132 · Beep6581/RawTherapee · GitHub
I’ve also updated MacOS - RawPedia
I am having problems with the dev build on Linux Mint 21.3
I first got the following error:
-- Configuring LibRaw
'cp' '-p' '-R' '/home/richardt/programs/code-rawtherapee/rtengine/libraw' '.'
'/bin/bash' '-l' '-c' 'autoreconf -v --install'
/bin/bash: line 1: autoreconf: command not found
CMake Error at rtengine/LibRaw.cmake:51 (message):
Could not generate LibRaw configuration script
Call Stack (most recent call first):
rtengine/CMakeLists.txt:268 (include)
I then installed autoconf using sudo apt-get install autoconf
However the build still failed:
Program name: rawtherapee
Build type: release
Build without updating: false
-- WARNING: gcc 11.4.0 is known to miscompile RawTherapee when using --ffp-contract=fast, forcing the option to be off
-- CMAKE_BUILD_TYPE: release
-- searching for library exiv2 in /usr/lib/x86_64-linux-gnu
-- result: /usr/lib/x86_64-linux-gnu/libexiv2.so
-- Checking for module 'libjxl'
-- No package 'libjxl' found
-- Checking for module 'libjxl_threads'
-- No package 'libjxl_threads' found
-- searching for library lensfun in /usr/lib/x86_64-linux-gnu
-- result: /usr/lib/x86_64-linux-gnu/liblensfun.so
-- Configuring LibRaw
'cp' '-p' '-R' '/home/richardt/programs/code-rawtherapee/rtengine/libraw' '.'
'/bin/bash' '-l' '-c' 'autoreconf -v --install'
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: configure.ac: not using Intltool
autoreconf: configure.ac: not using Gtkdoc
autoreconf: running: /usr/bin/autoconf
configure.ac:11: error: possibly undefined macro: AC_PROG_LIBTOOL
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:12: error: possibly undefined macro: AC_ENABLE_SHARED
configure.ac:13: error: possibly undefined macro: AC_ENABLE_STATIC
configure.ac:14: error: possibly undefined macro: AC_LIBTOOL_WIN32_DLL
configure.ac:15: error: possibly undefined macro: AC_LIBTOOL_SETUP
autoreconf: error: /usr/bin/autoconf failed with exit status: 1
CMake Error at rtengine/LibRaw.cmake:51 (message):
Could not generate LibRaw configuration script
Call Stack (most recent call first):
rtengine/CMakeLists.txt:268 (include)
@RichardT Do you have all the deps installed?
sudo apt install git build-essential cmake curl pkg-config libgtk-3-dev libgtkmm-3.0-dev liblensfun-dev librsvg2-dev liblcms2-dev libfftw3-dev libiptcdata0-dev libtiff5-dev libcanberra-gtk3-dev libexiv2-dev
https://rawpedia.rawtherapee.com/Linux#Debian/Ubuntu/Mint/elementary_OS
richardt@Pavilion:~ $ sudo apt install git build-essential cmake curl pkg-config libgtk-3-dev libgtkmm-3.0-dev liblensfun-dev librsvg2-dev liblcms2-dev libfftw3-dev libiptcdata0-dev libtiff5-dev libcanberra-gtk3-dev libexiv2-dev
[sudo] password for richardt:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
build-essential is already the newest version (12.9ubuntu3).
libexiv2-dev is already the newest version (0.27.5-3ubuntu1).
libfftw3-dev is already the newest version (3.3.8-2ubuntu8).
libgtkmm-3.0-dev is already the newest version (3.24.5-1build1).
liblcms2-dev is already the newest version (2.12~rc1-2build2).
pkg-config is already the newest version (0.29.2-1ubuntu3).
libiptcdata0-dev is already the newest version (1.0.5-2.3ubuntu1).
liblensfun-dev is already the newest version (0.3.2-6).
cmake is already the newest version (3.22.1-1ubuntu1.22.04.2).
curl is already the newest version (7.81.0-1ubuntu1.16).
git is already the newest version (1:2.34.1-1ubuntu1.11).
libcanberra-gtk3-dev is already the newest version (0.30-10ubuntu1.22.04.1).
libgtk-3-dev is already the newest version (3.24.33-1ubuntu2.2).
librsvg2-dev is already the newest version (2.52.5+dfsg-3ubuntu0.2).
libtiff5-dev is already the newest version (4.3.0-6ubuntu0.9).
The following package was automatically installed and is no longer required:
libopenshot25
Use 'sudo apt autoremove' to remove it.
0 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.
My steps on Fedora are (after installing the required deps):
git clone https://github.com/Beep6581/RawTherapee.git
cd RawTherapee
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j `nproc`
If cmake complains about missing packages I may need to install them manually if I want that functionality.
If my build dir is too old compared to fresh changes in RT sources I delete the build dir, recreate it and rerun cmake.
I guess on Mint the steps should be similar.
I do the following:
cd ~
rm -rf /home/richardt/programs/*
wget https://raw.githubusercontent.com/Beep6581/RawTherapee/dev/tools/build-rawtherapee -O build-rawtherapee
chmod +x build-rawtherapee
./build-rawtherapee
Edit:
Once I have a successful build, I have a cron job which is run 3 times a day and it executes the script ~/programs/code-rawtherapee/tools/build-rawtherapee
. Looking at the log files that script ran successfully until 20:00 BST yesterday when the autoreconf
error first appeared.
You rely on the build-rawtherapee script to be up-to-date. Apparently it is not the case right now. While the steps I listed above are the official way to build RT from sources and they usually work.
The automatic build script should still work.
I see the error is configure.ac:11: error: possibly undefined macro: AC_PROG_LIBTOOL
A quick internet search indicates this may happen because libtool is not installed.
Thank you @Lawrence37 - I ran the following commands:
sudo apt-get update
sudo apt-get install libtool
The build script then successfully built the RT executables. I have briefly run up the UI and it appears to be working OK.
Perhaps the dependencies on the Wiki page need to be updated to include autoconf
and libtool
.
Indeed adding automake and libtool I think fixed the Mac build, and I’ve updated the macOS compilations instructions on rawpedia.
@Lawrence37 and others here: which new raw format is enabled by the internal libraw? I’d like to run a test of it.
I figured out this enables some newer sony formats like the A7iv. (now reading this info was in the top post. doh.) I found a sample on dpreview since raw.pixls.us seems down (Attn: @patdavid) . As you can see it didn’t get the camera name right:
note: DCPs and camconst.json entries from ART by Lawrence37 · Pull Request #7141 · Beep6581/RawTherapee · GitHub does not fix this.
Also note RawTherapee/README.md at dev · Beep6581/RawTherapee · GitHub will have to be updated to reflect the addition of libraw.
Images from my Sony A7IV are displayed correctly as SONY ILCE-7M4.
Are you able to provide a sample raw for testing? (My usual source raw.pixls.us is down)
What is meant by “merged into”?
As far I know, RT has used LibRaw for quite some time. I could be wrong - never really paid that much attention. Was it DCRaw before?
The context in which the merge took place is the software development protocol known as git
, a type of version control system. What happened was a while ago, the developer created a feature “branch” from the base code repository to work on integrating libraw into RawTherapee. That feature branch was recently “merged” into the main code base, a branch called dev
, which is now under test. The process by which this merge happens is called a “pull request”. When the pull request is approved by the repository owner, the code changes merge into the appropriate branch as indicated in the pull request.
Before the merge RT used only DCRaw. Now LibRaw is added which allowed to support more cameras formats (like lossless compressed from Sony).