You are not logged in.
Pages: 1
It seems that the recent upgrade to libinstpatch has caused the Calf plugins to be unable to load.
lilv_lib_open(): error: Failed to open library /usr/lib/lv2/calf.lv2/calf.so (/usr/lib/libinstpatch-1.0.so.2: undefined symbol: g_string_free_and_steal)
Offline
Please post this:
$ pacman -Qs "ardour|calf|^linux$|^glib2$"
sys2064
Offline
I was having the same issue but with Carla. Here was my solution (WARNING: DON'T DO THIS ON A HOST SYSTEM):
sudo pacman -U https://archive.archlinux.org/packages/l/libinstpatch/libinstpatch-1.1.6-1-x86_64.pkg.tar.zst
This will downgrade libinstpatch to a version before the current one (which is 1.1.6-2 at the time of writing). If done on a host system, this can conflict with other tools that may utilize this library, which is why I strongly advise that you only ever perform operations like this inside of containers. If a system tool relies on it (unlikely with an instrument-related library in all honesty), your system may fail to boot. Fortunately, I already use Ardour in an Arch-based podman container (so it isn't removed after updates on SteamOS), so I could safely test that, and it makes Carla work perfectly as an LV2 plugin in Ardour again.
You can see in the archives that an update was released just a week ago (https://archive.archlinux.org/packages/l/libinstpatch). The update just prior (1.1.6-1) worked fine. Clearly something happened between 1.1.6-1 and 1.1.6-2 regarding the "g_string_free_and_steal" symbol. Not sure if that was intentional, but hopefully it is resolved soon.
If you REALLY need to use those plugins and cannot wait for a real fix, you might be able to get away with using a custom install dir for pacman (see "--root"), installing the downgraded/archived package to it, and using the
LD_PRELOAD="/path/to/library.so"
or
LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/path/to/directory/"
environment variable to load the old library from the custom directory. This way, you can tell a specific app to use the old library without interfering with the system's installed version and without the need for an entire podman/docker/proot/chroot setup.
Also, for context: there is no official 1.1.6-2 for libinstpatch (https://github.com/swami/libinstpatch/releases). There still hasn't been a release since 2021. Just a 1.1.6. This seems to be an Arch package issue. You could try creating an issue/bug for the Arch package (https://archlinux.org/packages/extra/x8 … instpatch/) under "Package Actions" on the right to hopefully have an official fix released or at least an explanation of why this is happening now. 1.1.6-2 was apparently only supposed to be a rebuild in order to re-sign the package (https://github.com/archlinux/svntogit-p … dd923bce5a).
Last edited by nickgirga (2023-03-25 09:13:34)
Offline
Ok I've tested. This is the easiest fix for system installs (no containers).
Preparations:
mkdir -p "$HOME/.local/lib/libinstpatch-1.1.6-1/var/lib/pacman/"
sudo pacman -Syy --root "$HOME/.local/lib/libinstpatch-1.1.6-1"
sudo pacman -U https://archive.archlinux.org/packages/l/libinstpatch/libinstpatch-1.1.6-1-x86_64.pkg.tar.zst --root "$HOME/.local/lib/libinstpatch-1.1.6-1"
Launching (the official Ardour binary):
LD_PRELOAD="$HOME/.local/lib/libinstpatch-1.1.6-1/usr/lib/libinstpatch-1.0.so.2" /opt/Ardour-7.3.0/bin/ardour7
While this works great there are 2 issues with it:
because we are asking pacman to install all dependencies as well, this takes at least 265.1 MiB (the second point elaborates on why this was intentional)
this will likely stop working when libinstpatch's dependencies are updated on the actual system to a point of incompatibility. At this point, we may want to use LD_LIBRARY_PATH in lieu of LD_PRELOAD in order to load all of libinstpatch-1.1.6-1's version-specific dependencies that we installed with it (and that's still a shot in the dark). Hopefully a real solution will be presented before then.
You could try just curling/downloading the pkg.tar.zst, extracting it, and using LD_PRELOAD with that, but this will not gather the version-specific dependencies for you.
Last edited by nickgirga (2023-03-25 10:03:35)
Offline
Pages: 1