I stumbled across a bit of a problem with the JUCE JACK wrapper. Works just fine on 32-bit Ubuntu, but on 64-bit, it crashes with a segmentation fault when calling jack_client_open. The problem appears to be due to the fact that jack_client_open is actually a variadic (…) function.
The fix is a simple one. In juce_linux_JackAudio.cpp change:
JUCE_DECL_JACK_FUNCTION (jack_client_t*, jack_client_open, (const char* client_name, jack_options_t options, jack_status_t* status), (client_name, options, status));
to
I’ve confirmed this fixes the crash, and it still works fine on 32-bit. As for why it didn’t crash originally on 32-bit, I’ve not the faintest, but I guess that’s the price we pay when we use ellipsis and leave the happy world of type-safety.
