Take the 2-minute tour ×

I try to compile the fortran program which my advisor gave me.

It doesn't want to compile when I'm doing this with gfortran 4.7.2 on Mac OS X 10.8.4 and with gfortran 4.8.1 on Arch Linux x64.

I've built the minimal working example which replays the error. Unfortunately, it's quite big anyway, so I've put it on the github: https://github.com/kabanovdmitry/vode-test

I can compile this code under Ubuntu 12.04 with gfortran 4.6.3.

I've checked press releases for GCC 4.7 and found nothing that could give me a clue.

Could you please shed some light why gfortran doesn't want to compile this code?

Sorry, initially forgot to put the errors here:


    call vode(istate, lambda_fcn, dummy_jac, lambda, x_tmp, x_end, tol, pm)
Error: There is no specific subroutine for the generic 'vode' at (1)
make: *** [all] Error 1
share|improve this question
Can you add the rest of the error message? The file/line number would be great. –  Yossarian Jun 25 '13 at 19:49
What sort of errors are you getting? –  cup Jun 25 '13 at 20:01
duplicate : stackoverflow.com/questions/8044568/… –  george Jun 26 '13 at 18:54
add comment

1 Answer

up vote 1 down vote accepted

Your problem is covered by my answer and its comments in the question referenced by george. The type, kind and rank of arguments match exactly. To add something new, I suggest you to try to call the specific procedure directly. The type checker will then complaint for bad actual arguments and you will see more details.

In your case


call d_vode(istate, lambda_fcn, dummy_jac, lambda, x_tmp, x_end, tol, pm)
Error: Interface mismatch in dummy procedure 'f' at (1): Shape mismatch in dimension 1 of argument 'y'

Which is rather self-explaining. You dummy procedures are not compatible with your interfaces. You are mixing assumed-size and constant-size and explicit size arrays. You must follow the interface exactly.

share|improve this answer
add comment

Your Answer


