finite() is not part of ANSI C, and did not compile with G++ 4.7 -std=c++11.  isfinite() is the standard replacement for it.  See: http://bytes.com/topic/c/answers/217761-finite-ansi-c