On Tue, Nov 08, 2016 at 05:09:11PM +0000, Paul Garlick wrote: > $ ./pre-inst-env guix environment --pure gmsh > warning: collision encountered: > /gnu/store/m6s3bz6a2sv7015z78sfzdk5ngkzdwwg-gfortran- > 4.9.3/libexec/gcc/x86_64-unknown-linux-gnu/4.9.3/liblto_plugin.so.0.0.0 > /gnu/store/frrj3bfbmg5vrd0flh9cf8j64h7cr2v4-gcc- > 4.9.3/libexec/gcc/x86_64-unknown-linux-gnu/4.9.3/liblto_plugin.so.0.0.0 > warning: arbitrarily choosing > /gnu/store/m6s3bz6a2sv7015z78sfzdk5ngkzdwwg-gfortran- > 4.9.3/libexec/gcc/x86_64-unknown-linux-gnu/4.9.3/liblto_plugin.so.0.0.0
[...] > There are 14 gfortran-related messages and a message regarding ld- > wrapper and binutils. The ld-wrapper collision is harmless. See http://bugs.gnu.org/22659 > How should these messages be interpreted? Could there be duplication > in the package inputs? These are filesystem paths that collide when generating a profile. A profile is a bunch of symlinks, forming a union of various directories in /gnu/store. The collision warnings mean that of the store directories linked to from your profile, more than one provide a given path. For example, GNU Parallel and moreutils both have a path "bin/parallel": /gnu/store/7ggbvsql79s5i05a3v8cbn48kdrzf7nc-parallel-20151222/bin/parallel /gnu/store/ax4ppgzmx5cjqr813l3djgzhiniam1yz-moreutils-0.57/bin/parallel If you wanted to install both in your profile, those two paths would both become: ~/.guix-profile/bin/parallel To resolve the conflict, the first one is chosen and the rest are not included in the profile. In general, we have to investigate collisions on a case by case basis; some are harmless, some are not. Avoiding harmful collisions is a use case for creating profiles with `guix package --profiles`. > I have noticed that Gmsh lists gfortran and lapack as propagated-inputs > and lapack also lists gfortran as an input. I wonder if this could be improved to eliminate the collisions, but I don't have experience with those packages.
