Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 645728 - dev-scheme/chicken-4.10.0-r1 with dev-lang/mono- - file collision in /usr/bin/csc /usr/bin/csi
Summary: dev-scheme/chicken-4.10.0-r1 with dev-lang/mono- - file collision in /...
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: Scheme Project
: 657916 679058 (view as bug list)
Depends on:
Reported: 2018-01-25 16:19 UTC by Toralf Förster
Modified: 2021-03-28 03:47 UTC (History)
5 users (show)

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

emerge-info.txt (emerge-info.txt,17.60 KB, text/plain)
2018-01-25 16:19 UTC, Toralf Förster
dev-scheme:chicken-4.10.0-r1:20180125-102358.log (dev-scheme:chicken-4.10.0-r1:20180125-102358.log,48.29 KB, text/plain)
2018-01-25 16:19 UTC, Toralf Förster
emerge-history.txt (emerge-history.txt,270.02 KB, text/plain)
2018-01-25 16:19 UTC, Toralf Förster
etc.portage.tbz2 (etc.portage.tbz2,20.55 KB, application/x-bzip)
2018-01-25 16:19 UTC, Toralf Förster
logs.tbz2 (logs.tbz2,512 bytes, application/x-bzip)
2018-01-25 16:19 UTC, Toralf Förster

Note You need to log in before you can comment on or make changes to this bug.
Description Toralf Förster gentoo-dev 2018-01-25 16:19:26 UTC
 * Detected file collision(s):
 * 	/usr/bin/csc
 * 	/usr/bin/csi
 * Searching all installed packages for file collisions...
 * Press Ctrl-C to Stop
 * dev-lang/mono-
 * 	/usr/bin/csc
 * 	/usr/bin/csi
 * Package 'dev-scheme/chicken-4.10.0-r1' NOT merged due to file


  This is an unstable amd64 chroot image at a tinderbox (==build bot)
  name: 17.0-desktop-gnome_libressl-test_20180117-214426


gcc-config -l:
 [1] x86_64-pc-linux-gnu-7.2.0 *

Available Python interpreters, in order of preference:
  [1]   python3.5
  [2]   python3.6 (fallback)
  [3]   python2.7 (fallback)

The following VMs are available for generation-2:
*)	IcedTea JDK 3.6.0 [icedtea-bin-8]
Available Java Virtual Machines:
  [1]   icedtea-bin-8  system-vm

emerge -qpv dev-scheme/chicken
Comment 1 Toralf Förster gentoo-dev 2018-01-25 16:19:29 UTC
Created attachment 516648 [details]
Comment 2 Toralf Förster gentoo-dev 2018-01-25 16:19:32 UTC
Created attachment 516650 [details]
Comment 3 Toralf Förster gentoo-dev 2018-01-25 16:19:35 UTC
Created attachment 516652 [details]
Comment 4 Toralf Förster gentoo-dev 2018-01-25 16:19:38 UTC
Created attachment 516654 [details]
Comment 5 Toralf Förster gentoo-dev 2018-01-25 16:19:41 UTC
Created attachment 516656 [details]
Comment 6 Maxim Koltsov gentoo-dev 2018-03-15 20:44:30 UTC
Well, I guess there's nothing we can do about it, right? Renaming csc and csi binaries from chicken would be deviation from upstream. I think not so many people have the two installed at the same time anyway.
Comment 7 erik falor 2018-03-16 19:19:30 UTC
I agree with Maxim that this is a difficult problem to solve without contradicting upstream's naming conventions.

I am curious, though, as to what the standard Gentoo procedure is in this situation. Do we mark mono as a blocker in the Chicken ebuild? I couldn't find anything in the Development Guide, nor do I know off the top of my head other packages which may have "solved" this issue.

Would it be fair-game to find out what other distros do in this situation and follow their lead?
Comment 8 Toralf Förster gentoo-dev 2018-03-16 19:23:25 UTC
Regardless of either renaming in the Gentoo-land or convincing on of the involved 2 upstream parties I'd add a blocker in the meanwhile.
Comment 9 Mateusz 2018-08-31 14:23:27 UTC
I am also affected by this bug (one of those not so many people :) ).
Comment 10 Jack 2020-07-14 20:03:25 UTC
Should this be a duplicate of ?  (or the other way around)
Comment 11 Tom Gillespie 2020-12-22 17:14:37 UTC
Also affected by this.
Here is the related mono issue which has links to a number relevant debian bugs.

There is no good solution here. Both communities aren't going to budge on this. It might be nice to have a general system in place for cases like this where it is clear that there is simply going to be a name conflict.

The idea of having something like a secondary chroot install location where packages with name conflicts could be installed seems like it might be one option. Another simpler option might be to simply have a /usr/conflicts/ path where /usr/conflicts/{package-name}/ could be used to sandbox specifically conflicting files e.g. /usr/conflicts/dev-scheme/chicken/usr/bin/csc. The user would then be able to adjust their path to run the mono C# compiler vs the chicken scheme compiler depending on their needs.

This wouldn't work for all types of conflicts, but many/most of the other conflicts can be patched out more easily because they aren't user facing in the same way files in /usr/bin are.
Comment 12 Jack 2020-12-22 17:25:19 UTC
Is there a way to use eselect for this?
Comment 13 Sam James archtester gentoo-dev Security 2021-03-28 03:47:29 UTC
*** Bug 657916 has been marked as a duplicate of this bug. ***
Comment 14 Sam James archtester gentoo-dev Security 2021-03-28 03:47:37 UTC
*** Bug 679058 has been marked as a duplicate of this bug. ***