endless "try upgrading both" cycles

  • Open
  • quality assurance status badge
Details
5 participants
  • Arne Babenhauserheide
  • Danny Milosavljevic
  • Diego Nicola Barbato
  • Ludovic Courtès
  • Mark H Weaver
Owner
unassigned
Submitted by
Arne Babenhauserheide
Severity
normal
A
A
Arne Babenhauserheide wrote on 27 Oct 2019 10:54
(address . bug-guix@gnu.org)
87r22yldiv.fsf@web.de
Hi,


When installing a package while some packages are not up to date, guix
can require adding more and more packages to guix install:


$ LANG=C guix install gtk+ dbus dbus-c++ dbus-glib glib libsoup rest libnotify poppler pcre libffi
The following packages will be upgraded:
dbus 1.12.12 -> 1.12.16 /gnu/store/nlb24nrrrkn2h9vflnqigcf2hx58rvyx-dbus-1.12.16
dbus-c++ 0.9.0 -> 0.9.0 /gnu/store/f67vzh5hp4jd2y34hiz8jdd9wymv1j8x-dbus-c++-0.9.0
dbus-glib 0.108 -> 0.108 /gnu/store/0riy07j7njqf2avcr9n5asrdxapd2np4-dbus-glib-0.108
glib 2.56.3 -> 2.60.6 /gnu/store/fbnpd7vjifm6ijyij4hi18mnsnf76983-glib-2.60.6
libsoup 2.66.2 -> 2.68.2 /gnu/store/pabg3nkgmxg5cglimz7fklnk4n4dypb1-libsoup-2.68.2
rest 0.8.1 -> 0.8.1 /gnu/store/xpvpfhf93rz4jkvi9pp2p5cvh4jcbv1h-rest-0.8.1
libnotify 0.7.7 -> 0.7.7 /gnu/store/djpm5rvn35aaasfsgh7y3kqis71av5fy-libnotify-0.7.7
poppler 0.72.0 -> 0.79.0 /gnu/store/8xysjsr4nh72m4334vff987x52pxyfmn-poppler-0.79.0
pcre 8.42 -> 8.43 /gnu/store/5j6w0x3aq0i5r9565w92lrh016vlmv2d-pcre-8.43
libffi 3.2.1 -> 3.2.1 /gnu/store/ain96mrdwqd4s9shdd3s7m4syp5icdx5-libffi-3.2.1

The following package will be installed:
gtk+ 3.24.10 /gnu/store/6x13nr57i1qml20kjl30l7b767cw0d0b-gtk+-3.24.10

guix install: error: profile contains conflicting entries for util-linux
guix install: error: first entry: util-linux@2.34 /gnu/store/xymkwf57x988q8cny2is1dgzrbr9xdfi-util-linux-2.34
guix install: error: ... propagated from glib@2.60.6
guix install: error: ... propagated from poppler@0.79.0
guix install: error: second entry: util-linux@2.32.1 /gnu/store/8k4pnixpz73kxvxbjqajgbprjjmmgpxy-util-linux-2.32.1
hint: Try upgrading both `poppler' and `util-linux', or remove one of them from the profile.


Since Guix already knows about these requirements, it would be great if
I could tell it to just pull in all additional updates to be able to
install the package. Or at least tell me about all the required upgrades
in one step. Something like

guix install: error: profile contains conflicting entries
guix install: error: conflict N: util-linux
guix install: error: first entry: util-linux@2.34 /gnu/store/xymkwf57x988q8cny2is1dgzrbr9xdfi-util-linux-2.34
guix install: error: ... propagated from glib@2.60.6
guix install: error: ... propagated from poppler@0.79.0
guix install: error: second entry: util-linux@2.32.1 /gnu/store/8k4pnixpz73kxvxbjqajgbprjjmmgpxy-util-linux-2.32.1
guix install: error: conflict N+1: util-linux
guix install: error: first entry: util-linux@2.34 /gnu/store/xymkwf57x988q8cny2is1dgzrbr9xdfi-util-linux-2.34
guix install: error: second entry: util-linux@2.32.1 /gnu/store/8k4pnixpz73kxvxbjqajgbprjjmmgpxy-util-linux-2.32.1
guix install: error: ... propagated from fontconfig@2.13.1

hint: Try upgrading removing dbus from the profile or upgrading all
dependent packages with
hint: guix install gtk+ dbus dbus-c++ dbus-glib glib libsoup rest libnotify poppler pcre libffi util-linux ...


Best wishes,
Arne
--
Unpolitisch sein
heißt politisch sein
ohne es zu merken
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE801qEjXQSQPNItXAE++NRSQDw+sFAl21aUwACgkQE++NRSQD
w+vkhg//eLmxL+42qsWCadfVxVjcE2WdDvSlJ6Uohcosf9a21cPgUBUZ7A6l2MSG
eZ+ByT9ASbBwjqK2K71XV/AN0jEM3m7QfiBu3adaQW7+0ni86b9evquaO7vlSTLl
BApuzzwg6x3mAX430EOSGpqr1KuTCE/u/8mdgBL1UM9PXJghWFg1W2XO6ysusOZe
7gbbxwy6gyBQppTdREz9Hi6xzOoQeSrerFs5pJlEjcKNq8uooc6SEI/HPrK6Et7B
FmnHJ2CHE/LTp/Lg7Cxgfpo2b45cmEcKmeTo9+Lay3Kufh5NRPBc+icQUuN3MXLo
+O5IyTK1SHGObtrAmDfK3o7mtV+CmBQ2qJre4ZvMGQI4HAdMN+O2QG172vzeI6pS
+AFH7d5KOzrkvFr7yHYpQfyA/+liezSvCW5Su2hjYJjpwE225Apq8JLcmxTB3ULt
k4x4AZ7cNZfnGQNm5cbkYEK6K/DeuOKLSuNnHw7Bm/ZoyU9y9b1V3VyAR4HGGBp3
rmaPYvjEoPrtsBXFjJ6IaslriBPHe+2+fpnMtwUz+jEPYBlSbVnAlHgE2SRncqC3
+NJDwWD2Bp3BAs3BKUFhknJBT8Q3Xl2D2+KIR+BLp1QxUdZXfHwBkhu9d07YFfjZ
HA+v40Zj1YCheriEGOqV1EbBULBvLaHP13Eiuyn7Jqh32bxEwyeIswQBAQgAHRYh
BN0ovebZh1yrzkqLHdzPDbMLwQVIBQJdtWlNAAoJENzPDbMLwQVIHLAD/i1CoaxJ
h+KIyZhp4tpQd6qMo8ZdQs46lYXoHNeVgQfXljGLAWcJGsb/h1PDwC/NjIzuHWBw
4lbb2e6vdFyFSfbCxV+ZHe9FApFJCGFpn9183DEWyi6rOptrs8XbiWSJxbakIYNi
WI7N3E+ousHLIqKqcEvc1W2qnVJg8tIdYKUE
=pyxC
-----END PGP SIGNATURE-----

M
M
Mark H Weaver wrote on 27 Oct 2019 18:37
(name . Arne Babenhauserheide)(address . arne_bab@web.de)(address . 37940@debbugs.gnu.org)
87v9saqeba.fsf@netris.org
Hi Arne,

Arne Babenhauserheide <arne_bab@web.de> writes:
Toggle quote (2 lines)
> When installing a package while some packages are not up to date, guix
> can require adding more and more packages to guix install:
[...]
Toggle quote (7 lines)
> guix install: error: profile contains conflicting entries for util-linux
> guix install: error: first entry: util-linux@2.34 /gnu/store/xymkwf57x988q8cny2is1dgzrbr9xdfi-util-linux-2.34
> guix install: error: ... propagated from glib@2.60.6
> guix install: error: ... propagated from poppler@0.79.0
> guix install: error: second entry: util-linux@2.32.1 /gnu/store/8k4pnixpz73kxvxbjqajgbprjjmmgpxy-util-linux-2.32.1
> hint: Try upgrading both `poppler' and `util-linux', or remove one of them from the profile.

I just wanted to briefly mention that if you use the "declarative
approach" to specifying user profiles, via the --manifest option to
"guix package", you will avoid this problem entirely. I've been happily
using that approach for years, and I literally cannot remember the last
time I saw a "conflicting entries" message. I heartily recommend it.

Mark
L
L
Ludovic Courtès wrote on 27 Oct 2019 23:46
(name . Mark H Weaver)(address . mhw@netris.org)
871ruxhkml.fsf@gnu.org
Hi Arne & Mark,

Mark H Weaver <mhw@netris.org> skribis:

