gms-bbg / gamess-issues

GAMESS issue tracking
7 stars 1 forks source link

Compile error of mod_dft_gridint and dftgrd #60

Open Makarov3821 opened 3 years ago

Makarov3821 commented 3 years ago

Hi! I'm trying to compile GAMESS 2021 R1 on my server, after running ./config, compiling ddi, and running ./compall, I run ./Iked but errors are found:

ifort: error #10236: File not found: 'dftgrd.o' ifort: error #10236: File not found: 'mod_dft_gridint.o'

Thus I checked the compall.log, found that mod_dft_gridint.F90 and dftgrd.F90 were not complied. As mod_dft_gridint.F90, it said

======================== mod_dft_gridint ============================== Wed Sep 22 21:14:59 CST 2021 Copying source code, mod_dft_gridint.src does not require activation. ifort -c -i8 -g -O2 -ftz -auto -assume byterecl -vec-report0 -warn nousage -inline-level=0 -inline-level=2 mod_dft_gridint.F90 mod_dft_gridint.F90(389): error #8378: Pointer array is not contiguous unless it is declared CONTIGUOUS. [AOV] self%aoV(:,iPtOut)) ---------------------^ mod_dft_gridint.F90(389): error #8372: If dummy argument is declared CONTIGUOUS, actual argument must be contiguous as well. [AOV] self%aoV(:,iPtOut)) ---------------------^ mod_dft_gridint.F90(394): error #8378: Pointer array is not contiguous unless it is declared CONTIGUOUS. [AOV] self%aoV(:,iPtOut), & ----------------------^ mod_dft_gridint.F90(394): error #8372: If dummy argument is declared CONTIGUOUS, actual argument must be contiguous as well. [AOV] self%aoV(:,iPtOut), & ----------------------^ mod_dft_gridint.F90(396): error #8378: Pointer array is not contiguous unless it is declared CONTIGUOUS. [AOG1] self%aoG1(:,iPtOut,1), & ----------------------^ mod_dft_gridint.F90(396): error #8372: If dummy argument is declared CONTIGUOUS, actual argument must be contiguous as well. [AOG1] self%aoG1(:,iPtOut,1), & ----------------------^ mod_dft_gridint.F90(397): error #8378: Pointer array is not contiguous unless it is declared CONTIGUOUS. [AOG1] self%aoG1(:,iPtOut,2), & ----------------------^ mod_dft_gridint.F90(397): error #8372: If dummy argument is declared CONTIGUOUS, actual argument must be contiguous as well. [AOG1] self%aoG1(:,iPtOut,2), & ----------------------^ mod_dft_gridint.F90(398): error #8378: Pointer array is not contiguous unless it is declared CONTIGUOUS. [AOG1] self%aoG1(:,iPtOut,3)) ----------------------^ mod_dft_gridint.F90(398): error #8372: If dummy argument is declared CONTIGUOUS, actual argument must be contiguous as well. [AOG1] self%aoG1(:,iPtOut,3)) ----------------------^ mod_dft_gridint.F90(404): error #8378: Pointer array is not contiguous unless it is declared CONTIGUOUS. [AOV] self%aoV(:,iPtOut), & ----------------------^ mod_dft_gridint.F90(404): error #8372: If dummy argument is declared CONTIGUOUS, actual argument must be contiguous as well. [AOV] self%aoV(:,iPtOut), & ----------------------^ mod_dft_gridint.F90(406): error #8378: Pointer array is not contiguous unless it is declared CONTIGUOUS. [AOG1] self%aoG1(:,iPtOut,1), & ----------------------^ mod_dft_gridint.F90(406): error #8372: If dummy argument is declared CONTIGUOUS, actual argument must be contiguous as well. [AOG1] self%aoG1(:,iPtOut,1), & ----------------------^ mod_dft_gridint.F90(407): error #8378: Pointer array is not contiguous unless it is declared CONTIGUOUS. [AOG1] self%aoG1(:,iPtOut,2), & ----------------------^ mod_dft_gridint.F90(407): error #8372: If dummy argument is declared CONTIGUOUS, actual argument must be contiguous as well. [AOG1] self%aoG1(:,iPtOut,2), & ----------------------^ mod_dft_gridint.F90(408): error #8378: Pointer array is not contiguous unless it is declared CONTIGUOUS. [AOG1] self%aoG1(:,iPtOut,3), & ----------------------^ mod_dft_gridint.F90(408): error #8372: If dummy argument is declared CONTIGUOUS, actual argument must be contiguous as well. [AOG1] self%aoG1(:,iPtOut,3), & ----------------------^ mod_dft_gridint.F90(410): error #8378: Pointer array is not contiguous unless it is declared CONTIGUOUS. [AOG2] self%aoG2(:,iPtOut,1), & ----------------------^ mod_dft_gridint.F90(410): error #8372: If dummy argument is declared CONTIGUOUS, actual argument must be contiguous as well. [AOG2] self%aoG2(:,iPtOut,1), & ----------------------^ mod_dft_gridint.F90(411): error #8378: Pointer array is not contiguous unless it is declared CONTIGUOUS. [AOG2] self%aoG2(:,iPtOut,2), & ----------------------^ mod_dft_gridint.F90(411): error #8372: If dummy argument is declared CONTIGUOUS, actual argument must be contiguous as well. [AOG2] self%aoG2(:,iPtOut,2), & ----------------------^ mod_dft_gridint.F90(412): error #8378: Pointer array is not contiguous unless it is declared CONTIGUOUS. [AOG2] self%aoG2(:,iPtOut,3), & ----------------------^ mod_dft_gridint.F90(412): error #8372: If dummy argument is declared CONTIGUOUS, actual argument must be contiguous as well. [AOG2] self%aoG2(:,iPtOut,3), & ----------------------^ mod_dft_gridint.F90(413): error #8378: Pointer array is not contiguous unless it is declared CONTIGUOUS. [AOG2] self%aoG2(:,iPtOut,4), & ----------------------^ mod_dft_gridint.F90(413): error #8372: If dummy argument is declared CONTIGUOUS, actual argument must be contiguous as well. [AOG2] self%aoG2(:,iPtOut,4), & ----------------------^ mod_dft_gridint.F90(414): error #8378: Pointer array is not contiguous unless it is declared CONTIGUOUS. [AOG2] self%aoG2(:,iPtOut,5), & ----------------------^ mod_dft_gridint.F90(414): error #8372: If dummy argument is declared CONTIGUOUS, actual argument must be contiguous as well. [AOG2] self%aoG2(:,iPtOut,5), & ----------------------^ mod_dft_gridint.F90(415): error #8378: Pointer array is not contiguous unless it is declared CONTIGUOUS. [AOG2] self%aoG2(:,iPtOut,6)) ----------------------^ mod_dft_gridint.F90(415): error #8372: If dummy argument is declared CONTIGUOUS, actual argument must be contiguous as well. [AOG2] self%aoG2(:,iPtOut,6)) ----------------------^ /tmp/ifortPwkdPj.i90(2699): catastrophic error: Too many errors, exiting compilation aborted for mod_dft_gridint.F90 (code 1) unset echo Wed Sep 22 21:15:00 CST 2021 0.073u 0.044s 0:00.12 91.6% 0+0k 0+440io 0pf+0w

