PGF90-S-0038-Symbol, erf, has not been explicitly declared

I am trying to compile ppm - http://chaton.inf.ethz.ch/ppm/index.php/Main_Page

on the Cray XT3 using the pgi compiler. this is the error -
ftn -Mfree -I…/include -I/opt/fftw/3.1.1/include -Mfree -O2 -fastsse -D__SMALL_FOOTPRINT__ -Mcray=pointer -c sph_global.f
/opt/xt-pe/2.0.53/bin/snos64/ftn: INFO: linux target is being used
cpp -D__ETIME -D__MPI -D__Linux -P sph_module_io.f sph_module_io.f
ftn -Mfree -I…/include -I/opt/fftw/3.1.1/include -Mfree -O2 -fastsse -D__SMALL_FOOTPRINT
-Mcray=pointer -c __sph_module_io.f -o sph_module_io.o
/opt/xt-pe/2.0.53/bin/snos64/ftn: INFO: linux target is being used
PGF90-S-0038-Symbol, erf, has not been explicitly declared (__sph_module_io.f)
0 inform, 0 warnings, 1 severes, 0 fatal for sph_init_dshear
make: *** [sph_module_io.o] Error 2

any idea ??

f77 -I/opt/fftw/3.1.1/include -Msignextend -fpic -Mextend -O2 -fastsse -D__SMALL_FOOTPRINT__ -Mcray=pointer -c sph_global.f
/opt/xt-pe/2.0.53/bin/snos64/f77: INFO: linux target is being used
PGFTN-S-0034-Syntax error at or near end of line (sph_global.f: 42)
PGFTN-S-0034-Syntax error at or near end of line (sph_global.f: 48)
PGFTN-S-0034-Syntax error at or near end of line (sph_global.f: 49)
PGFTN-S-0019-Illegally placed continuation line (./sph_param.h: 31)
PGFTN-S-0034-Syntax error at or near , (./sph_param.h: 33)
PGFTN-S-0034-Syntax error at or near ( (sph_global.f: 64)
PGFTN-S-0034-Syntax error at or near :: (sph_global.f: 69)
PGFTN-S-0034-Syntax error at or near :: (sph_global.f: 70)
PGFTN-S-0034-Syntax error at or near ( (sph_global.f: 71)
PGFTN-S-0034-Syntax error at or near ( (sph_global.f: 76)
PGFTN-S-0034-Syntax error at or near ( (sph_global.f: 77)
PGFTN-S-0034-Syntax error at or near ( (sph_global.f: 82)
PGFTN-S-0034-Syntax error at or near ( (sph_global.f: 83)
PGFTN-S-0034-Syntax error at or near ( (sph_global.f: 88)
PGFTN-S-0034-Syntax error at or near :: (sph_global.f: 93)
PGFTN-S-0034-Syntax error at or near :: (sph_global.f: 99)
PGFTN-S-0034-Syntax error at or near :: (sph_global.f: 101)
PGFTN-S-0034-Syntax error at or near :: (sph_global.f: 106)
PGFTN-S-0034-Syntax error at or near :: (sph_global.f: 112)
PGFTN-S-0034-Syntax error at or near ( (sph_global.f: 117)
PGFTN-S-0034-Syntax error at or near ( (sph_global.f: 122)
PGFTN-S-0043-Illegal attempt to redefine symbol dimension (sph_global.f: 123)
PGFTN-W-0119-Redundant specification for dimension (sph_global.f: 123)
PGFTN-S-0034-Syntax error at or near :: (sph_global.f: 123)
PGFTN-S-0043-Illegal attempt to redefine symbol dimension (sph_global.f: 124)
PGFTN-W-0119-Redundant specification for dimension (sph_global.f: 124)
PGFTN-S-0034-Syntax error at or near :: (sph_global.f: 124)
PGFTN-F-0008-Error limit exceeded (sph_global.f: 124)
make: *** [sph_global.o] Error 2

Hi,

Your source code probably has implicit none.

Try adding real::erf after implicit none statement.

Here is example:

program test
implicit none
real:: erf
print *, erf(1.0)
end

Hongyon