[cfe-dev] Control selected GCC installation / selected libstdc++ version?

Kevin Funk via cfe-dev cfe-dev at lists.llvm.org
Sat Mar 5 07:07:43 PST 2016


I just installed GCC6 on my system (which obviously comes with a new libstdc+
+), and this, unfortunately, breaks Clang. 

Long story short: In this particular case I can't build LLVM anymore, since 
clang errors out:

tuple:1381:14: error: no matching constructor for initialization of 
'tuple<llvm::LexicalScope *&&, const llvm::DILocalScope *&&, nullptr_t &&, 
bool &&>'
    { return tuple<_Elements&&...>(std::forward<_Elements>(__args)...); }
             ^                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I'm not interested in solving the error, I'm more concerned about this: Is it 
possible to force Clang into using a specific libstdc++ version? Right now it 
seems to just choose the highest version available(?)

# clang++-3.6 -E -v
Ubuntu clang version 3.6.2-3ubuntu1 (tags/RELEASE_362/final) (based on LLVM 
Target: x86_64-pc-linux-gnu
Thread model: posix
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.3.1
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.0.0
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.0.0
Candidate multilib: .;@m64
Selected multilib: .;@m64

^ How can I force clang to use /usr/lib/gcc/x86_64-linux-gnu/5.3.1 instead, 
for instance?

Is that even possible? I had a brief look at tools/clang/lib/Driver/
ToolChains.cpp, but couldn't find any knobs I could use from the command-line.

Kevin Funk | kfunk at kde.org | http://kfunk.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20160305/524060fb/attachment.sig>

More information about the cfe-dev mailing list