FEAP User Forum
FEAP => Installation => Topic started by: jskim on July 19, 2022, 03:53:29 AM
-
Dear all,
I have used 8.4 version of FEAP, and recently downloaded a new version 8.6.1n (in Linux system).
I would like to ask questions because there were several problems in the process of installing.
1) I renamed the makefile.in-gfortran in ./ver86 folder as makefile.in, and commented "ARCHIVELIB" and "ARPACKLIB".
I also commented "ARCHIVELIB" and "ARPACKLIB" in ./ver86/main folder.
Moreover, I removed "DSYM=Dsymutil" option based on previous post.
Is it correct to do all of the above things?
2) When I run the feap using an example file, it seems to work well.
So I moved to the next step to install parfeap at ./ver86/parfeap folder.
When I wrote down "make install" at ./ver86/packages/arpack/archive, I got three warning messages written as "unused dummy argument ...". Can I ignore these warning messages?
3) After installing parfeap, I tried to test a simple parellel example that works well on FEAP 8.4. (also in the serial feap 8.6)
Running parfeap provided two input files which seems well-partitioned.
However, when I enter "mpirun -n 2 parfeap(where ./ver86/parfeap/feap)" after partition process, it gave me the error message like below:
[user@test ex]$ mpirun -n 2 parfeap
F I N I T E E L E M E N T A N A L Y S I S P R O G R A M
FEAP (C) Regents of the University of California
All Rights Reserved.
VERSION: Release 8.6.1n
DATE: 14 February 2022
Files are set as: Status Filename
Input (read ) : Exists Iex5p_0001
Output (write) : New Oex5p_0001
Restart (read ) : New Rex5p_0001
Restart (write) : New Rex5p_0001
Plots (write) : New Pex5p_0001
Caution, existing write files will be overwritten.
Are filenames correct?( y or n; r = redefine all; s = stop) :At line 211 of file pcontr.f (unit = 15)
Fortran runtime error: Cannot open file '': No such file or directory
Error termination. Backtrace:
#0 0x14afa4d3f171 in ???
#1 0x14afa4d3fd19 in ???
#2 0x14afa4d40521 in ???
#3 0x14afa4f442a8 in ???
#4 0x14afa4f445ac in ???
#5 0x433dac in pcontr_
at /home/user/fem/feap/src/ver86-test/program/pcontr.f:211
#6 0x4049fa in feap
at /home/user/fem/feap/src/ver86-test/main/feap86.f:175
#7 0x4049fa in main
at /home/user/fem/feap/src/ver86-test/main/feap86.f:181
How can I fix this error? Did I make a mistake during installation?
Thank you all in advance for any help, and hope you have great day :)
-
Some quick comments but not a solution
1) This is fine. Though there was no need to comment ARCHIVELIB and ARPACKLIB in main/makefile. Once commented in makefile.in, they are undefined and expand to nothing. Commenting DSYM is needed.
2) The warning messages on the build can be ignored.
3) The error is being throw on the line that is trying to open the input file, so it is likely that the name has been malformed for some reason. But from the error it is not clear which processor has the wrong name. You could try debugging parfeap/mpi_start_FEAP.F to see what is in finp on the different ranks and/or debugging in program/pcontr.f for the same.
Can you give more information about the OS, its version, and the same for your compiler.
-
Additional thought. Is the file Iex5p_0002 in the runtime directory?
-
Thank you for your reply.
I installed feap in CentOS 8.4 and used gcc compiler 8.5.0.
And all partitioned files including Iex5p_0002 are in the runtime directory.
I got more error messages as below:
(continued..)
--------------------------------------------------------------------------
Primary job terminated normally, but 1 process returned
a non-zero exit code. Per user-direction, the job has been aborted.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD
with errorcode 50152059.
NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
- PETSC ERROR: ------------------------------------------------------------------------
The problem is likely to come from openMPI, so I set the path of mpirun and mpiexec to "./petsc-3.13.2/gnu-opt/bin/mpirun(and mpiexec)" in bashrc file.
But there is still problem :'(
-
Another possibility is a compiler mismatch on one of the components. One should use the same compiler for the main code/archive as used to build petsc and parfeap. Mismatches are sometimes ok but sometimes they lead to issues.
Have you checked that you can run the petsc examples?
-
If you mean the make check in $PETSC_DIR, the results are shown as below:
[user@test petsc-3.13.2]$ make PETSC_DIR=/home/user/fem/feap/src/petsc-3.13.2 PETSC_ARCH=gnu-opt check
Running check examples to verify correct installation
Using PETSC_DIR=/home/user/fem/feap/src/petsc-3.13.2 and PETSC_ARCH=gnu-opt
C/C++ example src/snes/tutorials/ex19 run successfully with 1 MPI process
C/C++ example src/snes/tutorials/ex19 run successfully with 2 MPI processes
C/C++ example src/snes/tutorials/ex19 run successfully with hypre
C/C++ example src/snes/tutorials/ex19 run successfully with mumps
C/C++ example src/snes/tutorials/ex19 run successfully with superlu_dist
C/C++ example src/snes/tutorials/ex19 run successfully with ml
Fortran example src/snes/tutorials/ex5f run successfully with 1 MPI process
Completed test examples
I have one curious thing that, should I use gfortran compiler more than version of 10?
I changed the line including FF and CC in ver86/makefile.in like
FF = gfortran #FF=gfortran-10
CC = gcc #CC=gcc-10
so, wonder it could make problem.
-
Some very old versions of gfortran may give problems. What version are you using? What do you get if you run gfortran -v? Also what do you see if you run /home/user/fem/feap/src/petsc-3.13.2/gnu-opt/bin/mpif90 -v?
I will also point out that petsc version 3.13 if a bit old, but that should not be the problem here.
-
Dear Professor,
I shared my results as below:
1. gfortran -v
[user@test petsc-3.13.2]$ gfortran -v
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/8/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,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 --enable-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-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 8.5.0 20210514 (Red Hat 8.5.0-4) (GCC)
2. $PETSC_DIR/gnu-opt/bin/mpif90 -v
[user@test petsc-3.13.2]$ $PETSC_DIR/gnu-opt/bin/mpif90 -v
Using built-in specs.
COLLECT_GCC=/usr/bin/gfortran
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/8/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,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 --enable-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-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 8.5.0 20210514 (Red Hat 8.5.0-4) (GCC)
Thank you for your time and help!
-
These should be ok.
I suggest going back to the original suggestion and debugging parfeap/mpi_start_FEAP.F to see what is in finp on the different ranks and/or debugging in program/pcontr.f for the same.