Linux HOWTOs

About | Home | Search

HOWTO: jack
Description: Low-latency audio server
Click here for ChangeLog
NOTE: I use GNU tar >= 1.13.25 so it's -j for .tar.bz2 files,
it's safe to assume that make, gcc, binutils, fileutils/coreutils, gawk, sed, and grep are prerequisites for almost everything

# JACK 0.103.0 (Jack Audio Connection Kit)
# ============
# If you ever want to uninstall JACK or clean up files from an old
# version before installing a new one, skip down to the bottom

# Prerequisites:
# PortAudio
# pkg-config
# AlSA
# libsndfile
# readline
# doxygen
# FreeBoB

test -f installed/jack-audio-connection-kit-0.103.0.tar.gz &&
 mv installed/jack-audio-connection-kit-0.103.0.tar.gz .
test ! -f jack-audio-connection-kit-0.103.0.tar.gz &&
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "jack-audio-connection-kit-*" \
 -exec rm -r {} \;
tar xzvf ~/jack-audio-connection-kit-0.103.0.tar.gz
cd jack-audio-connection-kit-0.103.0
test $UID = 0 && chown -R root:root .

# If you're using anything other than ext2 for your /tmp, the developers
# recommend using a tmpfs filesystem for jack's temp files.  You can mount
# one (assuming your kernel has the support) like this:
#   mkdir -p /mnt/ramfs
#   mount -t tmpfs tmpfs /mnt/ramfs
# then pass it to configure below with --with-default-tmpdir=/mnt/ramfs
# To mount the tmpfs on boot-up, add this line to /etc/fstab:
#   tmpfs        /mnt/ramfs        tmpfs        defaults  0 0
# You can mount /tmp onto a tmpfs filesystem too if you like, if you have
# enough RAM for all temp files to be in there.
# To tell it to use that, pass --with-default-tmpdir=/mnt/ramfs

# I had to add --disable-portaudio, it wouldn't build against
# PortAudio v19 (either of the v19s)


# Become root to install it

make install
chown -R $USER .
chmod -R u+w .

# Become yourself again

mkdir -p -m 0700 installed
rm -f installed/jack-audio-connection-kit-*.tar.*
mv jack-audio-connection-kit-0.103.0.tar.gz installed/

# If you ever want to uninstall Jack, this should do it:
test -d src/jack-audio-connection-kit-* &&
 ( cd src/jack-audio-connection-kit-* ; make uninstall )
rm -f /usr/local/lib/libjack.* /usr/local/lib/pkgconfig/jack.pc
( cd /usr/local/bin ; rm -f jack_bufsize jack_connect jack_disconnect \
 jack_freewheel jack_impulse_grabber jack_load jack_lsp jack_metro \
 jack_monitor_client jack_showtime jack_simple_client jack_transport \
 jack_unload jackd jackrec )
test -d /usr/local/include/jack && rm -r /usr/local/include/jack
test -d /usr/local/lib/jack && rm -r /usr/local/lib/jack
( cd /usr/local/man/man1 ; rm -f jackd.1 jackstart.1 )
test -d /usr/local/share/jack-audio-connection-kit &&
 rm -r /usr/local/share/jack-audio-connection-kit
find ~/src -maxdepth 1 -type d -name "jack-audio-connection-kit-*" \
 -exec rm -r {} \;
rm -f ~/installed/jack-audio-connection-kit-*.tar.*

Back to the list

Last updated: Wed, 29 Apr 2020 22:04:50 -0400
Jason Englander <jason at englanders dot us>