title: How can I deploy a C++11 program (with dependencies) on CentOS 6, whose GCC is C++03?
body: <p>GCC is great with ABI-compatibility as long as you use the same C++ standard [<a href="https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html">1</a>].</p>
  
  <p>But it strikes me that if a shared library compiled by GCC 4.3 in C++03 mode exposes, say, a <code>std::string</code>, this is going to be a different <code>std::string</code> than that understood by an executable compiled by GCC 4.8 in C++11 mode.</p>
  
  <p>The reason I ask is that I am planning to deploy a program compiled by GCC 4.8 in C++11 mode on CentOS 6, whose maximum packaged GCC is 4.3... and some of the shared libraries (be they third-party C++ libraries or more system-level stuff) will presumably therefore all be C++03. But if that were the case, we'd never be able to deploy any C++11 programs on older Linux distributions, which seems unlikely.</p>
  
  <p>Am I naive to think there might be a problem here? And, if there is, how can I resolve it?</p>