aiidalab / aiidalab-qe

AiiDAlab App for Quantum ESPRESSO
https://aiidalab-qe.readthedocs.io/
MIT License
9 stars 14 forks source link

External plugin (aiidalab qe vibroscopy) cant be install in ARM64 #745

Closed AndresOrtegaGuerrero closed 3 weeks ago

AndresOrtegaGuerrero commented 1 month ago

When using ARM64 , it is not possible to install aiidalab qe vibroscopy. This is related to https://github.com/mikibonacci/aiidalab-qe-vibroscopy/issues/52 and also #723

I suspect is actually a docker image issue

mikibonacci commented 1 month ago

I was able to install (a posteriori) h5py in this way:

conda install hdf5
HDF5_DIR=/opt/conda/ pip install h5py

HDF5 version: hdf5 1.14.0 nompi_h96fea9c_103 conda-forge h5py version: 3.11.0

Maybe we can install hdf5 (via conda) and define HDF5_DIR when we build the docker. Hopefully it will not affect much the performances? @unkcpz, do you have comments?

AndresOrtegaGuerrero commented 1 month ago

I tried this and then try to install the plugin with the app and it didnt work

unkcpz commented 1 month ago

Okay, let's add it to full-stack.

mikibonacci commented 1 month ago

I Will try again and see if I encounter the issue. I will keep you updated on this

unkcpz commented 1 month ago

Can you install h5py with apt??

unkcpz commented 1 month ago

Okay, let's add it to full-stack.

Or if it is QE specific, we just add it here would be better. Let me know if install this really solve the problem. I'll add it to the image.

AndresOrtegaGuerrero commented 1 month ago

I tried @mikibonacci solution and it works for me , so I guess we need to modified the image or the plugin?

mikibonacci commented 1 month ago

I think we should add in the dockerfile (as conda installation and ENV var definition probably is easy), but I am not sure where to put the commands. @unkcpz I'll let you decide as you know for sure the best place. (if you can also explain to me in person, very much appreciated :) )

mikibonacci commented 1 month ago

It is possible to install h5py via apt, as explained here, but I am not sure is better approach than the one I followed.

mikibonacci commented 4 weeks ago

So, I tried to install h5py via conda, and it worked: conda installl h5py=3.11.0 ; this automatically deals with hdf5 installation. @AndresOrtegaGuerrero and @unkcpz, do you mind test this method? for me it worked as expected and then I was able to install the vibro plugin.

Several packages are installed/updated (15.6 MB):

(base) jovyan@4d4dd4a921a9:~$ conda install h5py=3.11.0
Collecting package metadata (current_repodata.json): done
Solving environment: done

==> WARNING: A newer version of conda exists. <==
  current version: 22.9.0
  latest version: 24.5.0

Please update conda by running

    $ conda update -n base -c conda-forge conda

## Package Plan ##

  environment location: /opt/conda

  added / updated specs:
    - h5py=3.11.0

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    c-ares-1.28.1              |       h31becfc_0         172 KB  conda-forge
    ca-certificates-2024.6.2   |       hcefe29a_0         152 KB  conda-forge
    cached-property-1.5.2      |       hd8ed1ab_1           4 KB  conda-forge
    cached_property-1.5.2      |     pyha770c72_1          11 KB  conda-forge
    certifi-2024.2.2           |     pyhd8ed1ab_0         157 KB  conda-forge
    h5py-3.11.0                |nompi_py39h07eddff_101         1.1 MB  conda-forge
    hdf5-1.14.3                |nompi_hd1676c9_103         3.8 MB  conda-forge
    krb5-1.21.2                |       hc419048_0         1.4 MB  conda-forge
    libaec-1.1.3               |       h2f0025b_0          35 KB  conda-forge
    libcurl-8.8.0              |       h4e8248e_0         407 KB  conda-forge
    libgfortran-ng-13.2.0      |       he9431aa_0          23 KB  conda-forge
    libgfortran5-13.2.0        |       h582850c_0         1.0 MB  conda-forge
    libnghttp2-1.58.0          |       hb0e430d_1         662 KB  conda-forge
    libpq-16.3                 |       hcf0348d_0         2.4 MB  conda-forge
    libssh2-1.11.0             |       h492db2e_0         278 KB  conda-forge
    openssl-3.3.0              |       h68df207_3         3.3 MB  conda-forge
    psycopg2-2.9.9             |   py39h77becb1_0         171 KB  conda-forge
    psycopg2-binary-2.9.9      |     pyhd8ed1ab_0          10 KB  conda-forge
    zstd-1.5.6                 |       h02f22dd_0         527 KB  conda-forge
    ------------------------------------------------------------
                                           Total:        15.6 MB

The following NEW packages will be INSTALLED:

  cached-property    conda-forge/noarch::cached-property-1.5.2-hd8ed1ab_1 None
  cached_property    conda-forge/noarch::cached_property-1.5.2-pyha770c72_1 None
  h5py               conda-forge/linux-aarch64::h5py-3.11.0-nompi_py39h07eddff_101 None
  hdf5               conda-forge/linux-aarch64::hdf5-1.14.3-nompi_hd1676c9_103 None
  libaec             conda-forge/linux-aarch64::libaec-1.1.3-h2f0025b_0 None

The following packages will be UPDATED:

  c-ares                                  1.18.1-hf897c2e_0 --> 1.28.1-h31becfc_0 None
  ca-certificates                       2023.5.7-hcefe29a_0 --> 2024.6.2-hcefe29a_0 None
  certifi                             2023.5.7-pyhd8ed1ab_0 --> 2024.2.2-pyhd8ed1ab_0 None
  krb5                                    1.20.1-h113d92e_0 --> 1.21.2-hc419048_0 None
  libcurl                                  8.1.1-hc34909b_0 --> 8.8.0-h4e8248e_0 None
  libgfortran-ng                         12.2.0-he9431aa_19 --> 13.2.0-he9431aa_0 None
  libgfortran5                           12.2.0-hf695500_19 --> 13.2.0-h582850c_0 None
  libnghttp2                              1.52.0-h250e5c5_0 --> 1.58.0-hb0e430d_1 None
  libpq                                     15.3-hf616e62_1 --> 16.3-hcf0348d_0 None
  libssh2                                 1.10.0-he5a64b1_3 --> 1.11.0-h492db2e_0 None
  openssl                                  3.1.0-h31becfc_3 --> 3.3.0-h68df207_3 None
  psycopg2                             2.9.3-py39ha828215_2 --> 2.9.9-py39h77becb1_0 None
  psycopg2-binary                        2.9.3-pyhd8ed1ab_2 --> 2.9.9-pyhd8ed1ab_0 None
  zstd                                     1.5.2-hc1e27d5_4 --> 1.5.6-h02f22dd_0 None
AndresOrtegaGuerrero commented 4 weeks ago

I tested as you recommended before, indeed worked

unkcpz commented 3 weeks ago

Cool! Let's meet in person after your group meeting @mikibonacci ? We can decide where to add it. I finally clean my laptop to run docker, so able to test together.

mikibonacci commented 3 weeks ago

solved with https://github.com/aiidalab/aiidalab-docker-stack/pull/468