As noticed by Jonathan, the namespace chosen for this extension is not in the implementation namespace and clashes with a similar name in : the placeholders for bind. Fixed thusly. And another name injection patchlet. However, there's a bit of an added wrinkle in that now libstdc++ is linked in earlier in the build, and is not just this target library. So, to avoid confusion and build errors, --enable-symvers=gnu-versioned-namespace Now sets libstdc++.so's SONAME to libstdc++.so.7, not libstdc++.so.6.x.x. Ie, incompatible. This is not really a huge conceptual change. This flag was always about creating a new ABI for libstdc++ and has clearly been marked as incompatible. Now, I've explicitly named it as such. Yay! I'm going to let this chill a bit on mainline and then check in to 4.6.x. -benjamin tested x86/linux tested x86/linux --enable-gnu-versioned-namespace