I found this problem on FreeBSD, which uses clang and llvm C++ library: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=230230 cppreference says that there should be such standard header: https://en.cppreference.com/w/cpp/header/cstdalign
In the long run, you'll want to fix your code, because <cstdalign> was deprecated in C++17, and will be removed outright for C++20. c++17: [diff.mods.to.headers]/4 says: The headers <ciso646>, <cstdalign> (D.4.2), and <cstdbool> (D.4.3) are meaningless in C++. Use of the C++ headers <ccomplex>, <cstdalign>, <cstdbool>, and <ctgmath> is deprecated (D.5). c++2a [diff.cpp17.library]/2 says: Change: Remove vacuous C++ header files. Rationale: The empty headers implied a false requirement to achieve C compatibility with the C++ headers. Effect on original feature: A valid C++ 2017 program that #includes any of the following headers may fail to compile: <ccomplex>, <ciso646>, <cstdalign>, <cstdbool>, and <ctgmath>. That being said, it looks like libc++ never added <cstdalign> or <cuchar> for C++11.