Geonkick-Synthesizer/geonkick

pipewire-jack-audio-connection support for Geonkick build system

nikolas opened this issue · 6 comments

Hi,
I'm getting a jack error after the make step:

[ 92%] Built target api_plugin
[ 92%] Building CXX object src/standalone/CMakeFiles/geonkick.dir/main.cpp.o
[ 92%] Linking CXX executable geonkick
/usr/bin/ld: cannot find -ljack: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [src/standalone/CMakeFiles/geonkick.dir/build.make:100: src/standalone/geonkick] Error 1
make[1]: *** [CMakeFiles/Makefile2:673: src/standalone/CMakeFiles/geonkick.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

I have libjack installed. Fedora uses pipewire, so it's a pipewire version of jack, installed at /usr/lib64/pipewire-0.3/jack/libjack.so. Maybe something needs to be adjusted on the code side? The Fedora package is pipewire-jack-audio-connection-kit-devel.

Alternatively, do you offer a pre-build Fedora rpm of geonkick somewhere? The readme mentions Fedora, but I can't find one anywhere.

There was a similar issue documented in SuperCollider, I think this will help me solve this: supercollider/supercollider#5678

I'm using pipewire on manjaro and geonkick builds without problem, so the issue is probably on Fedora's side.

@nikolas If you don't need the standalone version, you can turn off from CMakeList file

@nikolas I'll check to see if I can reproduce.

@nikolas you need install jack-audio-connection-kit-devel instead of pipewire-jack-audio-connection-kit-devel... but actually the problem that there is a need to add pipewire check for Geonkick build system in order it to find jack library installed by pipewire package.

if you want specifically pipeware/jack a workaround is instead of -ljack use the full path to jack library /usr/lib64/pipware-0.3/jack/libjack.so in https://github.com/Geonkick-Synthesizer/geonkick/blob/main/src/standalone/CMakeLists.txt