guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#39588] gnu: Add mpich, scalapack-mpich, mumps-mpich, pt-scotch-mpic


From: Maurice Brémond
Subject: [bug#39588] gnu: Add mpich, scalapack-mpich, mumps-mpich, pt-scotch-mpich, python-mpi4py-mpich
Date: Wed, 19 Feb 2020 12:45:55 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1.50 (gnu/linux)

Hi Simon,

>If mumps depends explicitly on openmpi, then '--with-inputs' can
>rewrite the direct dependencies, by providing say mpich instead of
>openmpi.
>If petsc* depends explicitly on openmpi and on mumps (which depends
>explicitly on openmpi too), then '--with-inputs=openmpi=mpich'  will
>*only* rewrite the dependency of petsc but not of mumps. So it ends
>with petsc compiled with mpich and mumps with openmpi.
>
>Still considering this (fictive) example, where:
> - petsc depends on openmpi(1) and mumps
> - mumps depends on openmpi(2)
>The openmpi(2) is an implicit dependency for petsc and '--with-inputs'
>does not work.
>
>*because I know better PETSc than Scotch. ;-)
>

Ok thank you for the clarification, I understand better now.

I misunderstood the documentation:

https://guix.gnu.org/manual/en/html_node/Package-Transformation-Options.html

   --with-input=package=replacement
   [...]
   This is a recursive, deep replacement. [...]

So I thought that implicit packages had something to do with other
inputs like native-inputs, but it was not clear for me.
(I must admit that I still do not understand very well the recursive term here)

I made a confusion also with the replacement, --with-input must be given
the name of the package and not the name of the dependency, so
--with-input=openmpi=mpich is sufficient.

In the scalapack input I can see:

     `(("mpi" ,openmpi)
       ("fortran" ,gfortran)
       ("lapack" ,lapack)))             ;for testing only

So my assumption is that the --with-input transformation should work
here as neither gfortran or lapack depends on mpi and to just build
scalapack with mpich I tried:

guix time-machine --commit=c70261bfb993cebc23cd80042de3f52a8b7932a4 -- build 
scalapack --with-input=openmpi=mpich

This fails with the same error:

Attachment: txtdMwmxBIQye.txt
Description: guix build scalapack --with-input=openmpi=mpich


I also tried to compile my *-mpich packages in my own branch with the new
mpich package and get the same results :

guix time-machine --url=https://gitlab.inria.fr/bremond/guix.git \
 --branch=check-master-mpich -- \
 environment --pure --ad-hoc mumps-mpich 


Maurice


reply via email to

[Prev in Thread] Current Thread [Next in Thread]