Follow up to the same problem on Mojave.
After upgrading to macOS Catalina, none of the C headers can be found in /usr/include
. The reason for this may be found in the Xcode 10 release notes (previous version):
The Command Line Tools package installs the macOS system headers inside the macOS SDK. Software that compiles with the installed tools will search for headers within the macOS SDK provided by either Xcode at:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk
or the Command Line Tools at:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
[...] As a workaround, an extra package is provided which will install the headers to the base system. In a future release, this package will no longer be provided. [...]
(See the link to the question above for details on this suggested workaround.)
Apparently Apple made good on their threat with Xcode 11. How can one install the C headers to /usr/include
on macOS Catalina using Xcode 11?
Context: The clang python binding search the header files in /usr/include
per default. According to kkurian's answer and the comment I made (in response to this question), there are multiple ways to control this behaviour, if necessary.
Related question: Can't compile C program on a Mac after upgrade to Mojave.
-isysroot [...]
to thecindex.Index.parse
call, where[...]
is the return value ofxcrun --show-sdk-path
.cindex.Index.parse
call"? Where is this call, and can your fix be made part of some python configuration?