[llvm-dev] [cfe-dev] clang++ build from source is not able to find C++ headers

Mehdi Amini via llvm-dev llvm-dev at lists.llvm.org
Wed Jul 6 13:21:05 PDT 2016


> On Jun 23, 2016, at 11:15 AM, Cristianno Martins via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> Hi Vivek,
> 
> you can also include these lines below to your ~/.bash_profile:
> 
> LLVM_BUILD="/Developer/llvm/build" # Path to your build directory
> alias new-clang="$LLVM_BUILD/bin/clang -Wno-expansion-to-defined -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include"
> alias new-clang++="$LLVM_BUILD/bin/clang++ -Wno-expansion-to-defined -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/c++"
> 
> where you only need to set LLVM_BUILD to where in you system you built llvm/clang.
> 
> After that, invoke "source ~/.bash_profile" on the current terminal, or simply open a new terminal, and you'll be able to use new-clang and new-clang++, instead of clang and clang++, to invoke your newest compiled binary.

I believe the right way is to use -isysroot with the path to the SDK:

clang++ -isysroot `xcrun --show-sdk-path`


Otherwise I always end-up having other issues with missing system/platform headers.

— 
Mehdi


> 
> 
> --
> Cristianno Martins
> PhD Student of Computer Science
> University of Campinas
> cmartins at ic.unicamp.br <mailto:cmartins at ic.unicamp.br>
>  <mailto:cristiannomartins at hotmail.com>
> On Thu, Jun 23, 2016 at 2:58 PM, Jonathan Roelofs via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
> 
> 
> On 6/23/16 11:56 AM, vivek pandya via llvm-dev wrote:
> 
> 
> On Thu, Jun 23, 2016 at 7:36 PM, Tim Northover <t.p.northover at gmail.com <mailto:t.p.northover at gmail.com>
> <mailto:t.p.northover at gmail.com <mailto:t.p.northover at gmail.com>>> wrote:
> 
>     On 23 June 2016 at 06:31, vivek pandya via cfe-dev
>     <cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org> <mailto:cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>>> wrote:
>     > I am running OS X, when I build clang++ from source and use it to compile
>     > .cpp files it fails as it is not able to find C++ header. I am not building
>     > libc++ along with llvm and clang.
> 
>     When I'm not building with libcxx in-tree I find it easiest to just
>     symlink Xcode's libc++ headers into the build directory. Something
>     like "ln -s
>     /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++
>     build/include".
> 
> Thanks Tim,
> 
> symlink to build include does not help because clang++ looks headers
> into build/lib/clang/3.9.0/include ( as per output of clang++ -v) but I
> 
> That path is where clang is looking for compiler-provided headers. You should see another path in the -v output that says where it is looking for the c++ headers, which should not be in the same place.
> 
> 
> Jon
> 
> symlink to /usr/local/include , that worked I hope there is nothing
> wrong in doing so.
> 
> -Vivek
> 
> 
>     > using -stdlib=libstdc++ solves problem partially but it fails when using
>     > C++11 threads, again it can't find <thread>, to get this work clang++ should
>     > work with -stdlib=libc++ but it fails with previous error of not finding C++
>     > headers.
> 
>     Yes, the libstdc++ included with OS X is ancient (from GCC 4.2 I
>     think) and there only for compatibility reasons. It has virtually no
>     support for C++11, which LLVM needs.
> 
>     Cheers.
> 
>     Tim.
> 
> 
> 
> 
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev>
> 
> 
> -- 
> Jon Roelofs
> jonathan at codesourcery.com <mailto:jonathan at codesourcery.com>
> CodeSourcery / Mentor Embedded
> 
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev>
> 
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160706/a68a3e53/attachment.html>


More information about the llvm-dev mailing list