New OSX binary release
From there https://github.com/jackaudio/jackaudio.github.com/releases/tag/v1.9.14
-
It could be interesting to precisely know which file is installed where? Could it be done? Is there an un-installer included in this new package as it was the case in the previous one?
-
I saw in a recent commit that Mach Semaphore where activated again instead of Posix Semaphore. Historically Mac Semaphore were used first and Posix Semaphore had to be used after an OSX version change in 2015 (see https://github.com/jackaudio/jack2/commits/develop/macosx/JackPlatformPlug_os.h) The commit message "Framework moved in /Library again, using posing semaphores. " is a bit enigmatic... and I don't remember the exact detail of the the need to move to Posix semaphore, but there was a real technical reason at that time. Is the move back from Posix to Mach Semaphore possible because of the fact the JackRouter component is not working anymore? Thanks for any explanation.
Hi
- It could be interesting to precisely know which file is installed where? Could it be done? Is there an un-installer included in this new package as it was the case in the previous one?
the entire jack installation is present. that means the output of ./waf install.
I did not add anything besides that
- I saw in a recent commit that Mach Semaphore where activated again instead of Posix Semaphore.
Yes, because the posix semaphores on macos are simply not implemented, so we have to use something else. I think the reason for the change was simply to get binaries building, I dont think they ever got much testing. And since your binaries for osx never got updated after some point, it was just never tested.
So I am trying to get things to work once again. This does work, but clients cannot be used more than once. I did a hack to force jack to start, but still not correct. I am looking into this right now.
Yes, because the posix semaphores on macos are simply not implemented, so we have to use something else. I think the reason for the change was simply to get binaries building, I dont think they ever got much testing. I'm really surprised here: I obviously did the test back in 2015. I AFAICS the JackOSX package was indeed using them (the JackOSX 0.92_b3 package https://jackaudio.org/downloads/).
How to do see that " the posix semaphores on macos are simply not implemented" ? Error messages ?
macos does not have sem_timedwait, which is essential for jack to work
I remember that, but my remembering what also that it was not critical to make JACK work, or at least it could allow JACK to work in asynchronous mode only? (see https://github.com/jackaudio/jack2/blob/98c882c5a545c3dd819655c9869f6928274df8a3/common/JackAudioDriver.cpp when SuspendRefNum is used in ProcessGraphSyncMaster)
But If Mach semaphore can work again, then perfect.
ah, I did not know that. we can have that as fallback, in case what I am doing does not work (ie, disable sync mode option for macos for use with the posix sem)
the entire jack installation is present. that means the output of ./waf install. I did not add anything besides that => so an OSX framework? or a dynamic library? (.dylib file). I think it would help to have a description of that in the release page. I guess OSX users like to know which file is installed where.
sure yes, I can add that. for now that was only some test package. it does not even work properly anyway.
btw, is JackPilot code made with Carbon or Cocoa? wondering if we could bring that back
Not sure anymore, the source may still be visible from there: https://sourceforge.net/p/jackosx/code/. But the code is old, developed by J Petrantoni back in 2004.
@sletz I got the semaphores to work, both async and sync mode on macos 10.15 here updated the package https://github.com/jackaudio/jackaudio.github.com/releases/download/v1.9.14/jack2-osx-1.9.14_v2.pkg
there is no qjackctl build yet, I need to setup a static qt first. starting jackd from CLI and using LMMS and Carla at the same time works.

Great !
In the long run using QT is probably to way to go. In this case adding some specific JackPilot preferences would be great, like this (french version here)
Some items are JackRouter specific and can be ignored. But "Hog mode", "Clock drift correction" "System port monitoring" could be interesting to report.
BTW: why do you get this "XRUNmessages, XXX not triggered", everywhere ? Something is not working here.
And please 1) add the list of all installed files 2) and a proper un-installer. Personally I don't want to mess up my current (still working even with JackRouter....) installation on OSX 10.13 when testing this new package.
The xrun messages on my printscreen is just because I was doing a couple of things in the background. This is a very low-spec mac-mini using the integrated audio. I did some tests afterwards and it was fine xrun=wise.
Regarding file list, as I told you, it is just the regular jack2 files. so stuff like:
/usr/local/bin/jack_*
/usr/local/bin/jackd
/usr/local/lib/jack/
/usr/local/include/jack/
Is there source code for the extra jackosx stuff? (jackrouter plugin for example) in the same sources as jack pilot?
Also, how should we do an uninstaller? command script like you once did before?
-
the JackOSX package was installing OSX frameworks, not dynamic libraries., that were installed in some predefined System level folder like
/System/Libray/Frameworks. So I understand the new package is somewhat different, and installing it over JackOSX may cause some issues. Has anybody tested that yet? -
JackRouter source code is on SF: https://sourceforge.net/p/jackosx/code/
tbh, I don't really want to deal with previous jackosx package leftovers. I will add a note saying that old jackosx should be removed before installing this new package
(and yes, the package I made does not use macos frameworks, it has the same file types as used in linux)
OK for notifying old JackOSX users. And since the new package loose something, probably few of them will install the new package if they are still on an OSX version that allows JackRouter bridge to work (that is before 10.15).
Understandable. Is there something else that the old jackosx package provides that I should be aware of? (bdesides jackrouter plugin)
I noticed some HAL stuff, is that used at all still?
The JackOSX package had a JackVST bridge, but I guess only few users ever used that. The main loss is JackRouter.
FYI I got windows builds working, including qjackctl. No installer yet though, need to see how that is done and automate it. I did not try on a real Windows system, but at least it works via Wine (so it is faster to test while on Linux)
Obligatory screenshot :)

Some font rendering looks odd, I think it is only in Wine.