I try to compile the newest boost library (1.62.0) on a Linux system with kernel version 2.6.18-92.1.13.el5 (from uname -r), and 2016 intel c++ compiler using gcc 6.1.0.The new intel c++ compiler and gcc are installed at a sub directory of my home directory. I am using an old glibc probably as ancient as the kernel (ldd --version gives ldd (GNU libc) 2.5). I get the following error for the thread module:In file included from libs/log/src/event.cpp(31):/usr/include/linux/futex.h(96): error: identifier u32 is undefined  long do_futex(u32 *uaddr, int op, u32 val, unsigned long timeout,                ^That is the only error in the whole compilation.I cannot install new kernel on the computer because I don't have root access.Is it a good idea to install the newest Linux header? Will that allow me to install boost 1.62.0 without getting the error?
Compile new boost library on linux with ancient kernel
linux kernel;compiling;libraries;glibc;boost
I found the following in the first reference:CentOS 5.2 ships with Boost 1.33.1 If you insist on this hackish approach you need to visit the Boost Archived Versions, and look for version 1.33.1.  But notice the release date:Version 1.33.1  December 5th, 2006 12:00 GMTAfter downloading the version that was supposed to be installed via yum, build it in your home directory.  Do not upgrade your GCC version.  Due to the age of your system, the tools you're trying to install are constrained by the age of your archaic toolchain.In any system that has a package manager, the package manager should NEVER BE DISABLED.  You should consider an OS upgrade.  See the accepted answer here.  You should not upgrade your header files until you upgrade your kernel, and you can't upgrade the kernel until yum is restored.ReferencesRPM spec for Boost (libboost) RPM on CentOS 5.2