Libsuil conflict with Ardour from Debian

This is off-topic, as it is not related to the official Ardour, so no support really expected, but just in case anyone has any ideas…

I install Ardour from the Debian Sid official repository, since the official version does run with the --gdb flag, and I wanted to help debug problems with the NAM UI plugin.

Fortunately, it seems that the bug has been resolved, but I noticed I cannot open the GUI for it with the Ardour from Debian. No window would show up and I’d get messages:

suil error: Failed to open module /opt/kxstudio/lib/suil-0/libsuil_x11_in_gtk2.so (/opt/kxstudio/lib/suil-0/libsuil_x11_in_gtk2.so: cannot open shared object file: No such file or directory)

I found out I had two versions of libsuil-0-0 installed, from Debian (libsuil-0-0) and from KXStudio (libsuil-kxstudio), as the error message suggests. I tried purging the KXStudio’s one and reinstalling the Debian one, but I still get the error message.

Here is the content of the directory of the error message:

 # ll
Permissions Size User Group Date Modified Name
drwxr-xr-x     - root root  19 Apr  2021  cmake/
drwxr-xr-x     - root root   2 Aug  2022  pkgconfig/
.rw-r--r--  5.1M root root  24 Apr  2022  libfftw3.a
.rw-r--r--   59k root root  24 Apr  2022  libfftw3_threads.a
.rw-r--r--  5.2M root root  24 Apr  2022  libfftw3f.a
.rw-r--r--   59k root root  24 Apr  2022  libfftw3f_threads.a
.rw-r--r--  229k root root  17 Apr  2022  libFLAC++.a
.rw-r--r--  569k root root  17 Apr  2022  libFLAC.a
.rw-r--r--  183k root root  17 Apr  2022  liblo.a
.rw-r--r--   36k root root  11 May  2020  libltc.a
.rw-r--r--  693k root root  17 Apr  2022  libmp3lame.a
.rw-r--r--  540k root root  28 May  2022  libmpg123.a
.rw-r--r--   50k root root  17 Apr  2022  libogg.a
.rw-r--r--  1.0M root root  17 Apr  2022  libopus.a
.rw-r--r--  144k root root  28 May  2022  libout123.a
.rw-r--r--  1.5M root root  17 Apr  2022  libsamplerate.a
.rw-r--r--  1.4M root root  28 May  2022  libsndfile.a
.rw-r--r--  340k root root  28 May  2022  libsyn123.a
.rw-r--r--  333k root root  17 Apr  2022  libvorbis.a
.rw-r--r--  1.2M root root  17 Apr  2022  libvorbisenc.a
.rw-r--r--   58k root root  17 Apr  2022  libvorbisfile.a
.rw-r--r--   42k root root  14 Sep  2019  libzita-convolver.a
.rw-r--r--  335k root root  14 May  2020  lv2vst.so

I don’t really use Debian’s Ardour (although I might need it for debugging occasionally), so it is not a big deal, but it bugs me (pun not intended) that this problem might be an indication that something is wrong in my system that might cause me other problems.

So, if anyone has any idea of what the issue is, I’d really appreciate some guidance.

How did you purge libsuil-kxstudio? And which directory contents did you post?

With

# apt remove --purge libsuil-kxstudio

It was /opt/kxstudio/lib/.

Let me know if anything else would be relevant.

Thanks! I think you also need to purge the following packages:

  • libsuil-static
  • suil-static

Thanks for the reply!

Those were not installed and had no residual configuration…

I did find out that suil-libs had some residual configuration:

# apt search suil
Sorting... Done
Full Text Search... Done
jalv/focal 6:1.6.6-1kxstudio1 amd64
  tool to run LV2 plugins as stand-alone applications

libsuil-0-0/unstable,now 1:0.10.20-dmo1 amd64 [installed]
  library for loading and wrapping LV2 plugin UIs (shared library)

libsuil-dev/unstable 1:0.10.20-dmo1 amd64
  C library for loading and wrapping LV2 plugin UIs (development files)

libsuil-kxstudio/focal 6:0.10.12-1kxstudio3 amd64
  library for loading and wrapping LV2 plugin UIs

libsuil-static/focal 6:0.10.12-1kxstudio3 amd64
  library for loading and wrapping LV2 plugin UIs (static)

suil-libs/bionic,now 5:0.10.4+git20190808.3 amd64 [residual-config]
  library for loading and wrapping LV2 plugin UIs

suil-static/bionic 5:0.10.4+git20190808.3 amd64
  library for loading and wrapping LV2 plugin UIs (static)

But purging it did not help. But, in fact, that is the package that Debian’s Ardour needs to open plugin windows…

Note that libsuil-0-0 is coming from the deb-multimedia.org, not the official Debian repository, but installing Debian’s version did not help either…

I suppose I could install KXStudio’s suil-libs whenever I need to debug something with Debian’s Ardour…

