Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A problem in making the GAUSS_QUADRATURE.f90.o #20

Open
dirichlet10 opened this issue Nov 17, 2022 · 2 comments
Open

A problem in making the GAUSS_QUADRATURE.f90.o #20

dirichlet10 opened this issue Nov 17, 2022 · 2 comments

Comments

@dirichlet10
Copy link

dirichlet10 commented Nov 17, 2022

The cmake process is successful:

-- The Fortran compiler identification is Intel 17.0.5.20170817
-- Check for working Fortran compiler: /public/software_purley/mpi/intelmpi/2017.4.239/intel64/bin/mpiifort
-- Check for working Fortran compiler: /public/software_purley/mpi/intelmpi/2017.4.239/intel64/bin/mpiifort -- works
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Checking whether /public/software_purley/mpi/intelmpi/2017.4.239/intel64/bin/mpiifort supports Fortran 90
-- Checking whether /public/software_purley/mpi/intelmpi/2017.4.239/intel64/bin/mpiifort supports Fortran 90 -- yes
-- OS: Linux 3.10.0-693.el7.x86_64
-- BUILD_TYPE=RELEASE
-- Found MPI_Fortran: /public/software_purley/mpi/intelmpi/2017.4.239/intel64/bin/mpiifort (found version "3.1")
-- Found MPI: TRUE (found version "3.1")
-- Set Fortran compiler FC to /public/software_purley/mpi/intelmpi/2017.4.239/intel64/bin/mpiifort, ID=Intel
/public/software_purley/compiler/intel/intel-compiler-2017.5.239/mkl/tools/mkl_link_tool: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
-- MKL found at: /public/software_purley/compiler/intel/intel-compiler-2017.5.239/mkl
-- MKL supports Scalapack+Blacs
-- Fortran Compiler id = Intel
-- Fortran Compiler ver. = 17.0.5.20170817
-- Fortran Compiler options = -fpp -O3 -ftz
-- Testing P-ARPACK patch: zdotc.patch
-- Patch applied: zdotc.patch
-- SF compilation lines: -L${libdir} -lscifor -L/public/software_purley/compiler/intel/intel-compiler-2017.5.239/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -L/usr/lib64 -lpthread -lm -ldl
-- Module file: scifor/user_prefix/intel/
-- Library version:
-- Library will be installed in: /public/home/gengl/A_LIB/SciFortran/scifor/intel/

TO CONCLUDE INSTALLATION <<
Compile with:
$ gmake
Install with:
$ gmake install

Uninstall with:
$ gmake uninstall

But the make process return an error, could someone tell me the reason? Thanks!

