Link against -lm (mathlib) because ScaleSpace.c (which is part of the internal libsift.a)
is using the exp() function, see http://bugs.gentoo.org/472150

--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -121,7 +121,7 @@
 
 ADD_LIBRARY(libsift STATIC ${LIBSIFT_SOURCES})
 
-set(all_libs libsift ${JPEG_LIBRARIES} ${TIFF_LIBRARIES}
+set(all_libs libsift m ${JPEG_LIBRARIES} ${TIFF_LIBRARIES}
     ${PNG_LIBRARIES} ${ZLIB_LIBRARIES} ${PANO13_LIBRARIES} ${LIBXML2_LIBRARIES}) 
 
 add_executable(generatekeys GenerateKeys.c)
