エラーが出てしまい、自力での解決が難解なので、皆さんの知恵を貸してください。

プログラムの一部に

E(I)=1.0D00/DSQRT(DREAL(X(I,I)))

という行があるのですが、新型のPC&コンパイラにしたところ、今までは出てこなかったエラーが出てきてしまいました。
エラー表示は

fortcom: Warning: ファイル名.f line 2401: This argument's data type is incompatible with this intrinsic procedure; procedure assumed EXTERNAL. [DREAL]
E(I)=1.0D00/DSQRT(DREAL(X(I,I)))
------------------------------^
/tmp/ifortIC65Ir.o(.text+0x18f5d): In function `secula_':
: undefined reference to `dreal_'
/tmp/ifortIC65Ir.o(.text+0x19264): In function `secula_':
: undefined reference to `dreal_'

といった感じです。dreal、dsqrtの両方のdを外せば解決はしますが、精度が低くなりすぎて使えません。
dをつけた状態でコンパイル時にエラーが出なくなるにはどうしたらよろしいでしょうか。

PC構成は、OSがsuse9.1、コンパイラが無料版のintel fortran 9.0です。
古いPCですと、OSがredhat6.2、コンパイラがabsoftのpro fortranです。

よろしくお願いします。