Toggle quote (17 lines)
> Arne Babenhauserheide <arne_bab@web.de> writes:
>> When installing a package while some packages are not up to date, guix
>> can require adding more and more packages to guix install:
> [...]
>> guix install: error: profile contains conflicting entries for util-linux
>> guix install: error: first entry: util-linux@2.34 /gnu/store/xymkwf57x988q8cny2is1dgzrbr9xdfi-util-linux-2.34
>> guix install: error: ... propagated from glib@2.60.6
>> guix install: error: ... propagated from poppler@0.79.0
>> guix install: error: second entry: util-linux@2.32.1 /gnu/store/8k4pnixpz73kxvxbjqajgbprjjmmgpxy-util-linux-2.32.1
>> hint: Try upgrading both `poppler' and `util-linux', or remove one of them from the profile.
>
> I just wanted to briefly mention that if you use the "declarative
> approach" to specifying user profiles, via the --manifest option to
> "guix package", you will avoid this problem entirely. I've been happily
> using that approach for years, and I literally cannot remember the last
> time I saw a "conflicting entries" message. I heartily recommend it.

Indeed. Even if you don’t use the declarative approach, usually just
upgrade everything (“guix upgrade”) and you won’t have any problems
either.

Problems arise when you try to upgrade only part of the packages.

Now, it doesn’t sound right that ‘util-linux’ is propagated from glib
and from poppler…?

Ludo’.
A
A
Arne Babenhauserheide wrote on 28 Oct 2019 01:03
(name . Ludovic Courtès)(address . ludo@gnu.org)
87a79l7n2z.fsf@web.de
Hi Mark and Ludovic,

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

Toggle quote (20 lines)
> Hi Arne & Mark,
>
> Mark H Weaver <mhw@netris.org> skribis:
>> Arne Babenhauserheide <arne_bab@web.de> writes:
>>> When installing a package while some packages are not up to date, guix
>>> can require adding more and more packages to guix install:
>> [...]
>>> guix install: error: profile contains conflicting entries for util-linux
>>> guix install: error: first entry: util-linux@2.34 /gnu/store/xymkwf57x988q8cny2is1dgzrbr9xdfi-util-linux-2.34
>>> guix install: error: ... propagated from glib@2.60.6
>>> guix install: error: ... propagated from poppler@0.79.0
>>> guix install: error: second entry: util-linux@2.32.1 /gnu/store/8k4pnixpz73kxvxbjqajgbprjjmmgpxy-util-linux-2.32.1
>>> hint: Try upgrading both `poppler' and `util-linux', or remove one of them from the profile.
>>
>> I just wanted to briefly mention that if you use the "declarative
>> approach" to specifying user profiles, via the --manifest option to
>> "guix package", you will avoid this problem entirely. I've been happily
>> using that approach for years, and I literally cannot remember the last
>> time I saw a "conflicting entries" message. I heartily recommend it.

I’m just using guix install when I need a new package and guix remove
to clean up. Shouldn’t that be equivalent?

Toggle quote (6 lines)
> Indeed. Even if you don’t use the declarative approach, usually just
> upgrade everything (“guix upgrade”) and you won’t have any problems
> either.
>
> Problems arise when you try to upgrade only part of the packages.

This problem cuts in when the system is not fully up to date and I use
guix install.

Toggle quote (3 lines)
> Now, it doesn’t sound right that ‘util-linux’ is propagated from glib
> and from poppler…?

Poppler needs glib at runtime and glib needs tools from util-linux at
runtime?

