conda-forge / gpaw-feedstock

A conda-smithy repository for gpaw.
BSD 3-Clause "New" or "Revised" License
7 stars 7 forks source link

GPAW fail with openmpi 4.1.3 #29

Closed vladislavivanistsev closed 2 years ago

vladislavivanistsev commented 2 years ago

Solution to issue cannot be found in the documentation.

Issue

GPAW fails like ImportError: libmpi.so.40: cannot open shared object file: No such file or directory Then installed with conda install -c conda-forge gpaw==openmpi* that picks the following packages The following NEW packages will be INSTALLED:

ase conda-forge/noarch::ase-3.22.1-pyhd8ed1ab_1 click conda-forge/linux-64::click-8.1.3-py39hf3d152e_0 cycler conda-forge/noarch::cycler-0.11.0-pyhd8ed1ab_0 elpa conda-forge/linux-64::elpa-2021.11.001-mpi_openmpi_haf9840c_3 fftw conda-forge/linux-64::fftw-3.3.10-mpi_openmpi_h36312d9_2 flask conda-forge/noarch::flask-2.1.2-pyhd8ed1ab_1 freetype conda-forge/linux-64::freetype-2.10.4-h0708190_1 gpaw conda-forge/linux-64::gpaw-22.1.0-py39_mpi_openmpi_omp_1 gpaw-data conda-forge/linux-64::gpaw-data-0.9.20000-0 importlib-metadata conda-forge/linux-64::importlib-metadata-4.11.4-py39hf3d152e_0 itsdangerous conda-forge/noarch::itsdangerous-2.1.2-pyhd8ed1ab_0 jinja2 conda-forge/noarch::jinja2-3.1.2-pyhd8ed1ab_0 jpeg conda-forge/linux-64::jpeg-9e-h166bdaf_1 kiwisolver conda-forge/linux-64::kiwisolver-1.4.2-py39hf939315_1 lcms2 conda-forge/linux-64::lcms2-2.12-hddcbb42_0 libblas conda-forge/linux-64::libblas-3.9.0-14_linux64_openblas libcblas conda-forge/linux-64::libcblas-3.9.0-14_linux64_openblas libgfortran-ng conda-forge/linux-64::libgfortran-ng-12.1.0-h69a702a_16 libgfortran5 conda-forge/linux-64::libgfortran5-12.1.0-hdcd56e2_16 liblapack conda-forge/linux-64::liblapack-3.9.0-14_linux64_openblas libopenblas conda-forge/linux-64::libopenblas-0.3.20-pthreads_h78a6416_0 libpng conda-forge/linux-64::libpng-1.6.37-h21135ba_2 libtiff pkgs/main/linux-64::libtiff-4.2.0-h85742a9_0 libvdwxc conda-forge/linux-64::libvdwxc-0.4.0-mpi_openmpi_h36312d9_0 libwebp-base conda-forge/linux-64::libwebp-base-1.2.2-h7f98852_1 libxc conda-forge/linux-64::libxc-5.2.3-py39hea1df8f_1 lz4-c conda-forge/linux-64::lz4-c-1.9.3-h9c3ff4c_1 markupsafe conda-forge/linux-64::markupsafe-2.1.1-py39hb9d737c_1 matplotlib-base conda-forge/linux-64::matplotlib-base-3.4.3-py39h2fa2bec_2 mpi conda-forge/linux-64::mpi-1.0-openmpi numpy conda-forge/linux-64::numpy-1.22.3-py39hc58783e_2 olefile conda-forge/noarch::olefile-0.46-pyh9f0ad1d_1 openmpi conda-forge/linux-64::openmpi-4.1.3-external_3 pillow conda-forge/linux-64::pillow-7.2.0-py39h6f3857e_2 pyparsing conda-forge/noarch::pyparsing-3.0.9-pyhd8ed1ab_0 python-dateutil conda-forge/noarch::python-dateutil-2.8.2-pyhd8ed1ab_0 python_abi conda-forge/linux-64::python_abi-3.9-2_cp39 scalapack conda-forge/linux-64::scalapack-2.2.0-h67de57e_1 scipy conda-forge/linux-64::scipy-1.8.1-py39he49c0e8_0 six conda-forge/noarch::six-1.16.0-pyh6c4a22f_0 tornado conda-forge/linux-64::tornado-6.1-py39hb9d737c_3 werkzeug conda-forge/noarch::werkzeug-2.1.2-pyhd8ed1ab_1 zipp conda-forge/noarch::zipp-3.8.0-pyhd8ed1ab_0 zstd conda-forge/linux-64::zstd-1.4.9-ha95c52a_0

The issue is resolved by conda install -c conda-forge openmpi=4.1.2

Installed packages

_libgcc_mutex             0.1                        main
_openmp_mutex             5.1                       1_gnu
ase                       3.22.1             pyhd8ed1ab_1    conda-forge
ca-certificates           2022.5.18.1          ha878542_0    conda-forge
certifi                   2022.5.18.1      py39hf3d152e_0    conda-forge
click                     8.1.3            py39hf3d152e_0    conda-forge
cycler                    0.11.0             pyhd8ed1ab_0    conda-forge
elpa                      2021.11.001     mpi_openmpi_haf9840c_3    conda-forge
fftw                      3.3.10          mpi_openmpi_h36312d9_2    conda-forge
flask                     2.1.2              pyhd8ed1ab_1    conda-forge
freetype                  2.10.4               h0708190_1    conda-forge
gpaw                      22.1.0          py39_mpi_openmpi_omp_1    conda-forge
gpaw-data                 0.9.20000                     0    conda-forge
importlib-metadata        4.11.4           py39hf3d152e_0    conda-forge
itsdangerous              2.1.2              pyhd8ed1ab_0    conda-forge
jinja2                    3.1.2              pyhd8ed1ab_0    conda-forge
jpeg                      9e                   h166bdaf_1    conda-forge
kiwisolver                1.4.2            py39hf939315_1    conda-forge
lcms2                     2.12                 hddcbb42_0    conda-forge
ld_impl_linux-64          2.38                 h1181459_1
libblas                   3.9.0           14_linux64_openblas    conda-forge
libcblas                  3.9.0           14_linux64_openblas    conda-forge
libffi                    3.3                  he6710b0_2
libgcc                    7.2.0                h69d50b8_2    conda-forge
libgcc-ng                 11.2.0               h1234567_1
libgfortran-ng            12.1.0              h69a702a_16    conda-forge
libgfortran5              12.1.0              hdcd56e2_16    conda-forge
libgomp                   11.2.0               h1234567_1
liblapack                 3.9.0           14_linux64_openblas    conda-forge
libopenblas               0.3.20          pthreads_h78a6416_0    conda-forge
libpng                    1.6.37               h21135ba_2    conda-forge
libstdcxx-ng              12.1.0              ha89aaad_16    conda-forge
libtiff                   4.2.0                h85742a9_0
libvdwxc                  0.4.0           mpi_openmpi_h36312d9_0    conda-forge
libwebp-base              1.2.2                h7f98852_1    conda-forge
libxc                     5.2.3            py39hea1df8f_1    conda-forge
libzlib                   1.2.11            h166bdaf_1014    conda-forge
lz4-c                     1.9.3                h9c3ff4c_1    conda-forge
markupsafe                2.1.1            py39hb9d737c_1    conda-forge
matplotlib-base           3.4.3            py39h2fa2bec_2    conda-forge
mpi                       1.0                     openmpi    conda-forge
ncurses                   6.3                  h7f8727e_2
numpy                     1.22.3           py39hc58783e_2    conda-forge
olefile                   0.46               pyh9f0ad1d_1    conda-forge
openmpi                   4.1.2                hbfc84c5_0    conda-forge
openssl                   1.1.1o               h166bdaf_0    conda-forge
pillow                    7.2.0            py39h6f3857e_2    conda-forge
pip                       21.2.4           py39h06a4308_0
pyparsing                 3.0.9              pyhd8ed1ab_0    conda-forge
python                    3.9.7           h49503c6_0_cpython    conda-forge
python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
python_abi                3.9                      2_cp39    conda-forge
readline                  8.1.2                h7f8727e_1
scalapack                 2.2.0                h67de57e_1    conda-forge
scipy                     1.8.1            py39he49c0e8_0    conda-forge
setuptools                61.2.0           py39h06a4308_0
six                       1.16.0             pyh6c4a22f_0    conda-forge
sqlite                    3.38.5               h4ff8645_0    conda-forge
tk                        8.6.12               h27826a3_0    conda-forge
tornado                   6.1              py39hb9d737c_3    conda-forge
tzdata                    2022a                hda174b7_0
werkzeug                  2.1.2              pyhd8ed1ab_1    conda-forge
wheel                     0.37.1             pyhd3eb1b0_0
xz                        5.2.5                h7f8727e_1
zipp                      3.8.0              pyhd8ed1ab_0    conda-forge
zlib                      1.2.11            h166bdaf_1014    conda-forge
zstd                      1.4.9                ha95c52a_0    conda-forge

Environment info

active environment : gpaw
    active env location : /home/niflheim/vlaiv/miniconda3/envs/gpaw
            shell level : 2
       user config file : /home/niflheim/vlaiv/.condarc
 populated config files :
          conda version : 4.13.0
    conda-build version : not installed
         python version : 3.9.5.final.0
       virtual packages : __linux=3.10.0=0
                          __glibc=2.17=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /home/niflheim/vlaiv/miniconda3  (writable)
      conda av data dir : /home/niflheim/vlaiv/miniconda3/etc/conda
  conda av metadata url : None
           channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /home/niflheim/vlaiv/miniconda3/pkgs
                          /home/niflheim/vlaiv/.conda/pkgs
       envs directories : /home/niflheim/vlaiv/miniconda3/envs
                          /home/niflheim/vlaiv/.conda/envs
               platform : linux-64
             user-agent : conda/4.13.0 requests/2.27.1 CPython/3.9.5 Linux/3.10.0-1160.66.1.el7.x86_64 centos/7.9.2009 glibc/2.17    
                UID:GID : 8516:17100
             netrc file : None
           offline mode : False
vladislavivanistsev commented 2 years ago

Another issue is with ImportError: ...libstdc++.so.6: version `GLIBCXX_3.4.26' not found solved by conda install -c conda-forge libstdcxx-ng

kianpu34593 commented 2 years ago

I notice that if I conda install gpaw in a linux environment it will work. But when I build it in a docker, I still need to do what @vladislavivanistsev mentioned above. Otherwise, it will fail the same way.

My Dockerfile:

FROM continuumio/miniconda3

RUN conda install gpaw=22.1.0=py39_mpi_openmpi_omp_1 -yc conda-forge &&\
    conda clean -a -y

I built it with --platform linux/amd64.

vladislavivanistsev commented 2 years ago

The issue is due to https://github.com/conda-forge/openmpi-feedstock/issues/96

As I understand the working solution is by doing before installing openmpi, then >4.1.2 version works conda config --add channels conda-forge conda config --set channel_priority strict