[CLAM] Problems using jackdmp instead of jackd on OSX

Pau Arumi parumi at iua.upf.edu
Tue Feb 6 04:30:11 PST 2007


Stéphane Letz wrote:
>>>
>> That's a good question. We'd like to not require the users have jack 
>> installed
>> (in osx at least), so that's why we bundle libjack.dylib together 
>> with the app
>> (the lib functions can see if the jackd is running or not, and try to 
>> start it).
>
> But what happens for the jack *server* part? You're not distributing 
> the jackd itself? so you're supposing a server is already installed 
> right?
No, we don't suppose the server is installed. We want to check for (and 
maybe start) an installed jackd at runtime and fallback to 
portaudio/coreaudio if not found. And we use the bundled libjack for 
that checking. I don't know how to do this checking without statically 
linking libjack or placing libjack.dylib in the bundle.
However I guess that there are many chances that this won't work because 
of version mismatch between the system jackd and the bundled libjack.

>
> Ardour does not link statically. You can switch it to use jackdmp 
> without problem. I don't know for  Hydrogen.
Well, the distributed .dmg of hydrogen 0.94 comes with all libs 
statically linked and jack is *disabled* so forget about it. And my 
hydrogen build is jack enabled and dynamically linked to the system libjack

I've also had a closer look to mac osx ardour2
"otool -L Ardour2.app/Contents/MacOS/Ardour2" reveals *only* three 
dynamic libs references (Cocoa, Security and libSystem)

That's why I first thought all libs where statically linked. But then I 
realized that your where right:
* otool -L gtk_ardour/ardour-2.0beta11.1  (the not-bundled binary) does 
give a list of many dylibs including (system) libjack.
* in Ardour2.app/Contents/resources/libs/  contains many of these dylibs 
but not libjack.
* removing the system libjack /usr/local/lib/libjack*, ardour2 does not 
even start.

So that's new for me: you can use dylibs in mac without fixing links for 
every lib (using install_name_tool). But then I ignore how the app knows 
where to find the dylibs. Do you have any idea? If not I might ask 
ardour-devel.

Well, but at the end neither hydrogen nor ardour2 does what we want: use 
jack as if it was an audio back-end plugin.
I guess we'll opt either by require a jack install or do not link 
against jack and use the JAR coreaudio driver.

>
> Yes the current JackOSX 0.74 version does not support easy switch to 
> jackdmp. The jackdmp "installer" (well a install script right now) 
> just provide a special jackdmp aware version of JackPilot 
> (http://www.grame.fr/~letz/jackdmp.html)
>
That's good to know!

Pau




More information about the clam-users mailing list