Well, I am unable to get SURF to work on a standard PC running linux as well. From what I can tell via googling, in open CV v 2.4 certain functions were moved to a "nonfree" portion of openCV. When you compile the default code for opencv 2.4.12 from the open CV website, those functions can be loaded without issue. When you just install open cv from the package manner (in raspbian, (l)ubuntu for pc, ubuntu mate for ras pi), those functions do not appear. It looks like whoever compiled them left those functions out because they are "non free". Compiling is relatively straightforward, but slow. I also compiled a version of opencv 3. There the SURF and SIFT functions are moved to subfunctions of cv2.xfeatures2d. Unfortunately then the Flann knnsearch function is broken (at least in the version I compiled, other people are reporting the same error as well). It seems like the best thing I found to do was install the current version of opencv 2.4 by compiling from source.