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

Kevin Funk via cfe-dev cfe-dev at lists.llvm.org
Thu Mar 10 09:28:49 PST 2016


On Thursday, March 10, 2016 11:05:39 AM CET don hinton wrote:
> You probably need to specify the version of gcc and the path to libstdc++.
> Something like this:
> 
> export CLANG_GCC=<path to the version of gcc you want to use>
> cmake \
>     -DCMAKE_C_COMPILER=${CLANG_GCC}/bin/gcc \
>     -DCMAKE_CXX_COMPILER=${CLANG_GCC}/bin/g++ \
>     -DGCC_INSTALL_PREFIX=${CLANG_GCC} \
>     -DCMAKE_CXX_LINK_FLAGS="-L${CLANG_GCC}/lib64
> -Wl,-rpath,${CLANG_GCC}/lib64" \
>     -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX}

That's a compile switch, when building LLVM/Clang, right?
 
That's not what I'd like to have. I'd like to decide that later, when invoking 
Clang (just assume I only got my distro-provided Clang).

I'll check whether adding a command-line options is feasible (won't happen 
tomorrow-ish, no time for that) :)

Cheers,
Kevin

> On Thu, Mar 10, 2016 at 10:45 AM, Jonathan Roelofs via cfe-dev <
> 
> cfe-dev at lists.llvm.org> wrote:
> > 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
> > 
> > _______________________________________________
> > cfe-dev mailing list
> > cfe-dev at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev


-- 
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/20160310/edabb91f/attachment.sig>


More information about the cfe-dev mailing list