DSS_SOLVE_REAL problem in makefile

DSS_SOLVE_REAL problem in makefile

OBJS = main.f90

main: ${OBJS}

     ifort ${OBJS} ${MKLPATH}/libmkl_blas95_ilp64.a ${MKLPATH}/libmkl_lapack95_ilp64.a -Wl,--start-group ${MKLPATH}/libmkl_intel_ilp64.a ${MKLPATH}/libmkl_core.a ${MKLPATH}/libmkl_sequential.a -Wl,--end-group -openmp -lpthread -lm -mkl=sequential -i8 -I$(MKLHOME)/mkl/include/intel64/ilp64 -I$(MKLHOME)/mkl/include


Above is the makefile which i compile, a DSS solver routine is used, but there is an error, shows that 

error #6284: there is no matching specific function for this generic function reference. [DSS_SOLVE_REAL]

but: when i replace dss_solve_real with dss_solve_real_d or dss_solve_real_d_ ,both alternative works fine. no error comes up. 

 Is there something wrong with my makefile?

Thank you.

5 posts / novo 0
Último post
Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.

I think that you are looking in the wrong place -- in the makefile.

The error #6284 is from the compiler, and there is probably a mismatch regarding the arguments that you try to pass to dss_solve_real. When you replace CALL dss_solve_real(...) by a call to dss_solve_real_d, an implicit interface is used, so no compile-time checking is done. The code may, however, crash at run time. Please provide a short example source code that exhibits the problem.

this is my example code: dss_sk is a subroutine which is made from a dss solve example just to simplify the code.And the example runs fine but with this subroutine the problem comes up. 


The MKL documentation for DSS_SOLVE_REAL indicates that you should change the declaration of the rhs array to a rank-1 array, i.e., 

rhs( datavec(1)*datavec(4) )
instead of
rhs( datavec(1),datavec(4) )

thank you for your help, it works fine

Faça login para deixar um comentário.