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 via email to