Package Details: jack2-git 2:1.9.20.r0.ga2fe7ec2-1

Git Clone URL: (read-only, click to copy)
Package Base: jack2-git
Description: The JACK low-latency audio server
Upstream URL:
Keywords: audio cv jack midi
Licenses: GPL2, LGPL2.1
Conflicts: jack, jack2
Provides: jack, jack2,,,
Submitter: longname
Maintainer: milkii (dvzrv, SpotlightKid)
Last Packager: dvzrv
Votes: 8
Popularity: 0.000000
First Submitted: 2012-03-04 20:18 (UTC)
Last Updated: 2022-01-16 14:23 (UTC)

Required by (819)

Sources (1)

Latest Comments

Terence commented on 2019-09-21 12:33 (UTC)

Thanks for your answer Ralf. What I don't get is I still had dependency problems because of this package not providing jack2.

Ralf_Mardorf commented on 2019-09-21 03:05 (UTC) (edited on 2019-09-21 03:09 (UTC) by Ralf_Mardorf)

Hi Terence, a lot of pro-audio users, I'm one of them, are in favour of jackd. Also keep in mind, that users might want to launch old audio session scripts, to restore an old audio session. I'm not aware that dbus is the default nowadays, however, even if it would become a default, some users are using Linux for pro-audio for more than a decade, so they need backwards compatibility.

The jack2-git package provides jack, so does jack from community and there is no issue with installing lib32-jack2. Apps depend on jack, never on jack2. This is not Ubuntu where a quasi empty meta-package jackd is a dummy for jack1 and jack2.

[rocketmouse@archlinux ~]$ pacman -Qi jack2 | grep Provides
Provides        : jack
[rocketmouse@archlinux ~]$ sudo pacman -S lib32-jack2 
resolving dependencies...
looking for conflicting packages...

Packages (3) lib32-celt-0.11.3-3  lib32-opus-1.3.1-1  lib32-jack2-1.9.12-3

Total Download Size:   0.32 MiB
Total Installed Size:  0.77 MiB

:: Proceed with installation? [Y/n] n
[rocketmouse@archlinux ~]$ pacman -Qi yoshimi | grep Depends
Depends On      : alsa-lib  cairo  fftw  fltk  gcc-libs  glibc  jack  mxml  ncurses  zlib

Terence commented on 2019-09-20 20:42 (UTC) (edited on 2019-09-20 20:49 (UTC) by Terence)

What is the reasoning behind keeping jackd now that dbus is the default? (--classic + --systemd-units)

Compilation checks report "WARNING !! mixing both jackd and jackdbus may cause issues:".

Terence commented on 2019-09-15 17:58 (UTC) (edited on 2019-09-15 18:00 (UTC) by Terence)

@SpotlightKid Well see my comments below. lib32-jack2 needs jack2 and it makes sense because jack2 and jack are different.

An application could depends on jack2 dbus support for example.

SpotlightKid commented on 2019-09-15 17:52 (UTC)

@Terence_ I don't know, should packages really depend on "jack2" instead of just "jack". What are valid reasons for that?

Terence commented on 2019-09-15 13:20 (UTC)

Shouldn't "jack2" be added to the "provides" array?

Terence commented on 2019-08-31 09:46 (UTC)

No worries, you tried to help :)

Ralf_Mardorf commented on 2019-08-31 09:43 (UTC)

My apologies Terence, I should have noticed that it just was a typo, missing the "2". However, the chance that the 32 bit lib might not be required, was a valid thought. Unfortunately you need it. I'm sorry for the noise.

Terence commented on 2019-08-31 09:36 (UTC)

I also edited mine: I didn't paste the log correctly, I'm in fact using lib32-jack2 already.

Ralf_Mardorf commented on 2019-08-31 09:33 (UTC)

While you replied I edited my comment ;).

Did you try to remove lib32-jack, install jack2-git and then to install lib32-jack2?

Terence commented on 2019-08-31 09:28 (UTC)

Hey, it's because I'm using wineasio-git/fsthost for standalone windows plugins.

Ralf_Mardorf commented on 2019-08-31 09:25 (UTC) (edited on 2019-08-31 09:31 (UTC) by Ralf_Mardorf)

Hi, I'm interested in a dependency tree. Why do you need lib32-jack or lib32-jack2? I'm not using jack2-git, however, I'm not aware that in 2019 something really requires a 32 bit jack library. Don't get me wrong, I don't claim that the 32 bit library is useless at all. Are you sure that something installed on your machine still depends on the 32 bit library?

Did you try to remove lib32-jack, install jack2-git and then to install lib32-jack2?

Terence commented on 2019-08-31 08:47 (UTC) (edited on 2019-08-31 09:35 (UTC) by Terence)

I'm getting removing jack2-dbus-git breaks dependency 'jack2' required by lib32-jack2 when trying to replace jack2-dbus-git by this package.

SpotlightKid commented on 2019-02-08 22:28 (UTC)

@milk: Thank you!

milkii commented on 2019-02-08 20:37 (UTC)

fixed a few days ago. also making you a mod of the package cos bottlenecks can hinder.

SpotlightKid commented on 2019-01-23 13:13 (UTC)

The --freebob option was just removed from ./waf configure. The build() function in the PKGBUILD needs to be adapted accordingly.

SpotlightKid commented on 2019-01-17 19:03 (UTC)

The 'waf' script in the current repo runs with Python 3 without problems. All occurrences of 'python2' in the the PKGBUILD file can be replaced with just 'python'.

milkii commented on 2017-05-17 08:35 (UTC)

flagging out of date as; ==> Making package: faustlive-git 783.c84e4a5-1 (Wed 17 May 09:31:06 BST 2017) ==> Checking runtime dependencies... ==> Installing missing dependencies... resolving dependencies... looking for conflicting packages... :: jack2 and jack2-git are in conflict (jack). Remove jack2-git? [y/N] error: unresolvable package conflicts detected error: failed to prepare transaction (conflicting dependencies) :: jack2 and jack2-git are in conflict ==> ERROR: 'pacman' failed to install missing dependencies. :: failed to build faustlive-git package(s)

milkii commented on 2017-01-28 15:59 (UTC)

should provide jack2 rather than jackdbus now?

greygjhart commented on 2016-12-30 18:10 (UTC)

Hi, Huh, thanks for the feedback ! I don't really recall having read Ralf's proposal at all and I apologize for that. I'm sort of unable to build packages locally at the mo but I'll try and take a look later. Thanks anyway.

dvzrv commented on 2016-12-28 15:09 (UTC)

@Ralf_Mardorf, greygjhart: FYI, Ralf's proposed change in versioning is actually also the correct way of versioning according to packaging guidelines for VCS packages:

Ralf_Mardorf commented on 2016-02-27 18:15 (UTC)

Hi, consider to give the package an appropriated version number. Instead of [rocketmouse@archlinux jack2]$ git rev-list --count master 3425 the following to me is more reasonable: [rocketmouse@archlinux jack2]$ git describe|cut -d"v" -f2|sed -r 's/^V//;s/([^-]*-g)/r\1/;s/-/./g' 1.9.10.r177.g7bdad49 Oops, resp.: [rocketmouse@archlinux jack2]$ git describe|sed -r 's/^v//;s/([^-]*-g)/r\1/;s/-/./g' 1.9.10.r177.g7bdad49 The correct dependency seems to be "python2-dbus" and not "python2". Assumed somebody temporarily wants to build jack2 from git, but switch back to jack2 from the official repository, as soon as 1.9.11 is released, you could replace the original PKGBUILD by this one [1]. To replace .SRCINFO after replacing the PKGBUILD run makepkg --printsrcinfo > .SRCINFO Regards, Ralf [1] [rocketmouse@archlinux jack2-rocketmouse]$ cat PKGBUILD pkgbase=jack2 pkgname=('jack2' 'jack2-dbus') #pkgname= # single build (overrides split) _tarname=jack pkgver=1.9.10.r177.g7bdad49 pkgrel=1 arch=('i686' 'x86_64') url="" backup=(etc/security/limits.d/99-audio.conf) license=('GPL') makedepends=('python2-dbus' 'celt' 'opus' 'libsamplerate' 'git' 'libffado') source=("git+" '99-audio.conf' '40-hpet-permissions.rules') md5sums=('SKIP' 'ae65b7c9ebe0fff6c918ba9d97ae342d' '471aad533ff56c5d3cbbf65ce32cadef') _gitname='jack2' _pyfix() { sed -i 's:bin/env python:bin/env python2:' \ "$pkgdir/usr/bin/jack_control" } _wafconf() { # default=64, AUR=128, kxstudio=256 --clients= # default=768, AUR=1536, kxstudio=2048 --ports-per-application= python2 waf configure --prefix=/usr \ --clients=64 --ports-per-application=768 \ --alsa --firewire $@ } _isbuild() { printf "%s\n" ${pkgname[@]} | grep -qx $1 } pkgver() { cd jack2 echo $(git describe|cut -d"v" -f2|sed -r 's/^V//;s/([^-]*-g)/r\1/;s/-/./g') } prepare() { # we may do 2 different builds cp -r $_gitname $_gitname-dbus } build() { cd "$srcdir" # mixed dbus/classic build if _isbuild jack2; then cd $_gitname msg2 "Running Mixed D-Bus/Classic build" _wafconf --classic --dbus python2 waf build $MAKEFLAGS cd .. fi # dbus-ONLY build if _isbuild jack2-dbus; then cd $_gitname-dbus msg2 "Running D-Bus-only build" _wafconf --dbus python2 waf build $MAKEFLAGS cd .. fi } package_jack2() { ! _isbuild jack2 && return 0 pkgdesc="The next-generation JACK with SMP support" depends=('libsamplerate' 'opus' 'celt' 'libffado') optdepends=('python2-dbus: jack_control') conflicts=('jack') provides=('jack' 'jackmp' 'jackdmp' 'jackdbus') cd "$srcdir/$_gitname" python2 waf install --destdir="$pkgdir" # fix for major python transition _pyfix # configure realtime access/scheduling install -Dm644 "$srcdir/99-audio.conf" \ "$pkgdir/etc/security/limits.d/99-audio.conf" install -Dm644 "$srcdir/40-hpet-permissions.rules" \ "$pkgdir/usr/lib/udev/rules.d/40-hpet-permissions.rules" } package_jack2-dbus() { ! _isbuild jack2-dbus && return 0 pkgdesc="The next-generation JACK with SMP support (for D-BUS interaction only)" depends=('libsamplerate' 'celt' 'opus' 'libffado') optdepends=('python2-dbus: jack_control') conflicts=('jack' 'jack2') provides=('jack' 'jack2' 'jackmp' 'jackdmp' 'jackdbus') cd "$srcdir/$_gitname-dbus" python2 waf install --destdir="$pkgdir" _pyfix install -Dm644 "$srcdir/99-audio.conf" \ "$pkgdir/etc/security/limits.d/99-audio.conf" install -Dm644 "$srcdir/40-hpet-permissions.rules" \ "$pkgdir/usr/lib/udev/rules.d/40-hpet-permissions.rules" }

ristic commented on 2015-08-24 06:38 (UTC)

You need to add 'jack2' to the provides for pulseaudio-jack to remain happy.

rtfreedman commented on 2013-12-22 15:15 (UTC)

Don't use an AUR helper like yaourt or packer for building/installing in one go. Download the src and use makepkg and 'pacman -U jack2-git-3131-1-i686.pkg.tar.xz'

blackhole commented on 2013-12-22 12:07 (UTC)

I need jack without dbus for systemd jackd.service. However this package want to intall jack2-git and jack2-dbus-git at the same time. This is strange. At last I had to delete --dbus from the PKGBUILD and install manually jack2-git from /temp directory. This i my custom jackd.service: [Unit] Description=JACK [Service] LimitRTPRIO=infinity LimitMEMLOCK=infinity User=<your user> ExecStart=<your jack start line> [Install]

jonnor commented on 2013-05-25 21:11 (UTC)

Please add git to makedepends

rtfreedman commented on 2013-05-13 00:18 (UTC)

Updated PKGBUILD, enabled opus & default cpu optimization as seems to be fixed.

alucryd commented on 2013-02-18 08:48 (UTC)

merging into jack2-git

Joermungand commented on 2013-01-11 15:20 (UTC)

In order for jack2 to compile, opus needs to be compiled with custom modes enabled. What I did was install opus-git from AUR, edit its PKGBUILD file and add --enable-custom-modes to the ./configure options (line 41) before building. It worked then.

Brett commented on 2013-01-04 00:21 (UTC)

[ 49/247] cxx: common/JackNetTool.cpp -> build/common/JackNetTool.cpp.1.o In file included from ../common/JackNetTool.cpp:20:0: ../common/JackNetTool.h:412:30: fatal error: opus/opus_custom.h: No such file or directory compilation terminated. Waf: Leaving directory `/tmp/yaourt-tmp-brett/aur-jack2-git/src/jack2-git-build/build' Build failed ... -- Compilation throws a different error if I use the opus includes from the opus 1.0.2 source tarball at Very similar to -- netsource.c:(.text+0xd3b): undefined reference to `opus_custom_mode_create' netsource.c:(.text+0xd5c): undefined reference to `opus_custom_encoder_create' netsource.c:(.text+0xd81): undefined reference to `opus_custom_encoder_ctl' netsource.c:(.text+0xd95): undefined reference to `opus_custom_encoder_ctl' netsource.c:(.text+0xda9): undefined reference to `opus_custom_encoder_ctl' netsource.c:(.text+0xdbd): undefined reference to `opus_custom_encoder_ctl' netsource.c:(.text+0xdcd): undefined reference to `opus_custom_encoder_init' netsource.c:(.text+0xe46): undefined reference to `opus_custom_mode_create' netsource.c:(.text+0xe67): undefined reference to `opus_custom_decoder_create' netsource.c:(.text+0xe86): undefined reference to `opus_custom_decoder_init' common/netjack_packet.c.30.o: In function `render_payload_to_jack_ports_opus': netjack_packet.c:(.text+0x2f38): undefined reference to `opus_custom_decode_float' common/netjack_packet.c.30.o: In function `render_jack_ports_to_payload_opus': netjack_packet.c:(.text+0x3122): undefined reference to `opus_custom_encode_float' collect2: error: ld returned 1 exit status Waf: Leaving directory `/tmp/yaourt-tmp-brett/aur-jack2-kxstudio/src/jack-' Build failed -> task in 'jack_netsource' failed (exit status 1): {task 140087905566992: cprogram netsource.c.30.o,netjack_packet.c.30.o -> jack_netsource} ['/usr/bin/gcc', '-Wl,-O1,--sort-common,-z,relro', '-Wl,-O1,--sort-common,-z,relro', 'example-clients/netsource.c.30.o', 'common/netjack_packet.c.30.o', '-o', '/tmp/yaourt-tmp-brett/aur-jack2-kxstudio/src/jack-', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-Lcommon', '-ljack', '-lcelt0', '-lsamplerate', '-lopus', '-lm', '-lpthread', '-lrt', '-ldl', '-ldbus-1'] ==> ERROR: A failure occurred in build().

longname commented on 2012-09-21 03:06 (UTC)

Done. Thanks!

vinvin commented on 2012-09-21 00:24 (UTC)

-lm needs to be added to LDFLAGS where it's already defined in PKGBUILD.

commented on 2012-09-18 22:29 (UTC)

The glibc errors previous commented upon have returned. I think it's because of this commit: -- commit f28523ff5415c96d681551d2b3a614ef851b9b4a Author: Adrian Knoth <> Date: Wed Sep 12 14:20:29 2012 +0200 [wscript] Fix FTBFS with -Wl,--as-needed Patch by Adam Conrad <>, taken from Ubuntu's jackd2 package. Fixes linkage errors as described in example-clients/wscript linux/wscript wscript -- So, even though the PKGBUILD specifically sets --no-as-needed, I think the wscript is now always enforcing --as-needed. I don't know how to go about fixing this.

longname commented on 2012-06-25 20:19 (UTC)

Thanks, benbriedis. It's now in the PKGBUILD.

commented on 2012-05-30 13:15 (UTC)

I was getting the same sort of errors described below. They were caused by the --as-needed linker flag, included in /etc/makepkg.conf. Perhaps the --no-as-needed linker flag should be added to PKGBUILD?

longname commented on 2012-05-02 02:10 (UTC)

That's peculiar, I got slightly farther trying to build it but ended with a similar error. [210/245] cprogram: build/example-clients/monitor_client.c.18.o -> build/example-clients/jack_monitor_client [211/245] cprogram: build/example-clients/alsa_in.c.30.o build/common/memops.c.30.o -> build/example-clients/alsa_in [212/245] cxxprogram: build/tests/iodelay.cpp.4.o -> build/tests/jack_iodelay /usr/bin/ld: example-clients/alsa_in.c.30.o: undefined reference to symbol 'floor@@GLIBC_2.2.5' /usr/bin/ld: note: 'floor@@GLIBC_2.2.5' is defined in DSO /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../lib/ so try adding it to the linker command line /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../lib/ could not read symbols: Invalid operation collect2: error: ld returned 1 exit status Waf: Leaving directory `/home/yt/aur/maintained/jack2-git/src/jack2-git-build/build' Build failed -> task in 'alsa_in' failed (exit status 1): {task 25206032: cprogram alsa_in.c.30.o,memops.c.30.o -> alsa_in} ['/usr/bin/gcc', '-Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu', '-Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu', '-lm', '-lstdc++', 'example-clients/alsa_in.c.30.o', 'common/memops.c.30.o', '-o', '/home/yt/aur/maintained/jack2-git/src/jack2-git-build/build/example-clients/alsa_in', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-Lcommon', '-ljack', '-lpthread', '-lcelt0', '-lrt', '-ldl', '-lasound', '-lsamplerate'] ==> ERROR: A failure occurred in build(). Aborting... My guess would be... Uhm. Wait, I don't even understand why build item #210 is not the same on my computer as it is on your computer, given that the total number of items is the same.

svictor commented on 2012-05-01 23:27 (UTC)

Hi, I'm getting the following error: [200/245] cxxshlib: build/common/JackResampler.cpp.7.o build/common/JackLibSampleRateResampler.cpp.7.o build/common/JackAudioAdapter.cpp.7.o build/common/JackAudioAdapterInterface.cpp.7.o build/common/JackAudioAdapterFactory.cpp.7.o build/linux/alsa/JackAlsaAdapter.cpp.7.o -> build/common/ [201/245] cxxshlib: build/common/JackDummyDriver.cpp.2.o -> build/linux/ [202/245] cxxshlib: build/common/JackNetDriver.cpp.5.o -> build/linux/ [203/245] cxxshlib: build/common/JackNetOneDriver.cpp.7.o build/common/netjack.c.7.o build/common/netjack_packet.c.7.o -> build/linux/ [204/245] cprogram: build/example-clients/netslave.c.6.o -> build/example-clients/jack_net_slave [205/245] cprogram: build/example-clients/netmaster.c.15.o -> build/example-clients/jack_net_master [206/245] cprogram: build/example-clients/ipunload.c.25.o -> build/example-clients/jack_unload [207/245] cprogram: build/example-clients/wait.c.27.o -> build/example-clients/jack_wait [208/245] cprogram: build/example-clients/alias.c.26.o -> build/example-clients/jack_alias [209/245] cprogram: build/example-clients/netsource.c.29.o build/common/netjack_packet.c.29.o -> build/example-clients/jack_netsource [210/245] cprogram: build/example-clients/latent_client.c.21.o -> build/example-clients/jack_latent_client /usr/bin/ld: example-clients/netsource.c.29.o: undefined reference to symbol 'ceilf@@GLIBC_2.2.5' /usr/bin/ld: note: 'ceilf@@GLIBC_2.2.5' is defined in DSO /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../lib/ so try adding it to the linker command line /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../lib/ could not read symbols: Invalid operation collect2: error: ld returned 1 exit status Waf: Leaving directory `/tmp/yaourt-tmp-victor/aur-jack2-git/src/jack2-git-build/build' Build failed -> task in 'jack_netsource' failed (exit status 1): {task 38608464: cprogram netsource.c.29.o,netjack_packet.c.29.o -> jack_netsource} ['/usr/bin/gcc', '-Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu', '-Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu', '-lm', '-lstdc++', 'example-clients/netsource.c.29.o', 'common/netjack_packet.c.29.o', '-o', '/tmp/yaourt-tmp-victor/aur-jack2-git/src/jack2-git-build/build/example-clients/jack_netsource', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-Lcommon', '-ljack', '-lpthread', '-lcelt0', '-lrt', '-ldl'] Any clues?

commented on 2012-04-17 02:59 (UTC)

Why does this happen? It looks like it's already linked against the math library.

commented on 2012-04-17 02:58 (UTC)

[177/245] cprogram: build/example-clients/midi_latency_test.c.5.o -> build/example-clients/jack_midi_latency_test /usr/bin/ld: example-clients/midi_latency_test.c.5.o: undefined reference to symbol 'trunc@@GLIBC_2.1' /usr/bin/ld: note: 'trunc@@GLIBC_2.1' is defined in DSO /usr/lib/gcc/i686-pc-linux-gnu/4.7.0/../../../ so try adding it to the linker command line /usr/lib/gcc/i686-pc-linux-gnu/4.7.0/../../../ could not read symbols: Invalid operation collect2: error: ld returned 1 exit status Waf: Leaving directory `/var/tmp/yaourt-tmp-xxx/aur-jack2-git/src/jack2-git-build/build' Build failed -> task in 'jack_midi_latency_test' failed (exit status 1): {task 162515948: cprogram midi_latency_test.c.5.o -> jack_midi_latency_test} ['/usr/bin/gcc', '-Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu', '-Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu', '-lm', '-lstdc++', 'example-clients/midi_latency_test.c.5.o', '-o', '/var/tmp/yaourt-tmp-xxx/aur-jack2-git/src/jack2-git-build/build/example-clients/jack_midi_latency_test', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-Lcommon', '-ljack', '-lpthread', '-lcelt0', '-lrt', '-ldl']

longname commented on 2012-03-04 20:52 (UTC)

Heh, missed that. Updated.

karol_007 commented on 2012-03-04 20:47 (UTC)

I think both "Subversion build (...)" package description and 'msg "SVN checkout done or server timeout"' should be changed to refer to git in order to avoid confusion.

longname commented on 2012-03-04 20:20 (UTC)

Thanks! Consider this package defunct, then. jack2-git package can be found here:

commented on 2012-03-04 15:08 (UTC)

Hi. Jack development has switched to git.

longname commented on 2011-10-13 08:59 (UTC)

fixed, thanks!

xyproto commented on 2011-10-12 13:23 (UTC)

Hi, depending on python2-waf is not needed, as you can just call "python2 ./waf".