reported upstream: https://bugzilla.gnome.org/show_bug.cgi?id=652290 diff -ru vte-0.26.2.orig/configure.in vte-0.26.2/configure.in --- vte-0.26.2.orig/configure.in 2011-08-17 08:30:55 +0200 +++ vte-0.26.2/configure.in 2011-08-17 08:35:42 +0200 @@ -362,7 +362,11 @@ AC_DEFINE(HAVE_RECVMSG,1,[Define if you have the recvmsg function.]) fi AC_CHECK_FUNC(floor,,AC_CHECK_LIB(m,floor,LIBS=["$LIBS -lm"])) -AC_CHECK_FUNCS([ceil floor]) +dnl if the first check didn't find floor, it caches the "no" value, +dnl and doesn't recheck. this makes the below check fail always on +dnl systems with floor in -lm. thus we unset the chached result. +unset ac_cv_func_floor +AC_CHECK_FUNCS([ceil floor round]) # Look for tgetent --- vte-0.26.2.orig/configure 2012-04-30 20:02:55.000000000 +0200 +++ vte-0.26.2/configure 2012-04-30 20:03:16.000000000 +0200 @@ -13277,7 +13277,7 @@ fi -for ac_func in ceil floor +for ac_func in ceil floor round do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" diff -ru vte-0.26.2.orig/src/vte.c vte-0.26.2/src/vte.c --- vte-0.26.2.orig/src/vte.c 2011-08-17 08:30:58 +0200 +++ vte-0.26.2/src/vte.c 2011-08-17 08:38:09 +0200 @@ -63,6 +63,18 @@ #include #endif +#ifndef HAVE_ROUND +# if defined(HAVE_CEIL) && defined(HAVE_FLOOR) +static inline double round(double x) { + if(x - floor(x) < 0.5) { + return floor(x); + } else { + return ceil(x); + } +} +# endif +#endif + #if GTK_CHECK_VERSION (2, 90, 7) #define GDK_KEY(symbol) GDK_KEY_##symbol #else