and dftgrd found no mod_grid_gridint.o thus were not compiled. I checked the lines it complained, which are

SELECT CASE (self%nDer)
    CASE (0)
        CALL compAOv(nosp_basis, self%tolAO, &
                self%angvl, self%rsqrd, nnz, &
                self%aoV(:,iPtOut))
    CASE (1)
        CALL compAOvg(nosp_basis, self%tolAO, &
                 self%angvl, self%rsqrd, nnz, &

                 self%aoV(:,iPtOut), &

                 self%aoG1(:,iPtOut,1), &
                 self%aoG1(:,iPtOut,2), &
                 self%aoG1(:,iPtOut,3))

    CASE (2)
        CALL compAOvgg(nosp_basis, self%tolAO, &
                 self%angvl, self%rsqrd, nnz, &

                 self%aoV(:,iPtOut), &

                 self%aoG1(:,iPtOut,1), &
                 self%aoG1(:,iPtOut,2), &
                 self%aoG1(:,iPtOut,3), &
                 self%aoG2(:,iPtOut,1), &
                 self%aoG2(:,iPtOut,2), &
                 self%aoG2(:,iPtOut,3), &
                 self%aoG2(:,iPtOut,4), &
                 self%aoG2(:,iPtOut,5), &
                 self%aoG2(:,iPtOut,6))

    CASE DEFAULT
        WRITE(*,*) 'Invalid grad level in xc_engine_t % COMPAOS'
        CALL abrt
    END SELECT

Since I had very few knowledge about Fortran, I'm confused about what to do next. The server is Red Hat Enterprise Linux Server release 6.2 (Santiago), with ifort 12.1.0 and Intel mkl 12, and built with "sockets".

foxtran commented 3 years ago

Please, use novel ifort. You can use ifort from oneAPI. It should work (but I never tested it)

Makarov3821 commented 3 years ago

Please, use novel ifort. You can use ifort from oneAPI. It should work (but I never tested it)

I'm so eager to use something new but assigned with an old server from university :( But I managed to compile a newer gcc on my account. Will gcc+Intel mkl or without mkl much slower than ifort?

saromleang commented 3 years ago

GCC + Intel MKL will be the best you can do for your situation.

Makarov3821 commented 3 years ago

I failed with gcc-10.3.0 yesterday but succeed with gcc-9.4.0 today. Thank you guys so much for helping!