Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

applications linked with jack1 try to connect to the wrong socket #624

Closed
rekado opened this issue Aug 11, 2020 · 4 comments
Closed

applications linked with jack1 try to connect to the wrong socket #624

rekado opened this issue Aug 11, 2020 · 4 comments

Comments

@rekado
Copy link

rekado commented Aug 11, 2020

In GNU Guix we're building all packages that have support for JACK with jack1. When a user has JACK2 installed, however, these applications will attempt to connect to a non-existent socket, such as /dev/shm/jack-1000/default/jack_0.

It is possible to connect only by overriding the used JACK library with LD_LIBRARY_PATH, which is inelegant.

Is there a way to let JACK2 create the same sockets that JACK1 applications expect?

@falkTX
Copy link
Member

falkTX commented Aug 11, 2020

Are you perhaps trying to use libjack.so of JACK1 while a JACK2 server is running?
Because if so, this is completely unsupported. the JACK client libraries must match the server.

@rekado
Copy link
Author

rekado commented Aug 11, 2020

Yes, the applications are all linked with libjack.so of JACK1 (and RUNPATH is set so that this specific variant of libjack.so is found at runtime). I suppose there's no other way than to override the libjack.so at runtime then.

As a distribution we cannot know what variant of JACK a user will install.

@falkTX
Copy link
Member

falkTX commented Aug 11, 2020

Not sure if I fully understand, but if the application is using libjack.so from JACK1 while the user is running JACK server from JACK2, this can never work.
Not even updates of the same JACK (1 vs 2) are guaranteed to work. For example, on the latest release of JACK2 I bumped the maximum number of clients and ports. This breaks the server-side data structures, so libjack.so from 1.9.13 cannot talk with jackd from 1.9.14.
You need to have client library and server versions match. Anything else is unsupported.

@rekado
Copy link
Author

rekado commented Aug 11, 2020

Thank you for the clarification!

@rekado rekado closed this as completed Aug 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants