help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Fwd: warning: collision encountered


From: Leo Famulari
Subject: Re: Fwd: warning: collision encountered
Date: Fri, 29 Jan 2016 02:42:48 -0500
User-agent: Mutt/1.5.24 (2015-08-30)

On Thu, Jan 28, 2016 at 09:46:48PM -0800, carl hansen wrote:
> On Thu, Jan 28, 2016 at 7:44 PM, Leo Famulari <address@hidden> wrote:
> 
> > On Thu, Jan 28, 2016 at 05:24:36PM -0800, carl hansen wrote:

[...]

> Yes this is a continuation of my previous question. Thanks for response. I
> didn't
> show the complete output. But I tried to show there are 13987 LINES in the
> error
> messages. It's not so much the particular cases, it's Why is this happening
> at all?
> Did I do smething wrong or is this software error? ANd, what is the proper
> procedure to
> removal of one of the options?

The cause is that you installed some packages that happen to contain
the same paths.

In your current Guix profile, there are multiple packages providing
those "colliding" files.

You could try splitting your profile up into different package manifests
[0] that are organized around specific tasks you need to do. Then, you
can create a new profile based on that manifest when you want to use
those packages. Based on the collision between gcj and gccgo, you could
create one manifest for Java programming, one for Go programming, etc.
This would reduce the chance of collisions by reducing the set of
packages in your profile at any given time, but that's it. And of
course, you may actually need to use gcj and gccgo together, in which
case this approach would not be an option.

Also, once in a while I need to use a program for a little while and I
don't expect to need it again for a long time and I don't care if it
gets garbage collected later on. In that case, I (ab)use `guix
environment --ad-hoc` to just get it momentarily in that shell.

I welcome other users' suggestions on mitigating collisions!

My understanding is that collisions are addressed on a case-by-case
basis, sometimes at the package level, or sometimes in the build system
as discussed in this thread:
https://lists.gnu.org/archive/html/guix-devel/2015-09/msg00213.html

> Is it something like:   <http://libatomic.la>
> guix package -r /gnu/store/wfvxxpdhnzd59vkad1zasm4f858giv9a-gcj-4.9.3/lib/
> libatomic.la
> or is it
> guix package -r /gnu/store/wfvxxpdhnzd59vkad1zasm4f858giv9a-gcj-4.9.3
> or is it
> guix package -r / gcj

$ guix package -r gcj

You cannot remove "components" of the gcj package as attempted in some
of those examples.

> And can it be done globally?

If you are using Guix on a "foreign distro", then there is no concept of
global packages — you only are affected by your current profile. On
GuixSD the administrator may provide global packages in the system
declaration.

> THere must be something I'm not doing correctly.

Nope! ;)

[0]
https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-package.html#profile_002dmanifest



reply via email to

[Prev in Thread] Current Thread [Next in Thread]