On Sun, 6 Jun 2010, Ken Restivo wrote:
Jack+Debian:
This situation will be improving. Probably won't be in
time for squeeze, though. Not a simple problem to fix, though... because
applications have to link to /something/ -- and the library follows the
jackd implementation.
Wait, what? All the apps have to be recompiled in order to
switch jack implementations?
No, they don't have to be recompiled.
From a packaging point-of-view, that's what makes
it so
hard. I'm not at all an expert on the subject, but the
confusion goes something like this:
Package `cool_tracker` requires `libjack0`
`libjack0` is supplied by Jack1 _and_ Jack2. If you switch
jackd's, you have to switch libjack0. So, then you get
something like:
libjack0-jack1 (provides libjack0)
libjack0-jack2 (provides libjack0)
Suppose user does:
$ apt-get cool_tracker
Now, which one gets installed by default?
And when a someone packages `cool_tracker`
$ gcc -o cool_tracker `pkg-config --cflags --libs jack` cool_tracker.c
Then cool_tracker has a link to /usr/lib/libjack.so.0
So... you have to make sure that the .deb package says it
needs the virtual libjack0 package instead of libjack0-jack2
(which is what the packager has installed).
THEN, you run into ABI issues between Jack1 and Jack2.
Theoretically, there should be none -- but last I
check, Jack2 is missing some of Jack1's symbols.
-gabriel