Hi,
the libsuil-kxstudio package will not install its contents under “/opt” and therefore won’t remove or purge anything in that directory. (https://github.com/KXStudio/Repository/blob/master/sources/libs/suil-static/debian/libsuil-kxstudio.install)
I don’t know how you did get that installation. Maybe an installer of some other software bundle brought it to your system?
Imho, there is no reason at all to use the dmo repos other than liking to shoot yourself into your foot.

I don’t really know how much Debian-specific quality control goes in to the KX Studio repository these days in general and they have never been intended to work with Sid… Dmo is kind of a Debian Multimedia rogue state and does it’s own thing… Mixing repositories in Debian is always a roll of the dice, at the level of Sid the curves get icy very quickly…

If other sequencers work properly with the version of libsuil that is in Sid then you shouldn’t need to worry about your system in general, you don’t even need suil installed at all for Ardour’s bundled binaries since they provide it.

Thanks novalix and Glen for the replies. And sorry for the delay… I’ve been quite busy at work these days.

As I’ve mentioned above, the package in question is suil-libs, and I tested and it does install files, including the necessary lib mentioned in the error message, in /opt. Unfortunately, apt-file list does not work with these KX Studio packages, but I swear, it does install in /opt.

Maybe the repositories need to be updated?\

libsuil-kxstudio/focal 6:0.10.12-1kxstudio3 amd64
  library for loading and wrapping LV2 plugin UIs

libsuil-static/focal 6:0.10.12-1kxstudio3 amd64
  library for loading and wrapping LV2 plugin UIs (static)

suil-libs/bionic 5:0.10.4+git20190808.3 amd64
  library for loading and wrapping LV2 plugin UIs

suil-static/bionic 5:0.10.4+git20190808.3 amd64
  library for loading and wrapping LV2 plugin UIs (static)

I’ve followed the instructions on how to add the repos, but (I think) never changed them myself. It still has some bionic repos.

I use them mostly for avidemux, which is not in the Debian repos.

This is most likely true, but a long time ago, when I first asked about it, I believe FalkTX actually said it should probably be OK.

This is true. But I’ve been using the DMO repo for over 15 years in many systems, and never had a real problem. Minor problems were solved very quickly, and happened only two or three times in all these years. (In this particular case, I am pretty sure that DMO is not the source of the problem.)

Again, thanks for your comments!

If the suil-libs package installs stuff in /opt, it is broken (at least, when the FHS does still count a bit). If it does not uninstall those contents when removed, it is severely broken. BTW, have you tried to purge this package, at all?

The debian ardour package does definitely not rely on libraries in /opt installed by a package from a third party repo. The only way i can imagine this happening would be by following symlinks in the canonical location to the opt directory.

The dmo repo adds epochs to its packages, so the package management considers them more up to date than those of the main repo, regardless if that is the case or not. Sometimes the dmo packages break compatability with software from main. To avoid flooding your system with third party libraries, pin down the dmo repo so that its packages get installed only when you explicitly request it. If avidemux is the only software you want to use from this repo, you don’t need any of the libraries, for sure not libsuil.

Yes, I had already purged it, and Ardour was still looking for the library there, and that’s why I could not open the plugins’ GUIs. And purging it indeed removes the package’s content in /opt, so, at least, it is not that broken.

That’s exactly what I thought, but I am not sure what symlink it is following…

Thanks for that comment. Apparently DMO’s audacity depends on libsuil-0-0 (from DMO). But it is not the source of the problem, as I purge it and installed the one from Debian, and the problem remains. (Moreover, it does not install in /opt. It seems to be a KX Studio problem…)

Thanks again!

Note that with the upcoming Ardour 8.3 release this won’t be an issue anymore.

Starting 8.3 Ardour no longer depends on distro-provided gtk2 (since many GNU/Linux distros, notably debian, will remove it). From 8.3 onwards Ardour will provide a x11-in-gtk2 suil replacement.

3 Likes

On debian sid for libsuil should be the following content.

/usr/lib/x86_64-linux-gnu/libsuil-0.so → symlink to libsuil-0.so.0
/usr/lib/x86_64-linux-gnu/libsuil-0.so.0 → symlink to libsuil-0.so.0.10.20
/usr/lib/x86_64-linux-gnu/libsuil-0.so.0.10.20 → the library file
/usr/lib/x86_64-linux-gnu/suil-0/libsuil_x11.so
/usr/lib/x86_64-linux-gnu/suil-0/libsuil_x11_in_gtk2.so
/usr/lib/x86_64-linux-gnu/suil-0/libsuil_x11_in_gtk3.so
/usr/lib/x86_64-linux-gnu/suil-0/libsuil_x11_in_qt5.so

so all symlinks for libsuil should point at least to /usr/lib/x86_64-linux-gnu/libsuil-0.so.0.10.20

You could check your content with
find /usr/lib L -ls | grep 'libsuil'

2 Likes

Thanks @brummer for the suggestion!

It seems that all is in order, though:

$ sudo find /usr/lib -ls | grep 'libsuil'
[sudo] password for finotti:
  5899002     20 -rw-r--r--   1 root     root                18624 Oct 23 02:36 /usr/lib/x86_64-linux-gnu/libsuil-0.so.0.10.20
  5899132      0 lrwxrwxrwx   1 root     root                   20 Oct 23 02:36 /usr/lib/x86_64-linux-gnu/libsuil-0.so.0 -> libsuil-0.so.0.10.20
  7544211     24 -rw-r--r--   1 root     root                22888 Oct 23 02:36 /usr/lib/x86_64-linux-gnu/suil-0/libsuil_x11_in_qt5.so
  7544209     24 -rw-r--r--   1 root     root                22976 Oct 23 02:36 /usr/lib/x86_64-linux-gnu/suil-0/libsuil_x11_in_gtk2.so
  7544210     24 -rw-r--r--   1 root     root                22984 Oct 23 02:36 /usr/lib/x86_64-linux-gnu/suil-0/libsuil_x11_in_gtk3.so
  7544208     16 -rw-r--r--   1 root     root                14184 Oct 23 02:36 /usr/lib/x86_64-linux-gnu/suil-0/libsuil_x11.so

No links point to /opt