Re: ambix LV2 vs ardour?

Robin Gareus <[email protected]> Thu, 21 Feb 2019 14:11:23 +0100
Newsgroups gmane.comp.audio.ardour.user
Message-ID <[email protected]>
On 2/21/19 8:06 AM, Fernando Lopez-Lezcano wrote
> # ldd /usr/lib64/lv2/ambix_converter_o1.lv2/ambix_converter_o1.so
>     linux-vdso.so.1 (0x00007ffff87fa000)
>     libzita-convolver.so.3 => /lib64/libzita-convolver.so.3
> (0x00007f8f1047f000)
>     libX11.so.6 => /lib64/libX11.so.6 (0x00007f8f1033a000)
>     libXext.so.6 => /lib64/libXext.so.6 (0x00007f8f10325000)
>     libXinerama.so.1 => /lib64/libXinerama.so.1 (0x00007f8f10320000)
>     libasound.so.2 => /lib64/libasound.so.2 (0x00007f8f10218000)
>     libdl.so.2 => /lib64/libdl.so.2 (0x00007f8f10212000)
>     libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007f8f10152000)
>     librt.so.1 => /lib64/librt.so.1 (0x00007f8f10148000)
>     libglut.so.3 => /lib64/libglut.so.3 (0x00007f8f10090000)
>     libXmu.so.6 => /lib64/libXmu.so.6 (0x00007f8f10073000)
>     libXi.so.6 => /lib64/libXi.so.6 (0x00007f8f10061000)
>     libGL.so.1 => /lib64/libGL.so.1 (0x00007f8f0ffcd000)
>     libGLU.so.1 => /lib64/libGLU.so.1 (0x00007f8f0ff59000)
>     libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f8f0ff37000)
>     libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f8f0fd9f000)
>     libm.so.6 => /lib64/libm.so.6 (0x00007f8f0fc1b000)
>     libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f8f0fc00000)
>     libc.so.6 => /lib64/libc.so.6 (0x00007f8f0fa3a000)
>     libfftw3f.so.3 => /lib64/libfftw3f.so.3 (0x00007f8f0f827000)
>     libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f8f0f7fc000)
>     /lib64/ld-linux-x86-64.so.2 (0x00007f8f10991000)
>     libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f8f0f7e9000)
>     libpng16.so.16 => /lib64/libpng16.so.16 (0x00007f8f0f7b3000)
>     libz.so.1 => /lib64/libz.so.1 (0x00007f8f0f799000)
>     libICE.so.6 => /lib64/libICE.so.6 (0x00007f8f0f779000)
>     libXxf86vm.so.1 => /lib64/libXxf86vm.so.1 (0x00007f8f0f772000)
>     libXt.so.6 => /lib64/libXt.so.6 (0x00007f8f0f707000)
>     libGLX.so.0 => /lib64/libGLX.so.0 (0x00007f8f0f6d3000)
>     libGLdispatch.so.0 => /lib64/libGLdispatch.so.0 (0x00007f8f0f616000)
>     libXau.so.6 => /lib64/libXau.so.6 (0x00007f8f0f60f000)
>     libSM.so.6 => /lib64/libSM.so.6 (0x00007f8f0f604000)
>     libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f8f0f5fb000)
> 
> (so lots of things...)

Ok. I'm pretty sure that this is the issue. In particular if qtractor
loads it.

The solution is to statically link the plugin and hide its symbols
except for the entry point. Plugins should not depend on any external libs.

The short explanation is that Plugins cannot know about each other, and
hence must be self-contained.

---
Say you write a plugin that needs ffmpeg and uses the newer
libswresample2 interface, and another author writes a plugin that uses
the older libswresample1 API. Now you dynamically link both.

Distros may even package both library versions, and you can compile and
link, but if you load both at the same time in the same host, there is a
conflict.

[ from
http://lists.ardour.org/pipermail/ardour-users-ardour.org/2018-November/028948.html
]
---

In your case likely libfftw3f or zita-convolver that conflicts with
Ardour's use of it, but it could be any lib, including libstdc++ (except
X11).

Cheers!
robin

_______________________________________________
Ardour-Users mailing list
[email protected]
To unsubscribe  or change your mailing preferences please visit:
http://lists.ardour.org/listinfo.cgi/ardour-users-ardour.org
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEwak9kdzQUxfAUWyqoJC84Cz1fwQFAlxuo3sACgkQoJC84Cz1
fwR8fhAAiKSC21O6JxNXTAY0jx6GudEJhHUfZTXnKaUgRCtF2p2oJK+SdQ1QiaLs
xPlQeD5L/tY62p9O3k4COHp+uxNW0OWA45Zmat2CBqvaP3UIBDbrFJtd4y8zQpoK
xFjuZJ7VbE/+u+yc6nhG1/eSyT/GIUD6HKEnGbEUWZ5uKYXkTAnKZjh+kVj9+NLV
IwIderAP7mHTtfrSJSlxIGcjsWooGf9onoWUAEP43JfQ24bN73PWN0L89uzJW7ZI
6Xziya+ypFaDjogEzt7J9ezujEgVY63lNpw7nDNCSpLcv0+k9s9AMaBQFOd6bOKs
x6McpmpYjqsjO0Jy3xyonsT+OO3vIcMXj9xKozKHJ8ODr7iAkV5RuleVgnBDsEz1
+/J5eqsaT/1sRAzCAVC+9Cwz+GFT9xo5NeyVanMYj0vBBNtG0f5DoCm+9iAffQvx
S/sg0zBt/6Lmf6lKVHBu7QwTK2RHdhFZnJs1or4/uakM9gJI2w6VLcz9ivuasZEw
xzYKnefBt8OqH6qM9QIxUdQviwRmv8BujGXaAQvsYDS3EXpWbUZiU0BhUjkE2W+n
aUaUCw9CATFcZkuyUphvss/LtvHI3oIy1cL2oyEZi07x3Uj6QHj+Xvyy8YZpA8yf
zQRjRdJp5XkgickkR3ER8EGqiUw0Fa2D9PBtpZ9i+0BzupwJtdg=
=LPG+
-----END PGP SIGNATURE-----