Thanks Andreas and for a quick response, but I need something really simple to follow like
"Here are the dependencies for ubuntu 18.04 -
libgtk-3-dev libxml2-utils libxml2-dev liblensfun-dev dada dada dada… " !
I’m assuming various people do this (but could be wrong…)
Just this one is better : https://redmine.darktable.org/projects/darktable/wiki/Building_darktable_26
And yes, it’s still works on actual master 3.1.0 as I use them. The only thing is to make sure to do the git submodule init one time on actual master to be sure to have OpenCL headers that have been moved in this master.
I ran the linked instructions but for 3.0.0 and everything went perfectly. At the end of the build I got:
To actually install darktable you need to type:
$ cmake --build "/home/dave/darktable/build" --target install -- -j4
I typed exactly that and got a complaint about privileges so I added “sudo.” Everything went perfectly so I assumed darktable was installed. How do I start darktable? In terminal I type “darktable” and it tells me I can install it with sudo apt install darktable but I suspect that will install from the Ubuntu repo? It doesn’t show up when I search using the Super key either. Running Linux Mint 19. This is the first time I’ve ever built darktable.
Is there a way, on Linux, to have the current stable version running alongside a self-built dev version? I want to continue using stable for my day-to-day editing but play with the latest version, and help testing people’s pull requests. I’ve had trouble getting OpenCL working in a VM and it would be great if I could get them both running simultaneously on my main machine.
Thanks @paperdigits. I’d naively assumed that would just put the darktable executable file itself at the new location. Does that also ensure the associated files (styles, libraries etc) are separated as well?
Is there a way to tell the dev version to look elsewhere for its database and other user files (i.e. somewhere other than ~/.config/darktable) or do I have to do that via a command-line option?
Ok so here’s what I did, after installing the prerequisites, in case anyone else wants to do this.
I think these steps are enough to keep the dev and stable builds separate.
I followed the ‘General Build’ instructions on https://redmine.darktable.org/projects/darktable/wiki/Building_darktable_26, but before I ran ./build.sh I amended it to set the variable INSTALL_PREFIX_DEFAULT to “$HOME/darktable-dev” (edit: there was a better way to do this: “./build.sh --prefix $HOME/darktable-dev”).
When I ran the install step I ran it as a normal user, to be absolutely certain I wasn’t interfering with anything from my existing installation.
I then ran darktable from the command-line, as follows:
I wasn’t sure what you meant. The main commands I ran were
git checkout release-3.1.0
git submodule init
git submodule update
./build.sh …
Is that everything I need to do pls?
“Compiler understands” errors
I had several, e.g.
– Performing Test C_COMPILER_UNDERSTANDS_-Wold-style-declaration
– Performing Test C_COMPILER_UNDERSTANDS_-Wold-style-declaration - Success
– Performing Test CXX_COMPILER_UNDERSTANDS_-Wold-style-declaration
– Performing Test CXX_COMPILER_UNDERSTANDS_-Wold-style-declaration - Failed
Also failed : Wthread-safety, Wno-error=address-of-packed-member
Is there anything to worry about here?
LLVM version
It looked for 9, 8, 7 and settled on 6 (“-- Found LLVM 6.0.0”) but at the same time did not seem happy with 6 -
" The following configuration files were considered but not accepted:
/usr/lib/llvm-6.0/cmake/LLVMConfig.cmake, version: 6.0.0"
Anything to worry about?
Json Schema
“-- Missing jsonschema, problems in noiseprofiles.json might go unnoticed”
Is this to be expected?
Rawspeed failures, CXX flags
e.g. “-- Performing Test RAWSPEED_HAVE_CXX_FLAG_WEXTRA_SEMI - Failed”
Also for : WMISSING_PROTOTYPES, WOLD_STYLE_CASTS, WSTRICT_PROTOTYPES, WTRADITIONAL
Anything to worry about?
Rawspeed source files missing?
“You have called ADD_LIBRARY for library rawspeed without any source files. This typically indicates a problem with your CMakeLists.txt file”
“You have called ADD_LIBRARY for library rawspeed_get_number_of_processor_cores without any source files. This typically indicates a problem with your CMakeLists.txt file”
??
Headers for OpenJpeg
“CMake Warning at cmake/modules/LibFindMacros.cmake:263 (message):
WARNING: MISSING PACKAGE
We could not find development headers for OpenJPEG. Do you have the
necessary dev package installed? This package is NOT REQUIRED and you may
ignore this warning but by doing so you may miss some functionality of
darktable.
Relevant CMake configuration variables:
OpenJPEG_INCLUDE_DIR=
OpenJPEG_LIBRARY=
You may use CMake GUI, cmake -D or ccmake to modify the values. Delete
CMakeCache.txt to discard all values and force full re-detection if
necessary.”
Various untranslated messages
e.g. “[ 0%] Building th locale
1621 translated messages, 557 fuzzy translations, 877 untranslated messages.”
Does this matter?
Built version is “3.1.0+dirty” What does the dirty signify?!
.cache .config folders
I followed @elstoc 's lead and used my own folders. Presumably I could have used the existing ones from my previous .deb install (folders simply called “darktable”) providing I had checked there would be no clash over ?database and ?xmp formats ?
I thought that as well but it automatically created a library and data db in the config directory I specified and didn’t touch my pre-existing databases when I launched it.