conda-forge / openmpi-feedstock

A conda-smithy repository for openmpi.
BSD 3-Clause "New" or "Revised" License
9 stars 22 forks source link

openmpi 4.1.3 build links older libgfortran than 4.1.2 #94

Closed minrk closed 2 years ago

minrk commented 2 years ago

Solution to issue cannot be found in the documentation.

Issue

openmpi 4.1.3 is built with gfortran 7, while openmpi 4.1.2 is built with gfortran 9 (change here. This results in a runtime dep on libgfortran4 in the newer build instead of libgfortran5, meaning it can't be installed with other packages built with the current default fortran compiler, like hdf5 1.12.

It's pinning the cuda compiler version to 10.2 here that is the cause, due to zip_keys here in conda_forge_pinning.

I'm not sure if there's an easy way in conda_build_config.yaml to specify the old cuda compiler with the new fortran compiler. Perhaps the simplest solution is to remove the pin and just let the compiler matrix do its thing. This is a bit wasteful if we ignore run exports from the cuda compiler, but it should result in correct (if redundant) outputs.

Installed packages

mamba create --dry-run -n test hdf5=1.12.1 openmpi=4.1.3 h5py=3.6

(conflict is on libgfortran5 in hdf5 and libgfortran4 in openmpi)

Environment info

active environment : base
    active env location : /opt/conda
            shell level : 1
       user config file : /root/.condarc
 populated config files : /opt/conda/.condarc
          conda version : 4.12.0
    conda-build version : not installed
         python version : 3.9.10.final.0
       virtual packages : __linux=5.10.104=0
                          __glibc=2.31=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /opt/conda  (writable)
      conda av data dir : /opt/conda/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /opt/conda/pkgs
                          /root/.conda/pkgs
       envs directories : /opt/conda/envs
                          /root/.conda/envs
               platform : linux-64
             user-agent : conda/4.12.0 requests/2.27.1 CPython/3.9.10 Linux/5.10.104-linuxkit ubuntu/20.04.4 glibc/2.31
                UID:GID : 0:0
             netrc file : None
           offline mode : False