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