title: How is the Node.js v8.x binary distribution for Linux built?
body: <p>I'm working with Node.js 8.9.4, the current LTS version. </p>
  
  <p>If I download the 64 bit Linux binary distribution of that version from the Node.js website (<a href="https://nodejs.org/dist/v8.9.4/node-v8.9.4-linux-x64.tar.xz" rel="nofollow noreferrer">https://nodejs.org/dist/v8.9.4/node-v8.9.4-linux-x64.tar.xz</a>), then the <strong>node</strong> executable it includes will run on Red Hat Enterprise Linux 6. (I need to be able to target this version of RHEL). </p>
  
  <p>I have also built Node v8.9.4 from source, following the instructions at <a href="https://github.com/nodejs/node/blob/master/BUILDING.md#building-nodejs-on-supported-platforms" rel="nofollow noreferrer">https://github.com/nodejs/node/blob/master/BUILDING.md#building-nodejs-on-supported-platforms</a>. Doing this required gcc 4.9.4 or newer, as per that page, because C++11 support is now required. </p>
  
  <p>However, the node binary that results from that build will not run on RHEL 6, because the standard C++ library (libstdc++.so) that ships with RHEL 6 is from GCC 4.4.7. It's necessary to reference the libgcc and libstdc++ from the newer version of GCC that was used to build node to get it to work. </p>
  
  <p>I <em>think</em> this means that the Linux binary distributions on the Node.js website are not built using the process described in the build instructions - if they were, they would not run on RHEL 6. </p>
  
  <p>Is there any information on how the binary distributions of Node.js are built? Are there some options to the configure script that I'm missing?</p>
  
  <p>(The reason for this question: I'm trying to build a Node C++ add-on, which needs to target RHEL 6, and hitting the same problem with the version of gcc required to build it vs. the version of the GCC/C++ runtime on RHEL 6. Yes, I could distribute the runtime libraries with my application, but there is obviously a better solution, because the binary distribution of Node is using it). </p>