fluid-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fluid-dev] making a standalone fluidsynth plugin on Mac


From: Pedro Lopez-Cabanillas
Subject: Re: [fluid-dev] making a standalone fluidsynth plugin on Mac
Date: Sun, 11 Mar 2012 08:16:11 +0100
User-agent: KMail/1.13.5 (Linux/2.6.34.10-0.6-desktop; KDE/4.4.4; i686; ; )

On Saturday 10 March 2012, Antoine Schmitt wrote:
> Hi list,
> I'm currently porting my fluidsynth Xtra (name for Adobe Director  
> plugin, i.e. a shared library that is dynamically loaded into the  
> final executable) to fluidsynth 1.1.5. Previously, it was on 1.0.7.  
> (visible on www.schmittmachine.com/fluidXtra.html).
> 
> The big change is in the build method of fluidsynth. I used cmake, as  
> indicated in the doc for MacOSX. I used fink to get all the needed  
> packages. This is the first time i deal with fink and cmake.  
> Interesting and sexy, but sometimes a bit obscure...

I've removed fink from my mac long time ago. It may be convenient at first, 
because it provides many packages and automatic dependencies, but after some 
time you will realize that you don't have a nice GUI front-end of cmake, or 
some packages are compiled without a feature that you want, or the versions of 
some other packages are ancient and never get updated ...

For cmake, there are nice native builds here:
http://www.cmake.org/cmake/resources/software.html

> My problem is that I end up with an Xtra (DLL) that depends on many  
> fink shared libraries, which are not available on the end-user system,  
> contrary to the standard shared libraries (Apple frameworks). So the  
> Xtra cannot load and run.
> 
> Here are all the dependencies (found with otool) :

glib and gthread are mandatory for fluidsynth >= 1.1.0, but the other 
libraries can be avoided if you don't need the functionality. For instance, we 
use dbus in Linux to communicate with rtkit, but we don't use it in Mac for 
anything. Readline and libsndfile are very useful and interesting in all 
platforms, but maybe your users can live without them ...
 
>       /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio  
> (compatibility version 1.0.0, current version 1.0.0)
>       /usr/local/lib/libgthread-2.0.0.dylib (compatibility version  
> 1501.0.0, current version 1501.0.0)
>       /usr/local/lib/libglib-2.0.0.dylib (compatibility version 1501.0.0,  
> current version 1501.0.0)
>       /sw/lib/libreadline.5.dylib (compatibility version 5.0.0, current  
> version 5.0.0)
>       /System/Library/Frameworks/CoreMIDI.framework/Versions/A/CoreMIDI  
> (compatibility version 1.0.0, current version 49.0.0)
>       /System/Library/Frameworks/CoreServices.framework/Versions/A/ 
> CoreServices (compatibility version 1.0.0, current version 32.0.0)
>       /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit  
> (compatibility version 1.0.0, current version 1.0.0)
>       /sw/lib/libdbus-1.3.dylib (compatibility version 9.0.0, current  
> version 9.8.0)
>       /sw/lib/libsndfile.1.dylib (compatibility version 2.0.0, current  
> version 2.15.0)
>       /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon  
> (compatibility version 2.0.0, current version 136.0.0)
>       /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current  
> version 7.4.0)
>       /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current  
> version 1.0.0)
>       /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current  
> version 111.0.0)
>       /System/Library/Frameworks/CoreFoundation.framework/Versions/A/ 
> CoreFoundation (compatibility version 150.0.0, current version 476.0.0)
> 
> The /System/Library/Frameworks are not a problem. But the /usr/local/ 
> lib ones are. as well as the /sw/lib/libdbus (part of fink I think),  
> and maybe /usr/lib/libstdc also ?

The libraries in /usr/local are typically installed by the user from sources. 
/usr/lib/libstdc is provided by Apple, and /sw is the fink prefix.

> I tried looking for the static libraries for these fink packages but  
> they do not seem to have been built by the get-apt system. I don't  
> find them on my system. And I can't find how to build them.
> 
> Question : how do I build and use the static libraries of these fink  
> packages ? Or how do I include the static version of these libraries  
> in my shared library.

You need to download the sources, build and install them yourself. Or you may 
look for alternatives to fink. Good luck.

Regards,
Pedro



reply via email to

[Prev in Thread] Current Thread [Next in Thread]