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

Sean Silva via llvm-dev llvm-dev at lists.llvm.org
Wed Jul 6 14:17:32 PDT 2016


On Wed, Jul 6, 2016 at 1:21 PM, Mehdi Amini via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

>
> 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.
>

This gives an error for me. Any ideas?

```
Sean:~/pg/llvm % ~/pg/release/bin/clang++ -v -isysroot `xcrun
--show-sdk-path` -fsyntax-only test.cpp
clang version 3.9.0 (trunk 274185) (llvm/trunk 274183)
Target: x86_64-apple-darwin14.5.0
Thread model: posix
InstalledDir: /Users/Sean/pg/release/bin
 "/Users/Sean/pg/release/bin/clang-3.9" -cc1 -triple
x86_64-apple-macosx10.11.0 -Wdeprecated-objc-isa-usage
-Werror=deprecated-objc-isa-usage -fsyntax-only -disable-free
-disable-llvm-verifier -discard-value-names -main-file-name test.cpp
-mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim
-masm-verbose -munwind-tables -target-cpu core2 -target-linker-version
253.9 -v -dwarf-column-info -debugger-tuning=lldb -resource-dir
/Users/Sean/pg/release/bin/../lib/clang/3.9.0 -isysroot
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk
-stdlib=libc++ -fdeprecated-macro -fdebug-compilation-dir
/Users/Sean/pg/llvm -ferror-limit 19 -fmessage-length 158 -stack-protector
1 -fblocks -fobjc-runtime=macosx-10.11.0 -fencode-extended-block-signature
-fcxx-exceptions -fexceptions -fmax-type-align=16 -fdiagnostics-show-option
-fcolor-diagnostics -x c++ test.cpp
clang -cc1 version 3.9.0 based upon LLVM 3.9.0svn default target
x86_64-apple-darwin14.5.0
ignoring nonexistent directory
"/Users/Sean/pg/release/bin/../include/c++/v1"
ignoring nonexistent directory
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/c++/v1"
ignoring nonexistent directory
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/local/include"
ignoring nonexistent directory
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/Library/Frameworks"
#include "..." search starts here:
#include <...> search starts here:
 /Users/Sean/pg/release/bin/../lib/clang/3.9.0/include
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks
(framework directory)
End of search list.
test.cpp:1:10: fatal error: 'iostream' file not found
#include <iostream>
         ^
1 error generated.
zsh: exit 1     ~/pg/release/bin/clang++ -v -isysroot `xcrun
--show-sdk-path` -fsyntax-only
```

-- Sean Silva


>
>> Mehdi
>
>
>
>
> --
> Cristianno Martins
> PhD Student of Computer Science
> University of Campinas
> cmartins at ic.unicamp.br
> <cristiannomartins at hotmail.com>
>
> On Thu, Jun 23, 2016 at 2:58 PM, Jonathan Roelofs via llvm-dev <
> 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>> 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>> 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
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>>
>>>
>> --
>> Jon Roelofs
>> jonathan at codesourcery.com
>> CodeSourcery / Mentor Embedded
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> 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
>
>
>
> _______________________________________________
> 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/042194c9/attachment.html>


More information about the llvm-dev mailing list