Subject: Inkscape is missing imagemagick

From: Andreas Enge <[email-masked]>
Date: Mon, 22 Mar 2021 11:13:57 +0100

Hello,

$ guix environment --ad-hoc inkscape
[env]$ inkscape /tmp/guixtile.svg
/gnu/store/7bs616gpgnmj4g5d0g88dkphd1gqbicy-inkscape-1.0.2/bin/.inkscape-real: error while loading shared libraries: libMagickCore-6.Q16.so.6: cannot open shared object file: No such file or directory

The same happens when I add imagemagick of [email-masked] or
[email-masked] to the environment.

But maybe the older imagemagick is not even built?

$ guix build [email-masked]
/gnu/store/m794l5c82clc3xa1lkg30pr96y9a60m3-imagemagick-6.9.12-2g-doc
/gnu/store/nnw0jnxpcf5bfaxbc3c5dkw87j13bq94-imagemagick-6.9.12-2g

Notice the version mismatch!

$ guix build [email-masked]
guix build: error: imagemagick: package not found for version 6.9.11

It should work to just specify a version prefix, right?

$ guix describe
Generation 29	Mar 11 2021 12:17:47	(current)
  guix 500189b
    repository URL: https://git.savannah.gnu.org/git/guix.git
    commit: 500189b4d2f1e3a2d4ee8ab73d889e3d8ac70632

This is probably due to
commit 82e887ba48c2ba91b17aa9b6b17501e3e0ef4aef
Author: Léo Le Bouter <[email-masked]>
Date:   Tue Mar 9 23:02:51 2021 +0100
    gnu: imagemagick: Update to 6.9.12-2 [security fixes].
    * gnu/packages/imagemagick.scm (imagemagick/fixed): New variable.
    (imagemagick)[replacement]: Graft.

I am not familiar with replacements, but it appears they force an update.
This should not happen together with a library soname change; effectively,
the result is a removal of the previous imagemagick package from Guix
together with the addition of an unrelated new one, that cannot replace
the previous one, but just happens to be a different program sharing the
same name.

So in this case, the only option is to upgrade the imagemagick package
and to recompile all its dependents.

Andreas