Best wishes,
Arne
--
Unpolitisch sein
heißt politisch sein
ohne es zu merken
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE801qEjXQSQPNItXAE++NRSQDw+sFAl22MGcACgkQE++NRSQD
w+tKag/8CetOl4ikxIjeLUEoXuK6eoQSE9VkQKA2ncSQt42fHeLgZm5pB8waG+Ck
GJGeLAS2Es1zhD9ePjF5cSnQIwgC7wJSLxP0U1+DTv+SSaaFfnY8uu0rykoa9SAz
9d6jLCxZVLDmxWjdWboYkH25rrSHrzEXwpTx6iYYDfB4W8isULvh9evVEvaarC8A
nmTOHyd9Rg27K1PnSDfeLORMS/KWEHm1vc3QgVIMTkYC+IV0L7FvTtZAt284zGTu
TNOZE24nqE9xluP9AYXqqBSp4fqSoljCKEwGlT9xv3ox+hkS/r52INGd9ZfDPEEG
UWxZGBHBJQnMW4datTfE+CvdBfV74lgfEDL2E/bwo9t7esZStduo4uKG33oSqolL
JCTG+SR/t5k4X37FJtmYoaxkLl3Rp0XCEHftU075J1Wn2YyOhC4+E4vObFH/ia5A
1H8Dr0HsitNDdD3biFbJwS1Dp11TQXYPdHaQQc/tJh61+6OtSML+nqBVhLLnS4cB
tTkO/fZqcH/9iO/wYhS7H3tDjpnf95oHbyYg9bc8xwuQCsRLmz/4bqKVmZdI+qiD
aRfTjYXVXLlL8Ydja3TfBMiVNFcji5QbmLcANna9VG0E8/iyrlOBf3oeKwb0f/ML
ahdd9xbEorsysinJrV2NZz/O1owLv5zwjlGzY9RGguizhH+vMjmIswQBAQgAHRYh
BN0ovebZh1yrzkqLHdzPDbMLwQVIBQJdtjBnAAoJENzPDbMLwQVI/dgD/27xAQSQ
oS0d50uvUmonxYMNFgrJUXFNtMw/4O9t8si5pU5s5eFi3AW7Y69nqpcsvInljPb2
DEkzRk3Y5X14QyUW6UxL8o0YhXBDsadIJALbx500opQTqQQOpX6EgGKawyBK/xFG
XenzBv8VmJ416n7FgEh5hdIIGRhbGtK+Cucx
=hFT8
-----END PGP SIGNATURE-----

D
D
Diego Nicola Barbato wrote on 30 Oct 2019 12:20
(name . Ludovic Courtès)(address . ludo@gnu.org)
87y2x2iiof.fsf@GlaDOS.home
Hello Ludo,

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


[...]


Toggle quote (3 lines)
> Now, it doesn’t sound right that ‘util-linux’ is propagated from glib
> and from poppler…?

Glib propagates 'util-linux' since it was updated to 2.58.1 (and poppler
propagates glib). This isn't the first time it's caused trouble [0].
Marius has proposed a patch to fix it, which is intended for
'core-updates' (It hasn't been pushed yet AFAIK).

Regards,

Diego

D
D
Danny Milosavljevic wrote on 31 Oct 2019 10:28
(name . Arne Babenhauserheide)(address . arne_bab@web.de)
20191031102825.46a1c51e@scratchpost.org
Hi,

On Mon, 28 Oct 2019 01:03:48 +0100
Arne Babenhauserheide <arne_bab@web.de> wrote:

Toggle quote (6 lines)
> > Now, it doesn’t sound right that ‘util-linux’ is propagated from glib
> > and from poppler…?
>
> Poppler needs glib at runtime and glib needs tools from util-linux at
> runtime?

That doesn't mean glib has to propagate the thing into the profile.

Quite the opposite, Guix is one of the few projects which rightly make the
distinction whether some dependency is an internal implementation detail of
a package or whether it's required in the public interface.

With glib's goal of abstracting stuff from UNIX away I seriously doubt they
intend util-*linux*, of all things, to be part of their public interface.

But you are right that Guix's glib propagates util-linux. That is most likely
a bug, or it's because of pkg-config files (which also could be solved another
way).

Checking glib-2.50.3, none of their pkg-config files (.pc) mention libmount,
so not sure what's going on.

glib-2.60.6 uses meson which apparently doesn't use pkg-config (?).
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAl26qTkACgkQ5xo1VCww
uqW8XAf+LBh+6EQfULE2ZTfRj2l4Z75DUrYs+aahZwh2wdpR3dUWnDGU5MaTrnJy
JLOUZku3ndQREaq/cqnDD3PSC7xp0GIFFk9rTTf2C7u8jiTnZeLqcq0pKReWxqgA
tRAxkIHvne+W36BoQD9zVhD1IPNXuNtLollOufWPi2HObNAxmoiSptykd2y+fkFb
TVUFdHkXBSaZOrsKK7k1cAOHguTybV7/clmViYRDAbUOgofMEm7MseEbmXpVFLTC
QyE7BnaU4hGvOpU7gl3R7vWZYopjTEOv2uM2P39bYLF+CKopDNtmtnFHOu1uGNWE
msB3bw9AYwmlI76ZROsTl9lTKqMBcA==
=iKxf
-----END PGP SIGNATURE-----


?