Delighted and immensely grateful, in equal measure, to see dt 5.4.0 available. It’s just so impressive, given that I have no way of appreciating how much unrewarded private time and effort, from who-knows how many people around the world, goes into making dt available to people like me. However, this means that I am going to have to endure the semi-annual pain, suffering and intense frustration of battling through 2 or 3 days of “svelte, jungle, crud and gumba” (trade-marked, Mad Magazine, ca. 1961) to build it from source.
In today’s exciting episode I got as far through the git-hub README on the subject as ‘Building’>’Dependencies’>’Ubuntu’ before it all came apart: the command ‘sed -e '/^#\sdeb-src … ‘ completed with the inscrutable notification :
“E: You must put some ‘deb-src’ URIs in your sources.list’.
This is in the classic style: a notification created by a subject matter expert for a subject matter expert who, by definition, does not need it. But for me it is unfathomable. Go on – give us a clue – how many URI’s are required, where do I get them from, how are they architected, what should they contain (aside, most probably, from having the structure of a URL but with ‘L’ part unknown).
In the meantime I proceeded with the build process as described in the README; the git clone step completed with:
"
Fetching submodule src/external/rawspeed
From GitHub - darktable-org/rawspeed: fast raw decoding library
- [new tag] v3.6 → v3.6
Fetching submodule src/tests/integration
fatal: remote error: upload-pack: not our ref ca181ebbfdb0517625cb681f957798877ba01843
fatal: remote error: upload-pack: not our ref 4d350a23ca2cbde7031b0a9be59a4addc01ae9a5
Errors during submodule fetch:
src/tests/integration
src/external/rawspeed
Note: switching to ‘tags/release-5.4.0’."
I don’t see that this my error -is it? Anyway, how do I recover?
Next, why do I end up with two copies of the source, one embedded within the other, when I use/extract the project’s tarball, as exhorted so to do, and I also follow the git clone step, as advised?
Finally, quoting from the README:
"darktable provides a shell script that automatically takes care of building on Linux and macOS for classic cases in a single command.
./build.sh --prefix /opt/darktable --build-type Release --install --sudo
This builds the software for your architecture only, with:
-O3 optimization level,
SSE/AVX support if detected,
OpenMP support (multi-threading and vectorization) if detected,
OpenCL support (GPU offloading) if detected,
Lua scripting support if detected.
The last item - ‘Lua scripting support’ - is notable: who is doing this ‘detecting’ and what exactly are they looking for? I suspect that unless I do something, which is not explicitly stated here, dt will be compiled without Lua scripting support. How do I ensure this is not so?