This happens when building on MacOS 10.13. I suppose some parts of the code gets #ifdef-ed out, but the symbollist isn't, that is passed to the linker. This list is in `lib/itanium-base.exp` and used as input for `-exported_symbols_list`. Now Apple's linker decided in its wisdom, that missing actual symbols are an error (and not a warning, what would be sane) and the build aborts. All affected symbols are of the form _Z.*du. If I remove them before building things work out OK.
I also have this problem. BTW, is it OK to have itanium symbols on x86_64 arch? Itanium is kind of different thing isn't it?
What compiler are you using? I'm guessing you're using a fairly old Clang. The issue is that the compiler emits type information for fundamental types in libc++abi, and your compiler doesn't know about char8_t yet, so it doesn't emit the type information for those. libc++abi tries to export these symbols and it fails to do so, because they haven't been generated in the dylib by the compiler. Getting a linker error is quite nice, because otherwise you'd be producing a libc++abi.dylib that doesn't work properly at runtime (say if you try to use typeid(char8_t) in your program). The fix is to use a recent Clang when building libc++ and libc++abi.