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

Jonathan Roelofs via cfe-dev cfe-dev at lists.llvm.org
Thu Mar 10 07:45:03 PST 2016



On 3/10/16 7:53 AM, Kevin Funk via cfe-dev wrote:
> On Saturday, March 5, 2016 4:07:43 PM CET Kevin Funk via cfe-dev wrote:
>> Heya,
>>
>> 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:
>>
>> /usr/bin/../lib/gcc/x86_64-linux-gnu/6.0.0/../../../../include/c++/6.0.0/
>> 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
>> 3.6.2)
>> Target: x86_64-pc-linux-gnu
>> Thread model: posix
>> (snip)
>> 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.

For this problem, I don't think there is one.

>
> Bump.
>
> Any idea? Am I missing something?
>
> Do you a think a patch which introduces an env var setting for specifying the
> desired libstdc++ version would be acceptable?

An env var for that would not be acceptable, but a command line option 
probably would be.


Jon

>
> Cheers,
> Kevin
>
>> Cheers,
>> Kevin
>
>
>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>

-- 
Jon Roelofs
jonathan at codesourcery.com
CodeSourcery / Mentor Embedded



More information about the cfe-dev mailing list