Undefined symbol when using LV2 plugins

Hi !

I’m using binaries at http://ardour.org/node/3306 for ardour with lv2 and vst support. Everything works very good except for the lv2 support, when i try most of the plugins I get this error (from the console)

Unable to open library /usr/lib/lv2/filter.lv2/filter.so (/usr/lib/lv2/filter.lv2/filter.so: undefined symbol: sqrtf)

Sometimes other symbols are undefined but always related to math… I’m quite sure I have some lib missing, can you please point me in any direction ?

Thank you very much,
Leandro

I try to answer, anybody who knows better than me (almost everybody : )… ) please correct me.

sqrtf is a function of the standard math library, which gives the square root of a float number, included in math.h and cmath (C and C++ respectively).

It should be a problem of the plugins, not of the host. Have you compiled them yourself?

Yes I actually did… but it didn’t throw any errors or missing libs :frowning:

It happened to me too, while compiling some plugins of mine. Building went ok, but then an undefined symbol error came out at the plugin instance.
But that was due an error of mine in linking the various object files during the build, and I solved changing my code.

I do not know why you got those errors, I just can tell you that it can happen that a plugin builds fine, but then gets that error during its use.

Hope somebody better then me in these things may give you more useful hints :slight_smile:

It means the library is missing symbols, either from the library not being present, or it being compliled differently than what the plugin was linked against when it was compiled. You may need to install a different version of the library, or build it yourself.

My first question would be, do you have a file here:
/usr/lib/lv2/filter.lv2/filter.so

 Seablade

Mmm… too bad… I tried installing some math libs in my repository but that didn’t fix the problem. It seems the math lib comes in the libc6 package of my distro (ubuntu karmic) which is a pretty “standard” package and of course is already installed in my system.

@seablade: yes the file is there, the “# ./waf install” script copied it.

I think I’ll try installing a non-vst ardour package and see what happens… if it works I’ll post it here.

Thank you very much for helping, if you come up with any other idea of what could be happening I’ll apreciate it.