I assume this is a Catalina mac using gfortran version 10.X?
We have just fixed this in the last few days on Amanzi’s master, but gnu 10.X compilers broke a lot of fortran TPLs. Some have gotten fixed by upstream developers, some we’ve had to patch, and some we’ve had to work around. We may backport this onto 1.0 (David, thoughts?), but it hasn’t been done yet.
In the meantime, you can either work on master, or turn your compilers back to gfortran version 9.
To turn your compilers back to gfortran 9, assuming you use homebrew:
$> brew install gcc@9
Then, you may have to either build openmpi from source, or use our “tools” mpi build from bootstrap.
To do this, set the compiler options to bootstrap (e.g. –with-c-compiler, --with-fort-compiler, --with-cxx-compler) to `which gcc-9`, `which g++-9`, `which gfortran-9` respectively, and pass the --tools-mpi=openmpi flag to bootstrap to get it to build MPI for you. (Do not provide the –mpi-dir option).
To work with master, just add the flag --with-fort-flags="-fallow-argument-mismatch" to your bootstrap line (in addition to cloning a current master branch instead of downloading the release version). This is probably what I would suggest…
Ethan
--
You received this message because you are subscribed to the Google Groups "Amanzi-ATS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
ats-users+...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/ats-users/5b33d2be-5ed6-45fa-a609-0836b5a28ddcn%40googlegroups.com.
Sure, the flags don’t have any effect on physics or functionality. The main difference is being on the “master” branch means that there may be some new functionality or code relative to the last release. The “master” branch is just more volatile and faster changing than a release, and has code that has been less hammered on so may be more buggy. But modulo changes in the framework, we shouldn’t be introducing bugs into the existing codebase too often.
At this point, the main differences between ATS 1.0 and ATS on master branch are related to merging in reactive transport. Soon there will be some more significant changes in input spec related to linear solvers and some new physics in the surface energy balance which may change answers for existing runs, but currently there should be almost no difference to basic flow runs.
To view this discussion on the web visit
https://groups.google.com/d/msgid/ats-users/d5d2e920-7913-4018-ac3a-db6c877eeb2en%40googlegroups.com.
Hi Ethan and ATSers,
I’m also trying to install ATS 1.0 on my mac and run into something that might be related to Pin’s problem. Following Ethan’s instructions to Pin, I tried installing gcc@9 and setting the compiler options in the bootstrap list pointing to that version, but still it seems like the installation uses the 10.2.0 version:
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
-- Identifying /usr/local/bin/gfortran (GNU) version
-- Identifying /usr/local/bin/gfortran (GNU) version -- 10.2.0
-- Checking whether C compiler can compile MPI program
-- Checking whether C compiler can compile MPI program - no
-- Checking whether C++ compiler can compile MPI program
-- Checking whether C++ compiler can compile MPI program - no
-- Checking whether Fortran compiler can compile MPI program
-- Performing Test MPI_Fortran
-- Performing Test MPI_Fortran - Failed
-- Checking whether Fortran compiler can compile MPI program - no
CMake Error at CMakeLists.txt:122 (message):
Missing a compiler type for MPI applications -- exiting.
-- Configuring incomplete, errors occurred!
See also "/usr/local/bin/ats/amanzi_tpls-build-master-Release/CMakeFiles/CMakeOutput.log".
See also "/usr/local/bin/ats/amanzi_tpls-build-master-Release/CMakeFiles/CMakeError.log".
Amanzi Bootstrap ERROR: Failed to configure TPL build
So, I guess the solution could be adding the --with-fort-flags="-fallow-argument-mismatch" to the bootstrap and downloading the version from the master branch. I just didn’t understand which version I should get?
In the install instruction for ATS 1.0 I only clone the amanzi repo: git clone -b master http://github.com/amanzi/amanzi $AMANZI_SRC_DIR
But I guess it is the ATS repos that should be from the master branch – how do I do that?
I hope this is a very easy one to fix – many thanks for any help!
Ylva
Dear Ylva,
ATS is now a submodule of Amanzi and both can be cloned in one command:
git clone --recursive
https://github.com/amanzi/amanzi.git amanzi-ats
--with-fort-flags="-fallow-argument-mismatch" works for gcc 10.2.0, except for Alqumia. A more recent version of this geochemistry interface package is needed for OS X.
Sincerely,
Konstantin
Hi Ethan and ATSers,
Hi Cansu,
I think the first method is more robust, and should work since you are on master. You can see that even with gcc@9 installed, your configure is picking up the homebrew installed mpi, which is built on clang.
Can you try to clear everything out and try again by adding --with-fort-flags=”-fallow-argument-mismatch” to your boostrap line? If that fails, send me the files again.
Thanks,
Ethan
--
-------------------------------------------------------------------------
Ethan Coon
Research Scientist
Oak Ridge National Laboratory
https://www.ornl.gov/staff-profile/ethan-t-coon
-------------------------------------------------------------------------
.