sourceryinstitute / OpenCoarrays

A parallel application binary interface for Fortran 2018 compilers.
http://www.opencoarrays.org
BSD 3-Clause "New" or "Revised" License
247 stars 56 forks source link

Defect: install.sh ignores -M /opt/amazon/openmpi and wants to install MPICH #736

Open jeffhammond opened 3 years ago

jeffhammond commented 3 years ago

The title of the issue should start with Defect: followed by a succinct title.

Please make sure to put any logs, terminal output, or code in [fenced code blocks]. Please also read the [contributing guidelines][CONTRIBUTING.md] before submitting a new issue.

Please note we will close your issue without comment if you delete, do not read or do not fill out the issue checklist below and provide ALL the requested information.

System information including:

OpenCoarrays installer Copyright (C) 2015-2016 Sourcery, Inc. Copyright (C) 2015-2016 Sourcery Institute

OpenCoarrays comes with NO WARRANTY, to the extent permitted by law. You may redistribute copies of install.sh under the terms of the BSD 3-Clause License. For more information about these matters, see http://www.sourceryinstitute.org/license.html

$ git log -n 1 commit ef8069d94ecd3a0d93e0d4413a63c2366b894130 (HEAD -> main, origin/main, origin/HEAD) Merge: 5c4bd62 02dce3e Author: Brad Richardson everythingfunctional@protonmail.com Date: Wed Mar 17 16:56:47 2021 -0500

Merge pull request #730 from sourceryinstitute/download-gcc-release-tar-balls

feat(install.sh): download GCC release tar balls
  - Fortran Compiler: <!-- vendor & version number-->

$ gfortran -v Using built-in specs. COLLECT_GCC=gfortran COLLECT_LTO_WRAPPER=/usr/libexec/gcc/aarch64-redhat-linux/7/lto-wrapper Target: aarch64-redhat-linux Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --disable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --disable-libmpx --enable-libsanitizer --enable-gnu-indirect-function --disable-libcilkrts --enable-libatomic --disable-libquadmath --enable-libitm --build=aarch64-redhat-linux Thread model: posix gcc version 7.3.1 20180712 (Red Hat 7.3.1-13) (GCC)

  - C compiler used for building lib: <!-- vendor & version -->

$ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/aarch64-redhat-linux/7/lto-wrapper Target: aarch64-redhat-linux Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --disable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --disable-libmpx --enable-libsanitizer --enable-gnu-indirect-function --disable-libcilkrts --enable-libatomic --disable-libquadmath --enable-libitm --build=aarch64-redhat-linux Thread model: posix gcc version 7.3.1 20180712 (Red Hat 7.3.1-13) (GCC)

$ mpicc -v Using built-in specs. COLLECT_GCC=/usr/bin/gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/aarch64-redhat-linux/7/lto-wrapper Target: aarch64-redhat-linux Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --disable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --disable-libmpx --enable-libsanitizer --enable-gnu-indirect-function --disable-libcilkrts --enable-libatomic --disable-libquadmath --enable-libitm --build=aarch64-redhat-linux Thread model: posix gcc version 7.3.1 20180712 (Red Hat 7.3.1-13) (GCC)

  - Installation method: <!-- `install.sh`, or package manager etc. -->
`install.sh`
  - All flags & options passed to the installer

./install.sh -M /opt/amazon/openmpi

  - Output of `uname -a`:

$ uname -a Linux ip-10-0-0-25 4.14.232-177.418.amzn2.aarch64 #1 SMP Tue Jun 15 20:58:11 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux

  - MPI library being used: <!-- e.g., MPICH 3.2 -->

$ which mpicc /opt/amazon/openmpi/bin/mpicc $ mpicc -show gcc -I/opt/amazon/openmpi/include -pthread -Wl,-rpath -Wl,/opt/amazon/openmpi/lib64 -Wl,--enable-new-dtags -L/opt/amazon/openmpi/lib64 -lmpi

  - Machine architecture and number of physical cores:

AWS Graviton 2

$ lscpu Architecture: aarch64 Byte Order: Little Endian CPU(s): 64 On-line CPU(s) list: 0-63 Thread(s) per core: 1 Core(s) per socket: 64 Socket(s): 1 NUMA node(s): 1 Model: 1 BogoMIPS: 243.75 L1d cache: 64K L1i cache: 64K L2 cache: 1024K L3 cache: 32768K NUMA node0 CPU(s): 0-63 Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs

  - Version of CMake: <!-- if preinstalled & installing yourself -->

$ cmake --version cmake version 2.8.12.2

## To help us debug your issue please explain:

### What you were trying to do (and why)

