diff -urp passenger-release-4.0.18.orig/ext/boost/cstdint.hpp passenger-release-4.0.18/ext/boost/cstdint.hpp --- passenger-release-4.0.18.orig/ext/boost/cstdint.hpp 2013-09-17 13:47:54.000000000 -0500 +++ passenger-release-4.0.18/ext/boost/cstdint.hpp 2013-09-23 16:34:02.074450639 -0500 @@ -41,7 +41,15 @@ // so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG. // See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990 // -#if defined(BOOST_HAS_STDINT_H) && (!defined(__GLIBC__) || defined(__GLIBC_HAVE_LONG_LONG)) +// This define has been dropped altogether in GLIBC 2.17. As of then, +// support for long long is part of baseline requirements, and +// [u]int64_t is always defined. See here: +// http://sourceware.org/ml/libc-alpha/2013-01/msg00440.html +// +#if defined(BOOST_HAS_STDINT_H) \ + && (!defined(__GLIBC__) \ + || defined(__GLIBC_HAVE_LONG_LONG) \ + || (defined __GLIBC_PREREQ && __GLIBC_PREREQ(2,17))) // The following #include is an implementation artifact; not part of interface. # ifdef __hpux Only in passenger-release-4.0.18/ext/boost: cstdint.hpp.glibc-long