Just a heads up. I'm getting compile failures with gcc10. Fortran is more picky about argument matching and these are mismatches that are fixable by adding
-fallow-argument-mismatch to the compile line
BlockSolve.F:1070:11:
1070 | NB = ILAENV( 1, 'UGETRF', ' ', M, N, -1, -1 )
| 1
Error: Type mismatch in argument 'ispec' at (1); passed INTEGER(4) to INTEGER(8)
BlockSolve.F:932:30:
932 | JP = J - 1 + e_idamax( M-J+1, A( J, J ), 1 )
| 1
Error: Type mismatch in argument 'incx' at (1); passed INTEGER(4) to INTEGER(8)
BlockSolve.F:2628:18:
2628 | ILAENV = IEEECK( 0, 0._RKIND, 1._RKIND )
| 1
Error: Type mismatch in argument 'ispec' at (1); passed INTEGER(4) to INTEGER(8)
BlockSolve.F:2639:18:
2639 | ILAENV = IEEECK( 1, 0._RKIND, 1._RKIND )
| 1
Error: Type mismatch in argument 'ispec' at (1); passed INTEGER(4) to INTEGER(8)
ffte4X.F90:673:26:
673 | call fft2(a,a,m)
| 1
Error: Type mismatch in argument 'a' at (1); passed COMPLEX(8) to REAL(8)
ffte4X.F90:675:26:
675 | call fft2(b,a,m)
| 1
Error: Type mismatch in argument 'a' at (1); passed COMPLEX(8) to REAL(8)
ffte4X.F90:787:36:
787 | call settbl0(w(j),8_IKIND,l)
| 1
Error: Type mismatch in argument 'w' at (1); passed COMPLEX(8) to REAL(8)
ffte4X.F90:793:36:
793 | call settbl0(w(j),5_IKIND,l)
| 1
Error: Type mismatch in argument 'w' at (1); passed COMPLEX(8) to REAL(8)
ffte4X.F90:799:36:
799 | call settbl0(w(j),4_IKIND,l)
| 1
Error: Type mismatch in argument 'w' at (1); passed COMPLEX(8) to REAL(8)
ffte4X.F90:805:36:
805 | call settbl0(w(j),3_IKIND,l)
| 1