View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0009958 | ardour | other | public | 2025-07-27 16:21 | 2025-07-27 20:17 |
Reporter | rah | Assigned To | x42 | ||
Priority | normal | Severity | block | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | GNU | OS | Linux | OS Version | (any) |
Product Version | 8.12 | ||||
Summary | 0009958: JACK backend makes use of jack2-only function | ||||
Description | While compiling Ardour 8.12 against libjack-dev 1:0.126.0-2 in Debian I get the following error:../Ardour-8.12.0/libs/backends/jack/jack_audiobackend.cc: In member function ‘virtual int ARDOUR::JACKAudioBackend::join_process_threads()’: ../Ardour-8.12.0/libs/backends/jack/jack_audiobackend.cc:831:21: error: ‘jack_client_stop_thread’ was not declared in this scope; did you mean ‘jack_client_create_thread’? 831 | if (jack_client_stop_thread (_priv_jack, thread) != 0) | ^~~~~~~~~~~~~~~~~~~~~~~ | jack_client_create_thread Waf: Leaving directory `/usr/local/src/ardour/Ardour-8.12.0-build' The jack_client_stop_thread function is present in jack2: https://github.com/jackaudio/jack2/blob/43e1173e3060b2ebc9b6c54058464d5145afbf6e/common/jack/thread.h#L114 but not jack1: https://github.com/jackaudio/headers/blob/2bfa5069718ca4f4dc091e0be845958f2d8a5ba8/thread.h This is despite waf thinking libjack is OK: Checking for 'jack' >= 0.121.0 : yes Checking for JACK metadata API : ok Checking for jack_port_rename() : ok and despite the build page saying "If you want JACK support, you must have a suitably new version of JACK installed. ... For JACK1, 0.121 or newer." -- https://ardour.org/building_linux.html | ||||
Steps To Reproduce | Compile Ardour on any system with jack1 development headers | ||||
Additional Information | I'm clearly not the only person to suffer from this issue: https://www.reddit.com/r/Ardour/comments/1b5clpz/need_some_help_with_compiling_ardour/ | ||||
Tags | No tags attached. | ||||
|
It seems that systemdeps.h is no longer jack2-only: https://github.com/jackaudio/headers/blob/2bfa5069718ca4f4dc091e0be845958f2d8a5ba8/systemdeps.h as assumed by https://github.com/Ardour/ardour/commit/416ef936358074c1896223c6b66b8683058d1529 |
|
it is #ifdef'ed with (USING_JACK2_EXPANSION_OF_JACK_API) and also not relevant if you configure `--libjack=weak`, in which case the symbol is dynamically detected at runtime. Also jack1 is end-of-life and no longer maintained. |
|
After discussion with the current JACK maintainer, the solution here is to bump build-dependency to jack2 - 1.9.10 or later. |
|
9.0-pre0-1432-g109c3edb42 bumps the build-dep to require jack2 headers. |
Date Modified | Username | Field | Change |
---|---|---|---|
2025-07-27 16:21 | rah | New Issue | |
2025-07-27 16:35 | rah | Note Added: 0029348 | |
2025-07-27 19:13 | x42 | Note Added: 0029349 | |
2025-07-27 20:16 | x42 | Note Added: 0029350 | |
2025-07-27 20:17 | x42 | Assigned To | => x42 |
2025-07-27 20:17 | x42 | Status | new => resolved |
2025-07-27 20:17 | x42 | Resolution | open => fixed |
2025-07-27 20:17 | x42 | Note Added: 0029351 |