Skip to content

Compilation Error: co_ca symbol not found in io_utils module when building makestr.x #130

@KylinGuo

Description

@KylinGuo

When compiling enumlib-2.0.5 with make F90=gfortran makestr.x, the build fails with the error:

$ make F90=gfortran makestr.x
make -C ../symlib/src
make[1]: Entering directory '/home/guoqilin/Downloads/enumlib-2.0.5/symlib-2.0.2/src'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/guoqilin/Downloads/enumlib-2.0.5/symlib-2.0.2/src'
sed -i.bak "s/\(write(23,'(A)')\)\(.*\)/\1 \"`git describe --tags --dirty --abbrev=4`\"/" derivative_structure_generator.f90
fatal: not a git repository (or any of the parent directories): .git
gfortran -fPIC -g -fbounds-check -Wall -ffree-line-length-none -fno-underscoring -I../symlib/src -c io_utils.f90
io_utils.f90:52:98:

   52 |   subroutine read_struct_enum_out(title,LatDim,pLV,nD,d,k,eq,Nmin,Nmax,eps,full,label,digit,cRange,fname)
      |                                                                                                  1
Warning: Unused dummy argument ‘crange’ at (1) [-Wunused-dummy-argument]
gfortran -fPIC -g -fbounds-check -Wall -ffree-line-length-none -fno-underscoring -I../symlib/src -c derivative_structure_generator.f90
derivative_structure_generator.f90:1600:17:

 1600 |     size_count = size_count + this_count*nHNF
      |                 1
Warning: Possible change of value in conversion from INTEGER(8) to INTEGER(4) at (1) [-Wconversion]
derivative_structure_generator.f90:1601:18:

 1601 |     total_count = total_count + this_count*nHNF
      |                  1
Warning: Possible change of value in conversion from INTEGER(8) to INTEGER(4) at (1) [-Wconversion]
ar ru libenum.a io_utils.o derivative_structure_generator.o
ar: `u' modifier ignored since `D' is the default (see `U')
ranlib  libenum.a
gfortran -fPIC -g -fbounds-check -Wall -ffree-line-length-none -fno-underscoring -I../symlib/src -c ../aux_src/makeStr.f90
../aux_src/makeStr.f90:9:19:

    9 | use io_utils, only: co_ca
      |                   1
Error: Symbol ‘co_ca’ referenced at (1) not found in module ‘io_utils’
make: *** [Makefile:128: makeStr.o] Error 1

The build fails because the compiler cannot find co_ca in the io_utils module, despite the subroutine being present in io_utils.f90.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions