That's a bug in libdps (fixed in 2.4). Sun compiles and links its software with its own compilers. The isinf() function is shipped with the SunPRO compilers, but not defined in any Solaris 2.3 library.
A workaround exists, and consists of adding the following to your program:
#include <ieeefp.h>int isinf(double x) { return !finite(x) && x==x; }