1

I'm having some trouble building this software. I'm in dialog with the devs at ffado (excellent piece of software which provides Linux firewire drivers and a nice mixer for pro audio production interfaces) on this and although they're exceedingly helpful, they're not Ubuntu users. I'm curious if from the Ubunbtu end, anyone may see what the issue with this installer may be?

I'm trying to track down what's missing in Xubuntu that prevents scons from being able to install this program. On the ffado website (.org), they only provide source code and no .deb installers. Also, the program cannot be installed from the terminal via sudo apt install etc. I'm guessing it's not in any ubuntu repos.

Interestingly the Ubuntu Software Center installer for this program works great, but it's an old version and although it works (installs and talks to the audio interface hardware), it has some bugs with Xubuntu 22.04. By bugs, I mean that it cannot recall saved settings. This is quite painful since it takes about 15 minutes to setup the mixer each time by hand. And duplicating routing and faders from screenshots isn't all that easy. The newer versions are supposed to remedy this.

Here's what I get when I try to compile from the extracted compressed folder downloaded from ffado's website.

n@n:~/libffado-2.4.9$ scons
scons: Reading SConscript files ...
Checking for a working C-compiler (cached) yes
Checking for a working C++-compiler (cached) yes
Checking for pkg-config (at least version 0.0.0)... (cached) yes
Checking for libxml++-3.0... (cached) no
Checking for jack... (cached) yes
Checking for jack < 1.9.0... (cached) no
Checking for jack >= 1.9.9... (cached) yes
Installed Jack Audio Connection Kit (JACK) supports FFADO setbuffersize API
Checking for libraw1394 (2.0.5 or higher)...    (cached) yes
Checking for libiec61883 (1.1.0 or higher)...   (cached) yes
Checking for libconfig++ (0 or higher)...   (cached) yes
Checking for libxml++-2.6 (2.13.0 or higher)...     (cached) yes
Checking for libxml++-2.6 >= 2.39.1... (cached) yes
Checking for libxml++-3.0 >= 3.0.0... (cached) no
Checking for lrint(3.2) in C library m... (cached) yes
Checking for lrintf(3.2) in C library m... (cached) yes
Checking for C function argp_parse()... (cached) yes
Checking whether 'which pyuic4' executes (cached) no
Checking whether 'which pyuic5' executes (cached) yes
Checking for the python module 'PyQt5' (cached) no

The prerequisites ('pyuic4'/'pyuic5' and the python-modules 'dbus' and 'PyQt4'/'PyQt5', the packages could be named like dbus-python and PyQt) to build the mixer were not found. Therefore the qt mixer will not be installed. Checking for alsa (0 or higher)... (cached) yes Checking for dbus-1 (1.0 or higher)... (cached) yes Checking for dbus-c++-1 (0 or higher)... (cached) yes Checking whether 'which dbusxx-xml2cpp' executes (cached) yes Checking for variable session_bus_services_dir in package dbus-1... (cached) yes Trying to find the system triple: (cached) yes Doing a debug build Detected DIST_TARGET = x86_64 User space is 64-bit Doing a 64-bit x86_64 build for Intel(R) Core(TM) i7-4770S CPU @ 3.10GHz Insufficient rights to install the system-wide dbus service file. Please run the "scons install" command with higher authority. scons: done reading SConscript files. scons: Building targets ... scons: `src' is up to date. support/tools/ffado-diag --static > support/tools/static_info.txt sh: 1: support/tools/ffado-diag: not found scons: *** [support/tools/static_info.txt] Error 127 scons: building terminated because of errors.

nick
  • 11
  • 3

2 Answers2

1

Although the critical error here is

sh: 1: support/tools/ffado-diag: not found

the earlier configuration errors concerning python modules

Checking whether 'which pyuic4' executes (cached) no
Checking whether 'which pyuic5' executes (cached) yes
Checking for the python module 'PyQt5' (cached) no

The prerequisites ('pyuic4'/'pyuic5' and the python-modules 'dbus' and 'PyQt4'/'PyQt5', the packages could be named like dbus-python and PyQt) to build the mixer were not found. Therefore the qt mixer will not be installed.

turn out to be the key. Searching in the scons cache/config.log file for the PyQt5 test we find

scons: Configure: Checking for the python module 'PyQt5'
cache/conftest_de2aaf510d3b26a2394b85a97cbead09_0.py <-
  |import PyQt5
/usr/bin/python cache/conftest_de2aaf510d3b26a2394b85a97cbead09_0.py
sh: 1: /usr/bin/python: not found
scons: Configure: no

which tells us scons is looking for /usr/bin/python - which doesn't exist by default since the deprecation of python2.71. This in turn comes from a configuration setting in the top-level SConstruct file:

("PYTHON_INTERPRETER", "Python interpreter to be used by FFADO installation.", "/usr/bin/python"),

)

This also explains the missing support/tools/ffado-diag file - since it appears to be generated from support/tools/ffado-diag.in using the inherited $PYTHON_INTERPRETER value.

You could of course edit the top-level SConscript file, however scons configuration variables may be overridden on the command line as described here, i.e.

scons PYTHON_INTERPRETER=/usr/bin/python3

You will likely need to clean the cached variables first using scons -c or scons -c -Q as recommended in the libffado README file.


1. although it can be restored for compatibility reasons if absolutely necessary - see for example python-is-python3 package in Ubuntu 20.04 - what is it and what does it actually do?

steeldriver
  • 142,475
-1

It's in the error message:

Insufficient rights to install the system-wide dbus service file.
Please run the "scons install" command with higher authority.

This means you need to run

sudo scons install

to run it as root, and enable making system-wide changes.

When prompted (by sudo), enter your login password.

waltinator
  • 37,856