[Cs-dev] [ot] strange Linux issue..
Date | 2014-05-13 18:46 |
From | Rory Walsh |
Subject | [Cs-dev] [ot] strange Linux issue.. |
I've run into a problem with my Cabbage plugins on Linux and I'm really stumped as to how to fix it. I'm hoping someone here might be able to help me out. I recently updated my version of JUCE and since then my Cabbage plugins will not load in any of my Linux hosts(they run fine on OSX and Windows). In order for the host to load the library it makes a call to dlopen(), but this always returns a null pointer. I call dlerror straight after to see what's going on and I get: undefined symbol: sf_open_fd Looks like a libsndfile function to me. I normally don't link to libsndfile when building, as Csound looks after that, but even if I do link to it, I get the exact same errors as before. When I run the shared lib through nm I can see the symbol, but it has a 'U' listed beside it for undefined. I'm not really sure what to try next. I just tried building a simple JUCE plugin that links to libsndfile and it works fine. I also tried a basic Csound/JUCE plugin, and again I had no problems. Any ideas? My JUCE only plugins build and run fine so it must be something quite subtle that is causing the problem. I'm stumped. ------------------------------------------------------------------------------ "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2014-05-13 19:19 |
From | Michael Gogins |
Subject | Re: [Cs-dev] [ot] strange Linux issue.. |
Attachments | None None |
Also look to see if there is a mangled C++ symbol for this function lurking in your compiled code. Perhaps some shared library that you link with did not used to link to libsndfile, or did not used to dlopen it, but now does.
If these don't work try defining this function as a stub in your code. That's all I can think of right now... hope it helps. Regards,
Mike
----------------------------------------------------- Michael GoginsIrreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com On Tue, May 13, 2014 at 1:46 PM, Rory Walsh <rorywalsh@ear.ie> wrote: I've run into a problem with my Cabbage plugins on Linux and I'm |
Date | 2014-05-13 19:58 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] [ot] strange Linux issue.. |
Just try adding a -lsndfile to your own build. ======================== Dr Victor Lazzarini Senior Lecturer NUI Maynooth, Ireland victor dot lazzarini at nuim dot ie On 13 May 2014, at 18:46, Rory Walsh |
Date | 2014-05-13 20:16 |
From | Rory Walsh |
Subject | Re: [Cs-dev] [ot] strange Linux issue.. |
Thanks guys. The first thing I tried was using -lsndfile but it makes no difference. I get the same error from dlerror() as I do when I don't link to it. It seems to make no difference. But then my plugin doesn't call any libsndfile functions. This is left to Csound. If I create a simple shared lib using libsndile and check the exported symbols using nm they are listed as: U sf_open@@libsndfile.so.1.0 U sf_perror@@libsndfile.so.1.0 With a "@@libsndfile.so.1.0" appended to each of the functions. When I link to Csound and check the symbols they appear without the libsndfile.so.1.0: U sf_close U sf_command U sf_open U sf_open_fd It's strange that dlerror only returns this one problem. And also note that I get no such problems when I build a binary executable with almost the same code. I'm just reading about methods stubs now. Once I understand it I will try it out! Thanks for the suggestions, please keep them coming! I wonder would it be worth my time trying on another Linux box. Maybe the problem is local? On 13 May 2014 20:58, Victor Lazzarini |
Date | 2014-05-13 21:19 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] [ot] strange Linux issue.. |
What you said makes sense, because your shared lib is linked directly to libsndfile and so the symbols show that. If you check what libcsound64.so holds, you will see the same thing victor@ligeti:~/lib$ nm libcsound64.so.6.0 | grep "sf_open_fd" U sf_open_fd@@libsndfile.so.1.0 But if your plugin lib is not using any libsndfile functions, then it should not contain links to it. See for instance the csound command: victor@ligeti:~/bin$ nm csound | grep "sf_" victor@ligeti:~/bin$ So if your plugin is showing sf_* symbols, they are being used somewhere, which might or might not make sense to you. ======================== Dr Victor Lazzarini Senior Lecturer NUI Maynooth, Ireland victor dot lazzarini at nuim dot ie On 13 May 2014, at 20:16, Rory Walsh |
Date | 2014-05-13 21:26 |
From | Rory Walsh |
Subject | Re: [Cs-dev] [ot] strange Linux issue.. |
I just threw a new linux distro on an old machine and wouldn't you know, the problem disappears. Seems like something is messed up on my system. I wish I had thought of doing that last Thursday when the problem first appeared! All is not lost, at least I learned something along the way. On 13 May 2014 22:19, Victor Lazzarini |
Date | 2014-05-13 21:30 |
From | Steven Yi |
Subject | Re: [Cs-dev] [ot] strange Linux issue.. |
Um.. care to mention what distro you were using that caused problems? :P That's such an odd problem that I'd rather not run into that anytime soon! On Tue, May 13, 2014 at 9:26 PM, Rory Walsh |
Date | 2014-05-13 21:35 |
From | Rory Walsh |
Subject | Re: [Cs-dev] [ot] strange Linux issue.. |
I'm running xubuntu, but I'm sure it's something I did rather than the OS. I've run this distro for years without any problems. Still, I might just change now. I just tested with lubuntu and everything ran fine there. Must look into it a little more. Glad it's sorted! On 13 May 2014 22:30, Steven Yi |
Date | 2014-05-13 21:43 |
From | Steven Yi |
Subject | Re: [Cs-dev] [ot] strange Linux issue.. |
Ah, I've used xubuntu in the past and rather liked it. :P (Using debian with xfce in my VM at the moment which I'm happy with too). Very glad you got around the problem too! On Tue, May 13, 2014 at 9:35 PM, Rory Walsh |
Date | 2014-05-14 00:21 |
From | Andres Cabrera |
Subject | Re: [Cs-dev] [ot] strange Linux issue.. |
Attachments | None None |
The issue seemed like a mismatch in library versions. Maybe you hand-built libsndfile? Or got a different version from a ppa? Cheers,Andrés
On Tue, May 13, 2014 at 1:43 PM, Steven Yi <stevenyi@gmail.com> wrote: Ah, I've used xubuntu in the past and rather liked it. :P (Using |
Date | 2014-05-14 09:26 |
From | Rory Walsh |
Subject | Re: [Cs-dev] [ot] strange Linux issue.. |
Attachments | None None |
I had considered that but couldn't find anything when I went looking? Anyway, it's all in the past now, just upgraded to xubuntu 14.04lts. It was probably time for an upgrade anyway :)
On 14 May 2014 00:21, "Andres Cabrera" <mantaraya36@gmail.com> wrote:
|