Build DT 3.4 on Ubuntu 20.04

All,

I have made a script for building DT 3.4 on Ubuntu 20.04. It builds DT from the release-3.4.0 branch.

If interested, feel free to have a look at my Github page: https://github.com/per2jensen/dt-on-ubuntu

Many thanks to the DT developers for this nice (recurring) christmas gift :slight_smile:
/Per

5 Likes

Just a note that release-3.4.0 is a tag not a branch.

1 Like

Excellent, nice work, thank you :wink:

@Pascal_Obry would that be something we could add and track in the darktable repo?
Maybe in a seperate build script folder? This should make it less difficult for folks to run their own darktable build and not rely on those fragile SuSE builds, which nowadays have messed up dependencies, at least for Ubuntu 20.04.

Shameless plug:

$ git clone https://github.com/TurboGit/scbi.git
$ cd scbi
$ make

Then:

$ scbi darktable:release-3.4.0

If you want to build with CLang, just use the corresponding variant:

$ scbi darktable/clang:release-3.4.0

I’m using the SCBI project to build many softwares I depend on. One of them is having more than 80 dependencies built from sources.

There is a doc in Latex and quite a lot of options to support dev checkouts for example.

So, the script, the doc are still there somehow.

let’s all wait for the update of the ubuntuhandbook1 PPA.

1 Like

@Pascal_Obry
Ah, this is nice too! Does the dependency installation work across several Ubuntu versions too?

I don’t think so, I’m always building on a GNU/Debian sid machine, but we could have branches on this repo to keep track of versions.

I have put the latest doc version (v2.9) in PDF here: https://github.com/TurboGit/scbi/releases/download/v2.9/scbi.pdf

Why not maintain a list of packages for each distro-version? Either as external txt file or within the shell code directly and select the distro-dependency which matches with the lsb_release -d output?

Because this is a lot of work. While scripts like the one in the original post are great, they have a tendency to come and go, or be too distro specific.

Tracking all that stuff is tedious and the project is already low on devs.

If you’d like to step up and help, we are glad to have PRs to the darktable website repo.

Sure, if there is any way I can help getting those “free floating” scripts such as in the original post into something more maintainable I’d be glad.
I actually understood that @Pascal_Obry’s scbi would be such a framework which could maintain such lists, or maybe even directly in the darktable repo itself, where people using a specific Linux distro could contribute a dependency list specific for the respective package management system.

I was told the OBS package is updated already

correction: the stable snapshot package is on the 3.4.x branch now. release package is pending the tar.xz + signature file.

1 Like

I assume you mean the Open-SUSE OBS?
I just discovered that there was already an issue created due to this issue here:

But I have my doubts that this is the right place, as the repo rather looks like it’s meant only for the web application, not for the OBS build configuration. Do you know more about this?
How can we get in touch with the people who maintain the build configs? Or maybe even fix it ourselves?

well we build against ubuntu 20.04 there. and the dependencies are added automatically by the debian tooling and not manually by us.

on another note … the discussion there is totally wrong because it is about bugs for the software.o.o app itself.

Yes, I already thought so, but could you recommend another place to get in touch with people who maintain those OBS builds?

https://bugzilla.opensuse.org/enter_bug.cgi?product=openSUSE.org -> 3rd party software

1 Like

This should already be fixed. Please try again.

1 Like

@Pascal_Obry - thank you for catching the tag vs branch error.

The script now uses the branch: darktable-3.4.x
after the release the branch name will (probably) have to updated :slight_smile:

/Per

Thanks again for providing your script, I proposed some minor improvements via a PR and also added libgmic-dev and libavifile-0.7-dev as build dependencies to support building with new DT features.
CC: @asn

For current master version 0.7xxx is not sufficient. From the log :

The following OPTIONAL packages have not been found:
libavif (required version >= 0.8.2)