Looking for best practices when installing libraries for build

My Story:
In preparation for my eventual retirement, I have started taking music theory lessons, bought a keyboard, and eventually found Ardour. I am jazzed about Linux and Ardour, and have been an open source advocate for many years, and eventually see myself as a contributor to Ardour. Recently, I built myself a tower with the Linux Mint client on it, and am hoping to be able to do EVERYTHING on it (I have found mint to be the least frustrating for this nube, thus far). Currently, I am a web developer (rails) working on a mac, and deploying to Centos, so it shouldn’t be a big deal learning to be a contributor.

What I would like help on:
I think I am missing a few basic things. I was hoping that someone could give me a pointer to a developers guide, and/or some help on my questions below:

Questions:

  • When a library is missing from the ‘waf configure’, how do I know how and where to get it? For example I tried apt install alsa, then apt search alsa, and then tried installing alsa-base and alsa-source to no avail (no alsa). I found a topic (Ubuntu user seeks help building this software - accepting any he can get), installed as many as I could, and that magically’ apt configure’ no longer says alsa is missing. As I continue with the ‘waf configure’, I am randomly installing packages that look like they would solve the problem, especially if they end in -dev, however, I can’t imagine that being a generally good approach. Any advice?

  • The Ardour build dependencies page (Ardour - Nightly Builds) lists a lot of libraries with tar downloads. For work, I have been doing yum installs or brew installs, to pull down the latest software, and rely on library management tools for the software I work on. So far, I have been doing apt installs to get the software as I talk about above. I am concerned that even though the ‘waf configure’ might say things are OK, by not using the exact libraries on the download page, I am setting myself up for trouble, and eventually would have problematic pull requests. Should I downloading the exact library versions, and regularly referring to the downloads page to ensure I have the correct libraries?

Thanks,
Dave

You should ignore the information on the build dependencies page, because you are not likely to want to build and install libraries that your system’s package/software manager can provide.

Somebody provided nice instructions here: How to build Ardour 6 on Ubuntu 20 | Viktor Smári

We can’t provide (much) support for the version you build in this way (ditto for the version provided by Ubuntu). But it’s pretty straightfoward, and given that we don’t provide any hand-holding for the entire-from-scratch-build-the-entire-dependency-stack process either, it is likely the best path.

2 Likes

to use the libraries to build software from sources, you have to install the corresponding “-dev” packages.

How to know (in general, valid for any software):

  1. run configure;

  2. write down (copy-paste…) the list of missing dependencies;

  3. search for which package provides them; from a terminal, for each missing dependency give the command:
    apt search name
    (replace “name” with the name of the missing software / library);

  4. from the system package manager, search and install the corresponding “-dev” package;

repeat until all dependencies are satisfied.

If there’s something you can’t find with apt search, maybe the package name is somewhat different from what reported from configure or (less likely) it is not available. In such a case Google fot the missing dep. name, adding “Ubuntu” to the search string(s)

N.B.: I say Ubuntu 'cause Mint is strictly based on Ubuntu; apart from the GUI and a few other addedd or replaced packages, it’s basically the same thing.

Hope it helps.

That said, perhaps you can also find some more specific instruction on the web… try googling “build Ardour on Ubuntu” (or Mint, or Linux).

thanks for the awesome information.