Bug#1094770: so-synth-lv2: fails to load in ardour7
Package: so-synth-lv2
Version: 1.5-1
Severity: important
Tags: newcomer
Dear Maintainer,
The instrument plugins included in so-synth-lv2 (SO-404, SO-666, SO-kl5) do not
load in Ardour. Attempting to instantiate the plugins from the editor mixer
results in an error. This is what Ardour's log window shows:
2025-01-30T16:18:14 [ERROR]: LV2: Failed to instantiate plugin
urn:50m30n3:plugins:SO-666
2025-01-30T16:19:17 [ERROR]: LV2: Failed to instantiate plugin
urn:50m30n3:plugins:SO-kl5
2025-01-30T16:20:39 [ERROR]: LV2: Failed to instantiate plugin
urn:50m30n3:plugins:SO-404
This is what Ardour prints on the console, if invoked that way:
lilv_lib_open(): error: Failed to open library /usr/lib/lv2/so-
synth.lv2/libsosynth.so (/usr/lib/lv2/so-synth.lv2/libsosynth.so: undefined
symbol: __powf_finite)
The relevant symbol is provided by libm:
$ nm -D /usr/lib/x86_64-linux-gnu/libm.so.6 | grep __powf_finite
000000000003e3e0 i __powf_finite@GLIBC_2.15
libsosynth.so does not list libm.so.6 as a dependency, which I believe is the
cause of the problem:
$ ldd /usr/lib/lv2/so-synth.lv2/libsosynth.so
linux-vdso.so.1 (0x00007ffe547fe000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0ed2179000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0ed2383000)
Forcing Ardour to load libm with LD_PRELOAD doesn't fix the problem; however,
pulling down the so-synth-lv2 sources with `apt source` and amending the
Makefile to include -lm at the _end_ of the linking step does:
--- so-synth-lv2-1.5.orig/Makefile
+++ so-synth-lv2-1.5/Makefile
@@ -6,7 +6,7 @@ CFLAGS += -Wall -O3 -ffast-math -lm `pkg
INSTALLDIR = $(DESTDIR)/usr/lib/lv2/
INSTALLNAME = so-synth.lv2/
$(LIBRARY) : $(OBJECTS)
- $(CC) $(CFLAGS) $(OBJECTS) -shared -o $@
+ $(CC) $(CFLAGS) $(OBJECTS) -shared -o $@ -lm
.SUFFIXES : .c .o
This causes libm to appear in the shared object's dependencies.
$ ldd so-synth-lv2-1.5/libsosynth.so
linux-vdso.so.1 (0x00007fffc63df000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f799dadc000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f799d8fb000)
/lib64/ld-linux-x86-64.so.2 (0x00007f799dbe5000)
After building with dpkg and installing over the distribution package, Ardour
can load the instrument plugins, and I confirmed that the plugins work using
the "audition" keyboard in the plugin configuration window.
-- System Information:
Debian Release: 12.9
APT prefers stable
APT policy: (700, 'stable'), (500, 'stable-security')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 6.1.0-29-amd64 (SMP w/12 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages so-synth-lv2 depends on:
ii libc6 2.36-9+deb12u9
so-synth-lv2 recommends no packages.
so-synth-lv2 suggests no packages.
-- no debconf information
Reply to: