Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 583844 - media-sound/jack-audio-connection-kit-0.124.1 : file collision with media-sound/jack2-1.9.10
Summary: media-sound/jack-audio-connection-kit-0.124.1 : file collision with media-sou...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: Professional Audio Applications Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-05-23 07:49 UTC by Toralf Förster
Modified: 2018-09-16 18:39 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge-history.txt (emerge-history.txt,64.53 KB, text/plain)
2016-05-23 07:49 UTC, Toralf Förster
Details
media-sound:jack-audio-connection-kit-0.124.1:20160523-050102.log (media-sound:jack-audio-connection-kit-0.124.1:20160523-050102.log,303.95 KB, text/plain)
2016-05-23 07:49 UTC, Toralf Förster
Details
jack-audio-connection-kit-9999-depend-on-Jack2-instead (jack-audio-connection-kit-9999.ebuild,768 bytes, text/plain)
2017-01-16 05:00 UTC, Tamus J Royce
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Toralf Förster gentoo-dev 2016-05-23 07:49:32 UTC
 * Detected file collision(s):
 * 
 * 	/usr/include/jack/jslist.h
 * 	/usr/include/jack/uuid.h
 * 	/usr/include/jack/metadata.h
 * 	/usr/include/jack/control.h
 * 	/usr/include/jack/weakjack.h
 * 	/usr/include/jack/weakmacros.h
 * 	/usr/include/jack/midiport.h
 * 	/usr/include/jack/types.h
 * 	/usr/include/jack/transport.h
 * 	/usr/include/jack/thread.h
 * 	/usr/include/jack/session.h
 * 	/usr/include/jack/statistics.h
 * 	/usr/include/jack/ringbuffer.h
 * 	/usr/include/jack/jack.h


$ cat emerge-info.txt
  -----------------------------------------------------------------

  This is an unstable amd64 chroot image (named amd64-hardened-unstable_20160522-095633) at a hardened host acting as a tinderbox.

  -----------------------------------------------------------------

  make.conf: USE="mmx sse sse2 pax_kernel xtpax -cdinstall -oci8 -bindist custom-optimization dvb extraengine fontconfig freetds gcj gpg -gtk3 gudev havege hdf5 ipv6 jadetex kerberos kvm libvirtd mod ois openexr pcre16 -pkcs11 postgres qml qt4 qt5 scripts sdl server sqlite sqlite3 sse4_1 ssl system-cairo theora threads -tools usbredir widgets wma wxwidgets X x265 xa xslt xvfb xvmc xz libressl curl_ssl_libressl -curl_ssl_openssl"

  -----------------------------------------------------------------

Portage 2.3.0_rc1 (python 2.7.11-final-0, hardened/linux/amd64, gcc-5.3.0, glibc-2.23-r2, 4.5.5-hardened x86_64)
=================================================================
System uname: Linux-4.5.5-hardened-x86_64-Intel-R-_Core-TM-_i7-3770_CPU_@_3.40GHz-with-gentoo-2.2
KiB Mem:    16157888 total,   1053456 free
KiB Swap:   16777212 total,  16605844 free
Timestamp of repository gentoo: Mon, 23 May 2016 02:04:20 +0000
sh bash 4.3_p42-r2
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash:          4.3_p42-r2::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.24.0::gentoo
dev-lang/python:          2.7.11-r2::gentoo, 3.4.3-r7::gentoo
dev-util/cmake:           3.5.2-r1::gentoo
dev-util/pkgconfig:       0.29.1::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.20.5::gentoo
sys-apps/sandbox:         2.10-r2::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r2::gentoo
sys-devel/automake:       1.11.6-r2::gentoo, 1.13.4-r1::gentoo, 1.14.1-r1::gentoo, 1.15-r2::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            4.9.3::gentoo, 5.3.0::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r2::gentoo
sys-devel/make:           4.2::gentoo
sys-kernel/linux-headers: 4.6::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: 1

local
    location: /usr/local/portage
    masters: gentoo
    priority: 2

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.0/ext-active/ /etc/php/cgi-php7.0/ext-active/ /etc/php/cli-php7.0/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/var/tmp/distfiles"
EMERGE_DEFAULT_OPTS="--verbose-conflicts --color=n --nospinner --tree --quiet-build"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync network-sandbox news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://ftp.uni-erlangen.de/pub/mirrors/gentoo rsync://mirror.netcologne.de/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gor.bytemark.co.uk/gentoo/ rsync://ftp.snt.utwente.nl/gentoo"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X acl amd64 berkdb bzip2 cli cracklib crypt custom-optimization cxx dri dvb extraengine fontconfig freetds gcj gdbm gpg gudev hardened havege hdf5 iconv ipv6 jadetex justify kerberos kvm libressl libvirtd mmx mmxext mod modules multilib ncurses nls nptl ois openexr openmp pam pax_kernel pcre pcre16 pie postgres qml qt4 qt5 readline scripts sdl seccomp server session sqlite sqlite3 sse sse2 sse4_1 ssl ssp system-cairo tcpd theora threads unicode urandom usbredir widgets wma wxwidgets x265 xa xattr xslt xtpax xvfb xvmc xz zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" CURL_SSL="libressl" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="intel i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Toralf Förster gentoo-dev 2016-05-23 07:49:34 UTC
Created attachment 435014 [details]
emerge-history.txt
Comment 2 Toralf Förster gentoo-dev 2016-05-23 07:49:37 UTC
Created attachment 435016 [details]
media-sound:jack-audio-connection-kit-0.124.1:20160523-050102.log
Comment 3 tokiclover 2016-05-23 21:27:31 UTC
I don't think it's a good idea to make that jack2 ebuild since many files are the same and there is even a patch to get jackdebus with media-sound/jack-audio-connection-kit:0/1. Why not simply sub-slot with a 0/2 to ease selection? Well, if somebody wants to maintain that jack2 variant... Well, I guess a patch to move the files and setup libs/[lc]flags for pkgconfig will not be that hard? Kind of an unpleasant work. I hope nobody hard code include path, libs and [cl]flags? Pf course it's common. Good luck then!

Just my cent, nothing more, nothing less.
Comment 4 Adrian Bassett 2016-05-24 07:23:55 UTC
(In reply to tokiclover from comment #3)
> I don't think it's a good idea to make that jack2 ebuild since many files
> are the same and there is even a patch to get jackdebus with
> media-sound/jack-audio-connection-kit:0/1. Why not simply sub-slot with a
> 0/2 to ease selection? Well, if somebody wants to maintain that jack2
> variant... Well, I guess a patch to move the files and setup libs/[lc]flags
> for pkgconfig will not be that hard? Kind of an unpleasant work. I hope
> nobody hard code include path, libs and [cl]flags? Pf course it's common.
> Good luck then!
> 
> Just my cent, nothing more, nothing less.

This seems like a prime candidate for depending on a virtual/jack that is satisfied by either media-sound/jack-audio-connection-kit or media-sound/jack2
Comment 5 Adrian Bassett 2016-05-24 07:27:26 UTC
(In reply to Adrian.Bassett from comment #4)
> (In reply to tokiclover from comment #3)
> > I don't think it's a good idea to make that jack2 ebuild since many files
> > are the same and there is even a patch to get jackdebus with
> > media-sound/jack-audio-connection-kit:0/1. Why not simply sub-slot with a
> > 0/2 to ease selection? Well, if somebody wants to maintain that jack2
> > variant... Well, I guess a patch to move the files and setup libs/[lc]flags
> > for pkgconfig will not be that hard? Kind of an unpleasant work. I hope
> > nobody hard code include path, libs and [cl]flags? Pf course it's common.
> > Good luck then!
> > 
> > Just my cent, nothing more, nothing less.
> 
> This seems like a prime candidate for depending on a virtual/jack that is
> satisfied by either media-sound/jack-audio-connection-kit or
> media-sound/jack2

And, indeed, there is one ...

A quick check suggests that jack2 blocks jack-audio-connection-kit but that the latter doesn't block jack2
Comment 6 Bearcat M. Şándor 2016-10-28 20:34:49 UTC
So far, the ebuilds that i've changed "jack? ( >=media-sound/jack-audio-connection-kit-0.121.3-r1[${MULTILIB_USEDEP}] )" to "jack? ( >=virtual/jack-0[${MULTILIB_USEDEP}] )" have worked.  

Why can't someone just do a sed on this and replace the former with the latter?
Comment 7 Renich Bon Ciric 2016-11-23 19:40:13 UTC
I ran into this problem. I had jack-audio-connection kit installed and needed to install jack2 due to a BitWig Studio dependency. 

It can't be done. Had to remove jack-audio-connection-kit entirely (and the flag, which meant recompiling every related package) so I could have BitWig running.

Maybe the virtual should let you decide if you want jack1 or jack2, right?
Comment 8 Renich Bon Ciric 2016-11-23 20:15:11 UTC
OK, it seems that some packages are not using virtual/jack properly:

# emerge -ajuDN @world

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] media-sound/jack-audio-connection-kit-0.125.0  USE="alsa pam (-altivec) (-coreaudio) -debug -doc -examples -oss" ABI_X86="32 (64) (-x32)" CPU_FLAGS_X86="3dnow sse" 
[ebuild   R    ] media-libs/aubio-0.4.3  USE="jack*" 
[ebuild  N     ] media-plugins/gst-plugins-jack-1.8.3  ABI_X86="32 (64) (-x32)" 
[ebuild   R    ] media-libs/slv2-0.6.6-r1  USE="jack*" 
[ebuild   R    ] media-plugins/libvisual-plugins-0.4.0-r3  USE="jack*" 
[ebuild   R    ] media-sound/ardour-5.3  USE="jack*" 
[ebuild   R    ] media-sound/pulseaudio-9.0  USE="jack*" 
[ebuild   R    ] media-libs/openal-1.17.2  USE="jack*" 
[ebuild   R    ] media-video/ffmpeg-2.8.8  USE="jack*" 
[ebuild   R    ] media-sound/timidity++-2.14.0-r2  USE="jack*" 
[ebuild   R    ] media-plugins/alsa-plugins-1.1.1  USE="jack*" 
[ebuild   R    ] media-video/mpv-0.22.0  USE="jack*" 
[ebuild   R    ] media-sound/audacity-2.0.5-r1  USE="jack*" 
[ebuild   R    ] media-video/vlc-2.2.4  USE="jack*" 
[ebuild   R    ] media-plugins/gst-plugins-meta-1.8.3  USE="jack*" 


Also, on IRC, infirit said:
14:04 < infirit> Renich,  ok, I see now. At least media-libs/aubio does not properly use the virtual

14:10 < infirit> Renich, you will want to do you own ebuild and update the deps

14:13 < infirit> Renich, no. You need to replace all references to "media-sound/jack-audio-connection-kit" with "virtual/jack"

Now, my question is... how do I contact all package owners to deal with this?
Comment 9 Renich Bon Ciric 2017-01-05 13:58:03 UTC
I am having the same issue. Even with the minimal USE flag set to mailutils.
Comment 10 Renich Bon Ciric 2017-01-05 14:00:24 UTC
Ah, disregard my comment. Wrong issue ID.
Comment 11 Tamus J Royce 2017-01-16 05:00:11 UTC
Created attachment 460246 [details]
jack-audio-connection-kit-9999-depend-on-Jack2-instead

Work-around ebuild to allow Jack1 depending ebuilds install, even though Jack2 is really being installed.
Comment 12 Tamus J Royce 2017-01-16 05:11:27 UTC
Work-around for applications which depend on Jack1, but wanting Jack2 installed. Fake ebuild of jack-audio-connection-kit-9999 that depends on Jack2.

Local Repository:
1. Add to /etc/portage/make.conf
   PORTDIR_OVERLAY="/usr/local/portage/ ${PORTDIR_OVERLAY}"
2. Make directory /usr/local/portage/metadata
3. echo "masters = gentoo" >> /usr/local/portage/metadata/layout.conf
4. chown -R portage:portage /usr/local/portage/

Add Fake Ebuild to Local Repository:
1. Download jack-audio-connection-kit-9999-depend-on-Jack2-instead
2. Make directory /usr/local/portage/media-sound/jack-audio-connection-kit
3. cd ~/Downloads or wherever jack-audio-connection-kit-9999-depend-on-Jack2-instead was downloaded to
3. cp ./jack-audio-connection-kit-9999-depend-on-Jack2-instead /usr/local/portage/media-sound/jack-audio-connection-kit/jack-audio-connection-kit-9999
4. echo "=media-sound/jack-audio-connection-kit-9999 ~amd64" >> /etc/portage/package.keywords/jack2
5. chown -R portage:portage /usr/local/portage/
6. emerge =media-sound/jack-audio-connection-kit-9999

You should now be able to install any ebuild which has a dependency on jack1 while having jack2 installed.

I have another ebuild which fixes the problem of only being able to install jackd audio server or jackdbus. The ebuild can install both with an additional use flag. I will post a link to that bug here (as a reply) once I submit it.
Comment 13 Tamus J Royce 2017-01-16 05:47:42 UTC
NOTE: THIS IS TEMPORARY! Use at your own risk. 

step 7: ebuild media-sound/jack-audio-connection-kit-9999.ebuild metadata

Ebuild Enhancement - dbus-and-jackd flag to install both:
https://bugs.gentoo.org/show_bug.cgi?id=605834

irc is not a tool that I use. It would be nice if there were an online forum or even a website irc shim. I will let someone else hold the torch if this needs discussed on irc.
Comment 14 Tamus J Royce 2017-01-16 05:51:17 UTC
Renich Bon Ciric - Thank you for the hard work! When virtual/jack is being depended upon by the apps you have listed, the hack above won't be useful.
Comment 15 Lara Maia 2017-01-28 20:51:37 UTC
WTF is this mess with Jack? Why are these changes in the main tree with no mask before the packages are fixed?
Comment 16 Simon 2017-06-22 19:21:06 UTC
I think this has effectively become a duplicate of https://bugs.gentoo.org/show_bug.cgi?id=602898 ?

The only thing left to do regarding this issue is that jack-audio-connection-kit should block jack2, correct?
Comment 17 Andreas Sturmlechner gentoo-dev 2018-09-16 18:39:40 UTC
$summary fixed by commit 23b43634f4e6670b3fa15e0393cc3992b4a2e27b, if there is anything else of value in this bug not related to file collisions, please report in a separate bug.