https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84744
--- Comment #6 from Peter VARGA <developm...@faf-ltd.com> --- (In reply to Marc Glisse from comment #5) > That's not how you use a different glibc. If you look at the include order > printed by -v, it has to remain in that order (libstdc++ before glibc, in > particular), whereas you are adding your glibc in front. Best would be to > recompile gcc, which has the added advantage that it will be able to take > advantage of the new features in the new glibc this way. May be for you all is clear but I am not in the gnu gcc developer team and I am using only gcc. Therefore I don't really understand what I should do. You all give just half of some hints and they don't even work. What should I do different when I recompile gcc? This works - but why should I do it? Why is g++ using the path /usr/include BEFORE the others and this is the problem! gcc does NOT keep the include order. g++ foo.cpp -o foo -nostdinc -I /FaF/include/c++/7.3 -I /FaF/include/c++/7.3/x86_64-suse-linux/ -I /FaF/glibc/include/ -I /FaF/lib64/gcc/x86_64-suse-linux/7.3.0/include In /FaF is my gcc 7.3 and in /FaF/glibc is glibc 2.27