Scanning dependencies of target SF_PARSE_INPUTLIB
[ 1%] Building Fortran object src/SF_PARSE_INPUT/CMakeFiles/SF_PARSE_INPUTLIB.dir/LIST_INPUT.f90.o
[ 1%] Building Fortran object src/SF_PARSE_INPUT/CMakeFiles/SF_PARSE_INPUTLIB.dir/SF_PARSE_INPUT.f90.o
[ 1%] Built target SF_PARSE_INPUTLIB
Scanning dependencies of target SF_INITLIB
[ 2%] Building Fortran object src/SF_INIT/CMakeFiles/SF_INITLIB.dir/SF_ARRAYS.f90.o
[ 2%] Building Fortran object src/SF_INIT/CMakeFiles/SF_INITLIB.dir/SF_COLORS.f90.o
[ 2%] Building Fortran object src/SF_INIT/CMakeFiles/SF_INITLIB.dir/SF_CONSTANTS.f90.o
[ 3%] Building Fortran object src/SF_INIT/CMakeFiles/SF_INITLIB.dir/SF_FONTS.f90.o
[ 3%] Building Fortran object src/SF_INIT/CMakeFiles/SF_INITLIB.dir/SF_MISC.f90.o
[ 3%] Building Fortran object src/SF_INIT/CMakeFiles/SF_INITLIB.dir/SF_PAULI.f90.o
[ 4%] Building Fortran object src/SF_INIT/CMakeFiles/SF_INITLIB.dir/SF_TIMER.f90.o
[ 4%] Built target SF_INITLIB
Scanning dependencies of target SF_MPILIB
[ 4%] Building Fortran object src/SF_MPI/CMakeFiles/SF_MPILIB.dir/SF_BLACS.f90.o
[ 5%] Building Fortran object src/SF_MPI/CMakeFiles/SF_MPILIB.dir/SF_MPI.f90.o
[ 5%] Built target SF_MPILIB
Scanning dependencies of target SF_IOTOOLSLIB
[ 5%] Building Fortran object src/SF_IOTOOLS/CMakeFiles/SF_IOTOOLSLIB.dir/IOFILE.f90.o
[ 6%] Building Fortran object src/SF_IOTOOLS/CMakeFiles/SF_IOTOOLSLIB.dir/IOPLOT.f90.o
[ 6%] Building Fortran object src/SF_IOTOOLS/CMakeFiles/SF_IOTOOLSLIB.dir/IOREAD.f90.o
[ 7%] Building Fortran object src/SF_IOTOOLS/CMakeFiles/SF_IOTOOLSLIB.dir/SF_IOTOOLS.f90.o
[ 7%] Built target SF_IOTOOLSLIB
Scanning dependencies of target SF_DERIVATELIB
[ 8%] Building Fortran object src/SF_DERIVATE/CMakeFiles/SF_DERIVATELIB.dir/SF_DERIVATE.f90.o
[ 8%] Built target SF_DERIVATELIB
Scanning dependencies of target SF_INTEGRATELIB
[ 8%] Building Fortran object src/SF_INTEGRATE/CMakeFiles/SF_INTEGRATELIB.dir/GAUSS_QUADRATURE.f90.o
/public/home/gengl/A_LIB/package/SciFortran-master/src/SF_INTEGRATE/GAUSS_QUADRATURE.f90(33): error #8541: Not yet implemented: type containing ALLOCATABLE field of same type. Use POINTER instead. [INTEGRATION_TYPE]
type(integration_type),dimension(:),allocatable :: ivec
----------^
compilation aborted for /public/home/gengl/A_LIB/package/SciFortran-master/src/SF_INTEGRATE/GAUSS_QUADRATURE.f90 (code 1)
make[2]: *** [src/SF_INTEGRATE/CMakeFiles/SF_INTEGRATELIB.dir/GAUSS_QUADRATURE.f90.o] Error 1
make[1]: *** [src/SF_INTEGRATE/CMakeFiles/SF_INTEGRATELIB.dir/all] Error 2
make: *** [all] Error 2

@dirichlet10 dirichlet10 changed the title A problem in installing the package A problem in making the GAUSS_QUADRATURE.f90.o Nov 17, 2022
@beddalumia
Copy link
Contributor

Hi! Recursive allocatable components in derived types are a fairly established language feature nowadays (if I recall correctly they have been introduced in Fortran 2008). But apparently your version of ifort does not implement it yet (that's what the error message is telling). Nevertheless their support page does not mention this implementation gap in the "known issues section" (see here), which might imply it has been addressed in a minor version (unfortunately they do not detail bugfixes between minors, not on this page at least).

On the bright side the release notes for ifort 18.0.x guarantee that the whole Fortran 2008 standard is covered, so you should be able to solve the specific issue by upgrading the major version of your compiler (if possible!).

I can personally guarantee that SciFortran builds correctly with ifort 2021.x, so if you have access to it (or newer) you would be assured to be on the safe side.

On a side note: we currently state in the README that any ifort > 13 should work, so I apologize for the mislead. The Gauss quadrature module is fairly new (introduced this summer) and we did not check for older ifort versions. If you manage to solve with an ifort version between 17 and 22 please report back so we can update the README with (a good estimate of) a newer minimum version for the compiler. Thanks in advance!

@dirichlet10
Copy link
Author

Thanks for your quick and detailed response! I'm sorry that I don't have a new version of ifort and can't give a newer minimum version for the compiler. I determine to install an older version of SciFortran temporarily.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants