[PD] JACK2 support on macOS

IOhannes m zmölnig zmoelnig at iem.at
Fri Jul 30 11:13:13 CEST 2021


On 7/30/21 10:23, Roman Haefeli wrote:
> Hey all
> 
> On macOS, I used to download a package named JackOSX for installing
> JACK (which seems to be the JACK1 implementation). Since a while now,
> the prominent source to get JACK seems https://jackaudio.org where you
> get JACK2 installers for macOS (and other platforms).
> 
> Pd downloaded from Miller's site doesn't see the JACK2 server on macOS.
> However, when I build a Pd.app against JACK2, I end up with a Pd that
> works with both, JACK1 and JACK2. To me it looks like the official
> builds are built against JACK1.

i think so, and i think that this is intentional (and good).

jack1 and jack2 are mostly binary compatible, but afaik jack1 is "more" 
compatible, that is: if you link against jack1, you are guaranteed to be 
able to run against both jack1 and jack2, but not the other way round.
if you are not using any advanced features of jack(2) (and Pd does not), 
than it shouldn't really matter against which one you compile.

this is the reason why e.g. all Debian packages that use JACK (i mean 
*all* Debian packages that use JACK, not just Pd-related ones) compile 
against jack1, as this guarantees binary compatibility with whichever 
jack-server is actually running (JACK1 or JACK2), whereas building 
against JACK2 might enable some non-compatible features in the 
application (and thus forcing everything to JACK2).

> 
> Is there a reason to stick with JACK1, when building against JACK2
> seems to support both? I'm not totally sure how far that support goes.
> I know about some instances where Pd.app built against JACK2 didn't see
> the JACK1 server. I didn't figure out why this was the case on one such
> system, but not on others.
> 
> Anyway, my impression is that someone installing JACK on macOS now is
> more likely to find JACK2 than JACK1.

i don't think so.

afaict, the problem is rather how JACK2 ships the libraries.
JACK1 shipped a framework that is used by Pd's build system.
JACK2 does not ship such a framework and thus it can obviously not be 
found by Pd (resulting in no-jack-support).

so the bug could be considered to be in the JACK2 distribution package.



in the end it doesn't really matter against which JACK we are building.
what does matter however, is that JACK support in the *binary* is purely 
optional.

if your Pd version (that is built against JACK1) cannot find the running 
JACK2 server, this is unfortunate.
but if your Pd version (that is built against JACK2) refuses to load on 
a system that doesn't have JACK installed (whatever version), i think 
this is much more serious.

but i think this is covered in [1190] already.

gfmsadr
IOhannes


[1190] https://github.com/pure-data/pure-data/issues/1190
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20210730/d032e3ff/attachment.sig>


More information about the Pd-list mailing list