<div dir="ltr">The easiest way to get everything working it to install the XCode Command line tools using `xcode-select --install`.<div><br></div><div>Then everything should work.</div><div><br></div><div>/Eric</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Oct 12, 2016 at 5:17 AM, Sebastian Biallas via cfe-dev <span dir="ltr"><<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
I’m compiling clang (in particular clang-check) from source on Mac OS. Getting it to actually work, however, was a bit involved on my system. See below for what I did (and where either I did something work or the instructions could be improved).<br>
<br>
I used qtcreator to run cmake and compile, which seems to work fine except that the resulting clang has some problems finding the required headers to parse anything non-trivial. It does not find, e.g., <vector>.<br>
<br>
Ok, so according to the "getting started" page I apparently have to set GCC_INSTALL_PREFIX to point to these headers. I seems that the C++ headers are located somewhere around /Applications/Xcode.app/<wbr>Contents/Developer/Toolchains/<wbr>XcodeDefault.xctoolchain/usr/ on my system. This is at least where gcc (which actually is an apple-flavored clang) picks them up.<br>
<br>
Anyway, I tried to set this (with and without /bin/ at the end), recompiled, but it did not seem to affect clang in any way. But it also did not complain.<br>
<br>
Then I saw that the resulting clang tries to find the C++ headers first in its build directory. So I put a symbolic link there to the C++ headers on my system. Then it could find <vector> but not <string.h> (which is transitively included by vector).<br>
<br>
Next thing I tried is, I gathered all the search directories of my compiler using:<br>
g++ -E -x c++ - -v < /dev/null<br>
<br>
Then, in an act of brute force, added all these directories to C_INCLUDE_DIRS for clang. This now at least had an effect, but still did not work:<br>
<br>
/Users/biallas/prog/build-<wbr>llvm-Desktop-Vorgabe/bin/../<wbr>include/c++/v1/cstdint:175:8: error: no member named<br>
      'int_fast32_t' in the global namespace<br>
using::int_fast32_t;<br>
<br>
At this point, I thought that maybe my system C++ headers are too old or not compatible with the newest clang. So I checked out libstdc++ as well and put it into the project directory. I removed my custom flags and recompiled.<br>
<br>
The resulting clang now spills out the following (slightly amusing) message:<br>
<br>
$ /Users/biallas/prog/build-<wbr>llvm-Desktop-Vorgabe/bin/clang -c move.cc<br>
In file included from move.cc:1:<br>
In file included from /Users/biallas/prog/build-<wbr>llvm-Desktop-Vorgabe/bin/../<wbr>include/c++/v1/vector:265:<br>
In file included from /Users/biallas/prog/build-<wbr>llvm-Desktop-Vorgabe/bin/../<wbr>include/c++/v1/iosfwd:90:<br>
/Users/biallas/prog/build-<wbr>llvm-Desktop-Vorgabe/bin/../<wbr>include/c++/v1/wchar.h:119:15: fatal error:<br>
      'wchar.h' file not found<br>
#include_next <wchar.h><br>
<br>
Hmm… So maybe it’s now finding the correct C++ stuff but the C stuff is still broken. I set C_INCLUDE_DIRS to<br>
/Applications/Xcode.app/<wbr>Contents/Developer/Platforms/<wbr>MacOSX.platform/Developer/<wbr>SDKs/MacOSX10.12.sdk/usr/<wbr>include (because this is where gcc picks the C stuff up) and, Eureka!, it finally works.<br>
<br>
My question now is: Isn’t C_INCLUDE_DIRS supposed to be set automatically? At some point either I messed up or the build script could be improved.<br>
<br>
My system is a pretty standard Mac OS 10.12. The only thing that might confuse is a clang-format installed using brew.<br>
<br>
Best,<br>
Sebastian<br>
<br>
______________________________<wbr>_________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-dev</a><br>
</blockquote></div><br></div>