Which LUA packages do I need to build dt for Ubuntu/Mint ?

The github readme for darktable tells me: " so make sure you have the lua interpreter and its development files (package lua-dev or lua-devel, depending on distributions) installed on your system while building or ensure the package you are using has been built with this library."

Synaptic has a rather large number of LUA-related packages, but, sadly, none of them is named ‘Lua’ or ‘Lua-dev’ or ‘Lua-devel’. Can I get some more specific guidance on which packages I need to install ?

You might try searching for “lua5.4”

liblua-versionNumber -dev

For Ubuntu kinetic, that would be

Yeah, that works; thank you; I’m grateful for your patience in answering what is obviously a very low value question - which brings me to one of my usual rants against the world (which is manifestly out of step with me):

As a novice in these matters I find that the information provided by those with knowledge and experience goes over the heads of people like me. The eetry from the darktable manual which I quoted is a great example. I know enough to know that computing is ‘exact’ - totally and unforgivingly exact, especially in the Linux environment, where correct character case is vital. I did not expect therefore that searching in Synaptic would return such arbitrary results, for example:
search for ‘lua’ : no result
search for ‘lua*’ : no result
search for ‘lua%’ : no result
search for ‘lua?’ : no result
search for ‘*lua’ : no result
search for ‘lua’ : no result
and so on.
But search for ‘liblua’ presents results NONE of which match the pattern ‘lua’
search for ‘lua5.4’ returns results NONE of which match the pattern 'lua

This is utterly confusing and frustrating to the neophyte - my first reaction on seeing the correct package name was “FFS, why didn’t the manual just tell me this?”

All of this could be avoided by explaining to us that, frequently, these package names start with ‘lib’ - which the extract I quoted would seem to exclude because the package name (being exact, of course) doesn’t start with ‘lib’.

Even more helpful would have been to tell me to search for a package name of the form ‘liblua5.', it being unlikely that developers would have moved onto 'liblua6.’ within the lifetime of version 4.4.2, surely?

Because the ma ual is written generally. Every distro has their own way of naming packages and its out of scope for us to keep a list of packages for every distro. You should learn your distro’s package naming convention.

We don’t have enough people writing the manual. In fact its mostly one person. That’s why the manual isn’t all the way up-to-date for 4.4.

We try to reduce the maintenance burden in the manuals as much as possible. Naming specific lua packages creates a burden since when the lua version changes, then that has to be updated.

At some point you just have to buckle down and figure it out for yourself. We add did it at some point of dealing with technology.

1 Like

When I tried the search for “lua” there was a remark saying there were too many results, and that some had been omitted.

The manual cannot tell you everything

  • versions change
  • different distributions can use slightly different names for the same package.
  • the “lib” part of the naming you refer to doesn’t always hold.

One thing you can of course always try in such cases: install a package that needs lua, your package manager should then alo load the required packages (or at least propose to do so, at worst tell you which packages are needed).

As for “novice/neophyte”: you’ve been here now for 5 years or so… and Linux has never been suited for those who want everything to be polished. So you can either stick with whatever version your distribution provides, or (if you want the latest versions) learn everything involved with compiling the source code. That includes interpreting error messages, learning how to find missing pieces, etc.
As you noticed, you will get help if you’re stuck. Answering that help with a rant (again) about the manual doesn’t inspire me to help again though (even though I’m not targetted here). I’ve had to learn how to solve such problems as well…

3 Likes

Beg pardon; it wasn’t a rant against the manual. I pick my targets with a certain level of exactitude (ineptitude ?). It was, as I said, a rant against the world, so not to be taken seriously and . please. most definitely not personally.

One must also be a student of ‘self-deprecating-ironic-sarcasm’ - a personality trait I just invented.

Yeah, I’ve been here for some years (not 5, yet) but, as I have claimed multiple times in the past, I’m a slow leaner. But quick enough to greatly benefit from all the help I get here (and where else, I wonder, could help of this degree be acquired?) such that now I’m able to compile dt in a couple of minutes from scratch and run ‘darktable --version’ (correction: ‘./darktable --version’) to find out how well I set up the compile environment.

In that regard, my latest compile does not have libheif support enabled, even though Synaptic tells me I have the development package, libheif-dev, at the latest level, installed. I’m trying to figure out why this ‘disabled’ state applies.

I had absolutely no idea of this variability in naming conventions - that’s a recipe for mild chaos, surely? And, as a corollary, I had no idea that my current chosen distro has specific package naming conventions. Certainly the release documentation makes no mention of this. I had believed that a package’s name was a constant, independent of the distro that makes it available. I live and learn (one quickly, the other painfully slowly).

I guess… Its never given me too much trouble personally.

You can see all the lua packages here: lua package versions - Repology

Did you try the commands listed in the Ubuntu section?

Yes I did - with some trepidation: the latest version of Ubuntu quoted is 20.10; my version of Mint is based on 22.04.

Ah! This isn’t fair: I’ll never escape from this place - there’s just too much to look at to not stay and look at it… But thank you anyway - it is invaluable.

As an example of the craft of the curator I find it quite amazing: how on earth do they keep up with this level of detail. It can’t be curated manually, surely?