unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#42595: conflicts in propagated imports must be resolved manually
@ 2020-07-29  7:54 Dr. Arne Babenhauserheide
  2020-07-29  8:14 ` Efraim Flashner
  2021-02-15 23:50 ` Luis Felipe via Bug reports for GNU Guix
  0 siblings, 2 replies; 6+ messages in thread
From: Dr. Arne Babenhauserheide @ 2020-07-29  7:54 UTC (permalink / raw)
  To: 42595

[-- Attachment #1: Type: text/plain, Size: 1591 bytes --]

Hi,

When I get conflicts in propagated imports, I must follow a mechanical
multi-step process to resolve them manually.

A recent example: I wanted to install guile-gi. In the first step I was
told to also update python-pycairo, and in the next steps I had to add,
one by one,


dbus-glib cairo guile-charting libsoup poppler pango

And now I gave up. I’m now here and out of time:

LANG=C guix package -i guile-gi python-pycairo dbus-glib cairo guile-charting libsoup poppler pango
The following packages will be upgraded:
   python-pycairo (dependencies or package changed)
   dbus-glib      (dependencies or package changed)
   cairo          (dependencies or package changed)
   guile-charting (dependencies or package changed)
   libsoup        (dependencies or package changed)
   poppler        (dependencies or package changed)
   pango          (dependencies or package changed)

The following package will be installed:
   guile-gi 0.3.0

guix package: error: profile contains conflicting entries for glib
guix package: error:   first entry: glib@2.62.6 /gnu/store/xr6zfqxklmr7skalljn5i071xmgqxbrm-glib-2.62.6
guix package: error:    ... propagated from cairo@1.16.0
guix package: error:    ... propagated from pango@1.44.7
guix package: error:   second entry: glib@2.62.6 /gnu/store/q4100sjqcsdi6b232ndr93vxfzv9bzij-glib-2.62.6
guix package: error:    ... propagated from libnotify@0.7.7


This should be automated, so there would be just one step to add all
updates I need.
-- 
Unpolitisch sein
heißt politisch sein
ohne es zu merken

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 1076 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#42595: conflicts in propagated imports must be resolved manually
  2020-07-29  7:54 bug#42595: conflicts in propagated imports must be resolved manually Dr. Arne Babenhauserheide
@ 2020-07-29  8:14 ` Efraim Flashner
  2020-08-24 14:44   ` Ludovic Courtès
  2021-02-15 23:50 ` Luis Felipe via Bug reports for GNU Guix
  1 sibling, 1 reply; 6+ messages in thread
From: Efraim Flashner @ 2020-07-29  8:14 UTC (permalink / raw)
  To: Dr. Arne Babenhauserheide; +Cc: 42595

[-- Attachment #1: Type: text/plain, Size: 2054 bytes --]

On Wed, Jul 29, 2020 at 09:54:07AM +0200, Dr. Arne Babenhauserheide wrote:
> Hi,
> 
> When I get conflicts in propagated imports, I must follow a mechanical
> multi-step process to resolve them manually.
> 
> A recent example: I wanted to install guile-gi. In the first step I was
> told to also update python-pycairo, and in the next steps I had to add,
> one by one,
> 
> 
> dbus-glib cairo guile-charting libsoup poppler pango
> 
> And now I gave up. I’m now here and out of time:
> 
> LANG=C guix package -i guile-gi python-pycairo dbus-glib cairo guile-charting libsoup poppler pango
> The following packages will be upgraded:
>    python-pycairo (dependencies or package changed)
>    dbus-glib      (dependencies or package changed)
>    cairo          (dependencies or package changed)
>    guile-charting (dependencies or package changed)
>    libsoup        (dependencies or package changed)
>    poppler        (dependencies or package changed)
>    pango          (dependencies or package changed)
> 
> The following package will be installed:
>    guile-gi 0.3.0
> 
> guix package: error: profile contains conflicting entries for glib
> guix package: error:   first entry: glib@2.62.6 /gnu/store/xr6zfqxklmr7skalljn5i071xmgqxbrm-glib-2.62.6
> guix package: error:    ... propagated from cairo@1.16.0
> guix package: error:    ... propagated from pango@1.44.7
> guix package: error:   second entry: glib@2.62.6 /gnu/store/q4100sjqcsdi6b232ndr93vxfzv9bzij-glib-2.62.6
> guix package: error:    ... propagated from libnotify@0.7.7
> 
> 
> This should be automated, so there would be just one step to add all
> updates I need.

Are all of the packages from the same guix commit? What if you try
running 'guix package -u' to upgrade all your packages first and then
installing new ones?


-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#42595: conflicts in propagated imports must be resolved manually
  2020-07-29  8:14 ` Efraim Flashner
@ 2020-08-24 14:44   ` Ludovic Courtès
  2022-07-14  3:09     ` Maxim Cournoyer
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2020-08-24 14:44 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: 42595

Hi Arne & Efraim,

efraim Flashner <efraim@flashner.co.il> skribis:

> On Wed, Jul 29, 2020 at 09:54:07AM +0200, Dr. Arne Babenhauserheide wrote:
>> Hi,
>> 
>> When I get conflicts in propagated imports, I must follow a mechanical
>> multi-step process to resolve them manually.

[...]

>> LANG=C guix package -i guile-gi python-pycairo dbus-glib cairo guile-charting libsoup poppler pango
>> The following packages will be upgraded:
>>    python-pycairo (dependencies or package changed)
>>    dbus-glib      (dependencies or package changed)
>>    cairo          (dependencies or package changed)
>>    guile-charting (dependencies or package changed)
>>    libsoup        (dependencies or package changed)
>>    poppler        (dependencies or package changed)
>>    pango          (dependencies or package changed)
>> 
>> The following package will be installed:
>>    guile-gi 0.3.0
>> 
>> guix package: error: profile contains conflicting entries for glib
>> guix package: error:   first entry: glib@2.62.6 /gnu/store/xr6zfqxklmr7skalljn5i071xmgqxbrm-glib-2.62.6
>> guix package: error:    ... propagated from cairo@1.16.0
>> guix package: error:    ... propagated from pango@1.44.7
>> guix package: error:   second entry: glib@2.62.6 /gnu/store/q4100sjqcsdi6b232ndr93vxfzv9bzij-glib-2.62.6
>> guix package: error:    ... propagated from libnotify@0.7.7
>> 
>> 
>> This should be automated, so there would be just one step to add all
>> updates I need.
>
> Are all of the packages from the same guix commit? What if you try
> running 'guix package -u' to upgrade all your packages first and then
> installing new ones?

Also, Arne, it seems to me that Guix alone cannot decide how to solve
that conflict; it’s up to the user.  Thoughts?

Ludo’.




^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#42595: conflicts in propagated imports must be resolved manually
  2020-07-29  7:54 bug#42595: conflicts in propagated imports must be resolved manually Dr. Arne Babenhauserheide
  2020-07-29  8:14 ` Efraim Flashner
@ 2021-02-15 23:50 ` Luis Felipe via Bug reports for GNU Guix
  1 sibling, 0 replies; 6+ messages in thread
From: Luis Felipe via Bug reports for GNU Guix @ 2021-02-15 23:50 UTC (permalink / raw)
  To: 42595@debbugs.gnu.org

I get this problem from time to time in my user profile, and it is really annoying because doing what the hint says rarely fixes the problem easily. If you follow the hint, you end up wasting a lot of time when you get into that loop of "hint: Try upgrading both `PACKAGE_I_WANT_TO_INSTALL' and `SOME_PACKAGE_IN_THE_PROFILE', or remove one of them from the profile."

I always forget that the solution is to upgrade all packages in the profile. So maybe the hint should suggest that instead?

So it seems I always get into this problem because I use "guix install PACKAGE" and also "guix upgrade SINGLE_PACKAGE", as I don't always have the time to upgrade the whole profile (which contains almost 100 packages, some of which may have no substitutes and may also have a failing phase, which can result in more wasted time).

I'll need to build the habit of using the declarative approach instead to modify my profile, as Mark Weaver suggests in https://issues.guix.gnu.org/37940 (which, by the way, seems like a duplicate of this issue).

> Also, Arne, it seems to me that Guix alone cannot decide how to solve that conflict; it’s up to the user.

That's understandable but unsatisfying :)




^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#42595: conflicts in propagated imports must be resolved manually
  2020-08-24 14:44   ` Ludovic Courtès
@ 2022-07-14  3:09     ` Maxim Cournoyer
  2022-07-15 13:31       ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Maxim Cournoyer @ 2022-07-14  3:09 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Dr. Arne Babenhauserheide, Efraim Flashner, 42595

Hi,

Ludovic Courtès <ludo@gnu.org> writes:

> Hi Arne & Efraim,
>
> efraim Flashner <efraim@flashner.co.il> skribis:
>
>> On Wed, Jul 29, 2020 at 09:54:07AM +0200, Dr. Arne Babenhauserheide wrote:
>>> Hi,
>>> 
>>> When I get conflicts in propagated imports, I must follow a mechanical
>>> multi-step process to resolve them manually.
>
> [...]
>
>>> LANG=C guix package -i guile-gi python-pycairo dbus-glib cairo guile-charting libsoup poppler pango
>>> The following packages will be upgraded:
>>>    python-pycairo (dependencies or package changed)
>>>    dbus-glib      (dependencies or package changed)
>>>    cairo          (dependencies or package changed)
>>>    guile-charting (dependencies or package changed)
>>>    libsoup        (dependencies or package changed)
>>>    poppler        (dependencies or package changed)
>>>    pango          (dependencies or package changed)
>>> 
>>> The following package will be installed:
>>>    guile-gi 0.3.0
>>> 
>>> guix package: error: profile contains conflicting entries for glib
>>> guix package: error: first entry: glib@2.62.6
>>> /gnu/store/xr6zfqxklmr7skalljn5i071xmgqxbrm-glib-2.62.6
>>> guix package: error:    ... propagated from cairo@1.16.0
>>> guix package: error:    ... propagated from pango@1.44.7
>>> guix package: error: second entry: glib@2.62.6
>>> /gnu/store/q4100sjqcsdi6b232ndr93vxfzv9bzij-glib-2.62.6
>>> guix package: error:    ... propagated from libnotify@0.7.7
>>> 
>>> 
>>> This should be automated, so there would be just one step to add all
>>> updates I need.

[...]

> Also, Arne, it seems to me that Guix alone cannot decide how to solve
> that conflict; it’s up to the user.  Thoughts?

I guess it could compute all the conflicts and then fail and show the
results, so that the user wouldn't need to slowly iterate on its
per-package findings; perhaps recommend to simply upgrade wholesale when
the conflicts are too numerous?

Perhaps it could even *already* make such a recommendation when
encountering conflicts, e.g.

--8<---------------cut here---------------start------------->8---
hint: To avoid conflicts, you can upgrade all of your package collection
at once with 'guix upgrade'.
--8<---------------cut here---------------end--------------->8---

Is this worth it?

Maxim




^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#42595: conflicts in propagated imports must be resolved manually
  2022-07-14  3:09     ` Maxim Cournoyer
@ 2022-07-15 13:31       ` Ludovic Courtès
  0 siblings, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2022-07-15 13:31 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: Dr. Arne Babenhauserheide, Efraim Flashner, 42595

Hi,

Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:

> Ludovic Courtès <ludo@gnu.org> writes:

[...]

>>>> guix package: error: profile contains conflicting entries for glib
>>>> guix package: error: first entry: glib@2.62.6
>>>> /gnu/store/xr6zfqxklmr7skalljn5i071xmgqxbrm-glib-2.62.6
>>>> guix package: error:    ... propagated from cairo@1.16.0
>>>> guix package: error:    ... propagated from pango@1.44.7
>>>> guix package: error: second entry: glib@2.62.6
>>>> /gnu/store/q4100sjqcsdi6b232ndr93vxfzv9bzij-glib-2.62.6
>>>> guix package: error:    ... propagated from libnotify@0.7.7
>>>> 
>>>> 
>>>> This should be automated, so there would be just one step to add all
>>>> updates I need.
>
> [...]
>
>> Also, Arne, it seems to me that Guix alone cannot decide how to solve
>> that conflict; it’s up to the user.  Thoughts?
>
> I guess it could compute all the conflicts and then fail and show the
> results, so that the user wouldn't need to slowly iterate on its
> per-package findings;

Yes, that’d be an improvement.

> perhaps recommend to simply upgrade wholesale when the conflicts are
> too numerous?
> Perhaps it could even *already* make such a recommendation when
> encountering conflicts, e.g.
>
> hint: To avoid conflicts, you can upgrade all of your package collection
> at once with 'guix upgrade'.

Yes, we could adjust the second message in
‘display-collision-resolution-hint’ along these lines.

Thanks,
Ludo’.




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-07-15 13:32 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-29  7:54 bug#42595: conflicts in propagated imports must be resolved manually Dr. Arne Babenhauserheide
2020-07-29  8:14 ` Efraim Flashner
2020-08-24 14:44   ` Ludovic Courtès
2022-07-14  3:09     ` Maxim Cournoyer
2022-07-15 13:31       ` Ludovic Courtès
2021-02-15 23:50 ` Luis Felipe via Bug reports for GNU Guix

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).