Install OpenCoarrays on AWS Graviton 2 so that I can build and run the [PRK](https://github.com/ParRes/Kernels/) Fortran coarray tests.

### What happened (include command output, screenshots, logs, etc.)

$ ./install.sh -M /opt/amazon/openmpi 2021-07-12 13:02:07 UTC [ info] file: /home/jehammond/OpenCoarrays/install.sh 2021-07-12 13:02:07 UTC [ info] dir: /home/jehammond/OpenCoarrays 2021-07-12 13:02:07 UTC [ info] base: install 2021-07-12 13:02:07 UTC [ info] os: Linux 2021-07-12 13:02:07 UTC [ info] __usage: /home/jehammond/OpenCoarrays/install.sh-usage 2021-07-12 13:02:07 UTC [ info] LOG_LEVEL: 6 2021-07-12 13:02:07 UTC [ info] -b (--install-branch):
2021-07-12 13:02:07 UTC [ info] -c (--with-c):
2021-07-12 13:02:07 UTC [ info] -C (--with-cxx):
2021-07-12 13:02:07 UTC [ info] -d (--debug): 0 2021-07-12 13:02:07 UTC [ info] -D (--print-downloader): 2021-07-12 13:02:07 UTC [ info] -e (--verbose): 0 2021-07-12 13:02:07 UTC [ info] -f (--with-fortran):
2021-07-12 13:02:07 UTC [ info] -h (--help): 0 2021-07-12 13:02:07 UTC [ info] -i (--install-prefix): /home/jehammond/OpenCoarrays/prerequisites/installations// 2021-07-12 13:02:07 UTC [ info] -I (--install-version):
2021-07-12 13:02:07 UTC [ info] -j (--num-threads): 4 2021-07-12 13:02:07 UTC [ info] -l (--list-packages): 0 2021-07-12 13:02:07 UTC [ info] -m (--with-cmake):
2021-07-12 13:02:07 UTC [ info] -M (--with-mpi): /opt/amazon/openmpi 2021-07-12 13:02:07 UTC [ info] -n (--no-color): 0 2021-07-12 13:02:07 UTC [ info] -o (--only-download): 0 2021-07-12 13:02:07 UTC [ info] -p (--package): opencoarrays 2021-07-12 13:02:07 UTC [ info] -P (--print-path):
2021-07-12 13:02:07 UTC [ info] -r (--prefix-root):
2021-07-12 13:02:07 UTC [ info] -u (--from-url):
2021-07-12 13:02:07 UTC [ info] -U (--print-url):
2021-07-12 13:02:07 UTC [ info] -v (--version): 0 2021-07-12 13:02:07 UTC [ info] -V (--print-version):
2021-07-12 13:02:07 UTC [ info] -y (--yes-to-all): 0 2021-07-12 13:02:07 UTC [ info] -Z (--bootstrap): 0 2021-07-12 13:02:07 UTC [ info] num_threads="4" 2021-07-12 13:02:07 UTC [ info] opencoarrays_src_dir=/home/jehammond/OpenCoarrays 2021-07-12 13:02:07 UTC [ info] build_path="/home/jehammond/OpenCoarrays"/prerequisites/builds 2021-07-12 13:02:07 UTC [ info] build_script="/home/jehammond/OpenCoarrays"/prerequisites/build.sh 2021-07-12 13:02:08 UTC [ info] Checking whether the directory /home/jehammond/OpenCoarrays/prerequisites/installations/ exists... 2021-07-12 13:02:08 UTC [ info] yes 2021-07-12 13:02:08 UTC [ info] Checking whether I have write permissions to /home/jehammond/OpenCoarrays/prerequisites/installations/ ... 2021-07-12 13:02:08 UTC [ info] yes

__ Please read these instructions carefully before proceeding. ___


Most end users will find it easier to install OpenCoarrays via the native package manager for the target operating system. Advanced developers will find it best to install via CMake. Please see the OpenCoarrays README.md for a list of supported package installers or for instructions on using CMake to install. The current script offers a fallback when other methods prove infeasible. This script builds any missing prerequisites from source and then builds OpenCoarrays from source. The process might take a few minutes if the script finds all prerequisites or several hours if the script finds no prerequisites. (Run './install.sh --help' without quotes to see the installation options.) This script traverses the following dependency tree and asks permission to install packages that are not in your PATH, not in the prerequisites/installations subdirectory of the OpenCoarrays source tree, or have insufficiently recent version numbers:

opencoarrays
|__ cmake-3.10.0
|__ mpich-3.2
    |__ gcc-10.1.0
        |__ flex-2.6.0
        |   |__ bison-3.0.4
        |       |__ m4-1.4.17
        |__ gmp
        |__ mpc
        |__ mpfr

For a non-interactive installation, relaunch this script with the command './install.sh --yes-to-all' without quotes to instruct the script to assume affirmative answers to all user queries.

opencoarrays will be installed in /home/jehammond/OpenCoarrays/prerequisites/installations/



### What you expected to happen

I expected to see AWS Open-MPI used instead of MPICH.  Because the AWS instances I am using have [EFA](https://aws.amazon.com/hpc/efa/), it is important to use an MPI that supports this.  It is possible that I can get MPICH working with the AWS distribution of libfabric but I do not want to mess around with that right now.

### Step-by-step reproduction instructions to reproduce the error/bug

1. use AWS Graviton 2
2. `git clone https://github.com/sourceryinstitute/OpenCoarrays.git`
3. `./install.sh -M /opt/amazon/openmpi`

[links]:#
[fenced code blocks]: https://help.github.com/articles/creating-and-highlighting-code-blocks/
[CONTRIBUTING.md]: https://github.com/sourceryinstitute/OpenCoarrays/blob/master/CONTRIBUTING.md
stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.