Subject: bug#29255: closed (Re: bug#29255: "Profile contains conflicting entries" could be more helpful)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 10 Dec 2017 22:48:01 +0000

Your bug report

#29255: "Profile contains conflicting entries" could be more helpful

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
29255: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=29255
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#29255: "Profile contains conflicting entries" could be more helpful
From: [email-masked] (Ludovic Courtès)
To: Ricardo Wurmus <[email-masked]>
Cc: [email-masked], Ben Sturmfels <[email-masked]>
Date: Sun, 10 Dec 2017 23:47:09 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello!

[email-masked] (Ludovic Courtès) skribis:

> Ricardo Wurmus <[email-masked]> skribis:
>
>> In this case it is not entirely clear that the existing python-requests
>> package in the profile is “old”.  The version looks the same and the
>> hash is opaque.
>>
>> Would it be possible to record something about the Guix version that was
>> used to install a package?  Then we could say:
>>
>>   An older variant of python-requests is installed in this profile
>>   (propagated from package “foo-bar”) and conflicts with a newer variant
>>   (propagated from package “python-twine”).
>
> When the version numbers are the same, we cannot tell whether a variant
> is “older”, we can just tell that it’s different.  Also, I find it
> useful to see the propagation stack as is currently the case.
>
> With the patch below, I get:
>
> $ ./pre-inst-env guix package -p foo -i python@2 python
> The following packages will be installed:
>    python	2.7.13	/gnu/store/vysfxizaddh1q8s5qjgbdkzxx0585dzi-python-2.7.13
>    python	3.5.3	/gnu/store/m4rdgmvdqcxs2zhv42idnz1s1w391i8j-python-3.5.3
>
> guix package: error: profile contains conflicting entries for python:out
> guix package: error:   first entry: [email-masked] /gnu/store/vysfxizaddh1q8s5qjgbdkzxx0585dzi-python-2.7.13
> guix package: error:   second entry: [email-masked] /gnu/store/m4rdgmvdqcxs2zhv42idnz1s1w391i8j-python-3.5.3
> hint: You cannot have two different versions or variants of `python' in the same profile.
>
>
> and:
>
> $ ./pre-inst-env guix package -i guile-cairo -p foo --no-grafts
> The following package will be installed:
>    guile-cairo	1.4.1	/gnu/store/dsdbp9sqla6zz2skljlcr5zfjyzvargf-guile-cairo-1.4.1
>
> guix package: error: profile contains conflicting entries for cairo:out
> guix package: error:   first entry: [email-masked] /gnu/store/c4vl4hw5jccg0b23sfvs0kdnfdbxdlgm-cairo-1.14.10
> guix package: error:    ... propagated from [email-masked]
> guix package: error:   second entry: [email-masked] /gnu/store/nwxv9s2q8pi0m6gn6fyidpj8442dwp6f-cairo-1.14.10
> guix package: error:    ... propagated from [email-masked]
> hint: Try upgrading both `guile-cairo' and `cairomm', or remove one of them from the profile.

I’ve pushed the patch as commit
3b80b81358b3861ca3794105c8eb4395df97846b.  Hopefully these hints help
users get on the right track, and we can always adjust them.

Thanks,
Ludo’.

Subject: "Profile contains conflicting entries" could be more helpful
From: Ben Sturmfels <[email-masked]>
To: [email-masked]
Date: Sat, 11 Nov 2017 11:14:05 +1100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Folks,

When trying to install "python-twine", installation failed with the
following error:

$ guix package --install python-twine
The following package will be installed:
   python-twine	1.9.1	/gnu/store/fh72qswc2gpj1c1xb2gm23hfs1vx4lk2-python-twine-1.9.1

guix package: error: profile contains conflicting entries for python-requests:out
guix package: error:   first entry: [email-masked]:out /gnu/store/4paqanwmdw2d7ss9hdq7d34b43ycjgsv-python-requests-2.13.0
guix package: error:    ... propagated from [email-masked]
guix package: error:   second entry: [email-masked]:out /gnu/store/z4jqf8p2z73dscrjmbpwamdvyfdaqkgx-python-requests-2.13.0

This was quite baffling - it wasn’t clear to me why there was a
conflict, whether it was related to something I'd done and what I could
do to fix it.

If I understand correctly, the cause is that I had manually installed
"python-requests" at some stage and that only one version can be
available in my profile, and that "python-twine" depended on a different
version.

I believe the action I need to take to resolve the conflict is:

  guix package --install python-twine --upgrade python-requests

So I think the bug is that the user interface could be more helpful here.
It should probably either tell you what happened and what you can do to
fix it, or offer to resolve the conflict/perform the upgrade for you.

Regards,
Ben