What happened with the OBS builds?

Ubuntu 22.10 has been added to.

1 Like

@asn , @darix , anyone, I just confirmed to myself that I can’t build DT any more on Ubuntu 20.04 LTS due to the cmake 3.18 version.
This is a real pain for people like me for whom upgrading the OS is time consuming and a risk and utterly unwelcome. Also Ubuntu 22 is relatively new and probably still settling down.
If I understand correctly, cmake is the compiler and some tools. Is it really necessary to go to a new version for rawspeed? I’m guessing the rest of DT can still be built using cmake 3.16.3.
Is it possible we can ask the relevant devs for a rawspeed that still builds with 3.16.3?

relatively new … 22.04 is over 6 months out … that is not new anymore. also it was not us who changed the code. so not sure why you address us.

The LTS is from ubuntu, not from anyone who happens to make an application.

If you want to ask, then ask. Don’t ask to ask and don’t ask someone else to do it for you.

Push come to shove, you can build a flatpak, appimage, or maybe a snap.

I was asking here because this affects DT users here, and was hoping to get some feel for what might be possible. There’s nothing necessarily wrong with asking to ask, it can also be called discussion.

I’ve created an Issue - The change to needing cmake 3.18 prevents building darktable under Ubuntu 20.04 · Issue #400 · darktable-org/rawspeed · GitHub
Is that a suitable place?

Yes.

Btw, you can equally ask Ubuntu why they didn’t backport at least 3.18.4 from impish to focal-updates/focal-backports since Debian 10 has it backported already, and so does Debian 11…

1 Like

I just upgraded from Linux Mint 20.3 to 21 yesterday. Very smooth via mintupgrade. Darktable master via OBS just works.

2 Likes

Thanks, I plan to do it this weekend.

seems this change made it into 4.2.0

Yep, just did the same. Fairly smooth. It knocked Darktable back to version 3.8, but I immediately upgraded it to 4.2 from the OBS. Working now.

Only annoying thing is high cpu usage from an indexing daemon called tracker3 that they installed. If it doesn’t settle soon it will get ripped out.

I’m still using ubuntu 20.04 with cmake 3.16.1 and I can compile just fine (I have one in progress right now). I get deprecation warnings about the C compiler being version 9.4.0, but that is the only issue.

I’m on 22.10, the build and the OS in general are OK. OpenCL works with Nvidia. I use KDE.

1 Like

rawspeed requires/required cmake 3.18 so we dropped the distro. And this is still the case in HEAD of the 4.2.x branch:

src/external/rawspeed/CMakeLists.txt
1:cmake_minimum_required(VERSION 3.18)

Please check if it really still builds if you drop your build directory and run cmake from scratch.

Never mind, I forgot that I had built and installed cmake version 3.22 in /usr/local. I just queried the installed and 3.16.1 showed up so I assumed that was the version I was using. Sorry for the noise.

Thanks @kofa , I’ll have to see about upgrading to 22.10.

@wpferguson , so it’s possible to build DT if you make your own cmake, yes? Is this hard (for “basic” user) ? Are you able to post up the recipe pls?! Is doing this a risk to system integrity, e.g. having non-standard versions of things? Will a subsequent sudo apt upgrade go wrong?!

Here’s a link to the cmake tarball I used, https://drive.google.com/file/d/1s0gUSQ-tBvN4g65UHIF_CGfDHoBhre_3/view?usp=share_link. Download it and extract it. Go into the directory and do ./bootstrap && make && sudo make install. It gets installed in /usr/local. You can check that it’s getting used by doing a cmake --version.

Thank you, downloaded. I’ll see about running this, still a bit concerned about it possibly causing a conflict somewhere in Ubuntu etc.

So you won’t overwrite anything shipped by the distro. /usr/local is for locally built/deployed packages.

I actually build to my home directory, so I don’t need root rights, and there is no way for the build to touch the distro files.

The attached shell script assumes that darktable master is checked out to darktable directly in my home directory; it places the compiled files in darktable-master.
bdtm.txt (746 Bytes)
Rename the file to bdtm (build darktable master), make it executable, add it to the path (or put it in a directory of your choice and invoke it using your_directory/bdtm). You’ll need to check out the darktable source code using git clone.

@kofa , thanks.
When I read your post I thought bdtm.txt might do everything, including setting up a new CMAKE, however having looked at bdtm.txt, I can’t see how it would do that. So I think I need to do @wpferguson 's process first. Is that correct pls?

My script does not deal with installing cmake or any other dependency, as those are one-off activities, plus I’m on 22.10.

Running and building bleeding-edge software on a distro targeting stability is a kind of contradiction.
You can make your life easier, though, by installing a new version of cmake using a PPA (personal package archive). Once you add the PPA to your machine’s software repositories, you can just use the regular ways to install and upgrade software; you won’t have to build cmake separately.

When you upgrade your distro (e.g. to 22.10), the upgrade procedure will disable PPAs to avoid conflicts.

So, to install a new version of cmake, either

The risk is that if the PPA gets abandoned, and newer versions appear, there may be dependency conflicts. However, I’ve used PPAs for years, and did not really run into problems.