msg-byu / enumlib

Derivative structure enumeration library
MIT License
59 stars 34 forks source link

error from "make find_structure_in_list.x" #102

Closed houzf closed 1 year ago

houzf commented 4 years ago

I have compiled successfully most of enumlib. However, the following error was encountered for compiling find_structure_in_list.x. The version of ifort used here is "compilers_and_libraries_2019.3.199".

ifort -fPIC -g -debug -error-limit 7 -heap-arrays -traceback -check bounds -warn -I../symlib/src -c ../aux_src/find_structure_in_list.f90 ../aux_src/find_structure_in_list.f90(22): error #7976: An allocatable dummy argument may only be argument associated with an allocatable actual argument. [DSET] call get_HNF_of_derivative_structure_old(sfname,sLV,aBas,aTyp,pLV,dset,HNF,SNF,L,eps) ------------------------------------------------------------------^ ../aux_src/find_structure_in_list.f90(23): error #7976: An allocatable dummy argument may only be argument associated with an allocatable actual argument. [DSET] call get_gspace_representation(pLV,dset,sLV,aBas,aTyp,HNF,LatDim,pLabel,eps) -----------------------------------^ compilation aborted for ../aux_src/find_structure_in_list.f90 (code 1) make: *** [Makefile:128: find_structure_in_list.o] Error 1

houzf commented 4 years ago

This error may come from the different definition types of "dset" in several subroutines:

  1. find_match_in_structenumout() in enumeration_utilities.f90 real(dp), pointer :: dset(:,:) ! (in)

  2. get_HNF_of_derivative_structure_old() in enumeration_utilities.f90 real(dp), allocatable :: dset(:,:) ! (out)

  3. get_gspace_representation() in enumeration_utilities.f90 real(dp), allocatable :: dset(:,:) ! (in)

  4. ../aux_src/find_structure_in_list.f90 real(dp), pointer :: aBas(:,:), dset(:,:)

After I used the same definition (i.e., real(dp), allocatable :: dset(:,:) ), I successfully compiled find_structure_in_list.x.

glwhart commented 1 year ago

Thanks for catching this. I did not anticipated anyone using some of the ancillary codes.

Sorry it took so long...these changes are now incorporated in the latest version...