Package Details: jack2-git 3274-1

Git Clone URL: https://aur.archlinux.org/jack2-git.git (read-only)
Package Base: jack2-git
Description: The next-generation JACK with SMP support
Upstream URL: http://jackaudio.org/
Licenses: GPL
Conflicts: jack
Provides: jack, jackdbus, jackdmp, jackmp
Submitter: longname
Maintainer: greygjhart
Last Packager: greygjhart
Votes: 6
Popularity: 0.004038
First Submitted: 2012-03-04 20:18
Last Updated: 2015-07-31 21:28

Dependencies (11)

Required by (218)

Sources (3)

Latest Comments

Ralf_Mardorf commented on 2016-02-27 18:15

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="http://jackaudio.org/"
backup=(etc/security/limits.d/99-audio.conf)
license=('GPL')
makedepends=('python2-dbus' 'celt' 'opus' 'libsamplerate' 'git' 'libffado')
source=("git+https://github.com/jackaudio/jack2"
'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

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

rtfreedman commented on 2013-12-22 15:15

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

blackhole commented on 2013-12-22 12:07

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
After=sound.target
[Service]
LimitRTPRIO=infinity
LimitMEMLOCK=infinity
User=<your user>
ExecStart=<your jack start line>
[Install]
WantedBy=multi-user.target

jonnor commented on 2013-05-25 21:11

Please add git to makedepends

rtfreedman commented on 2013-05-13 00:18

Updated PKGBUILD, enabled opus & default cpu optimization as
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53663 seems to be fixed.

alucryd commented on 2013-02-18 08:48

merging into jack2-git

Joermungand commented on 2013-01-11 15:20

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 01:48

[ 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 xiph.org.
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-1.9.9.5/build'
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-1.9.9.5/build/example-clients/jack_netsource', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-Lcommon', '-ljack', '-lcelt0', '-lsamplerate', '-lopus', '-lm', '-lpthread', '-lrt', '-ldl', '-ldbus-1']
==> ERROR: A failure occurred in build().

Brett commented on 2013-01-04 00:21

[ 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 xiph.org.
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-1.9.9.5/build'
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-1.9.9.5/build/example-clients/jack_netsource', '-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

Done. Thanks!

vinvin commented on 2012-09-21 00:24

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

Anonymous comment on 2012-09-18 22:29

The glibc errors previous commented upon have returned. I think it's because of this commit:

--
commit f28523ff5415c96d681551d2b3a614ef851b9b4a
Author: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Date: Wed Sep 12 14:20:29 2012 +0200

[wscript] Fix FTBFS with -Wl,--as-needed

Patch by Adam Conrad <adconrad@canonical.com>, taken from Ubuntu's
jackd2 package.

Fixes linkage errors as described in

http://permalink.gmane.org/gmane.comp.audio.jackit/25841

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

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

Anonymous comment on 2012-05-30 13:15

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

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/libm.so so try adding it to the linker command line
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../lib/libm.so: 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

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/audioadapter.so
[201/245] cxxshlib: build/common/JackDummyDriver.cpp.2.o -> build/linux/jack_dummy.so
[202/245] cxxshlib: build/common/JackNetDriver.cpp.5.o -> build/linux/jack_net.so
[203/245] cxxshlib: build/common/JackNetOneDriver.cpp.7.o build/common/netjack.c.7.o build/common/netjack_packet.c.7.o -> build/linux/jack_netone.so
[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/libm.so so try adding it to the linker command line
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../lib/libm.so: 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?

Anonymous comment on 2012-04-17 02:59

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

Anonymous comment on 2012-04-17 02:58

[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/../../../libm.so so try adding it to the linker command line
/usr/lib/gcc/i686-pc-linux-gnu/4.7.0/../../../libm.so: 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-09 20:34

By the way, this package is currently broken, so don't install it. Should be fixed in an hour or so.

longname commented on 2012-03-04 20:52

Heh, missed that. Updated.

karol_007 commented on 2012-03-04 20:47

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.

karol_007 commented on 2012-03-04 20:45

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 a wtf moment like the one I've just experienced :-)

longname commented on 2012-03-04 20:20

Thanks!

Consider this package defunct, then.

jack2-git package can be found here: https://aur.archlinux.org/packages.php?ID=57278

Anonymous comment on 2012-03-04 15:08

Hi.
Jack development has switched to git.
https://github.com/jackaudio/jack2

longname commented on 2011-10-13 08:59

fixed, thanks!

xyproto commented on 2011-10-12 13:23

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