Boost logo

Boost :

Subject: Re: [boost] Boost.Build and Microsoft C2 clang
From: Peter Dimov (lists_at_[hidden])
Date: 2017-06-27 11:40:53


Tom Westerhout wrote:
> On 27/06/2017, Peter Dimov via Boost <boost_at_[hidden]> wrote:
> > This is what I have in my user-config from earlier tests:
> >
> > using clang : 14.1 :
> > "C:/Program Files (x86)/Microsoft Visual
> > Studio/2017/Community/VC/Tools/ClangC2/14.10.25903/bin/HostX86/clang.exe"
> > :
> > <linkflags>-v
> > <linkflags>"-fuse-ld=\"C:\\Program Files (x86)\\Microsoft Visual
> > Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25903\\bin\\HostX86\\link.exe\""
> >
> > ;
>
> Somehow clang decides to prepend target to the linker command:
>
> "i686-pc-windows-msvc-C:\\Program Files (x86)\\Microsoft Visual
> Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\bin\\HostX86\\x86\\link.exe"
>
> gets called in place of
>
> "C:\\Program Files (x86)\\Microsoft Visual
> Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\bin\\HostX86\\x86\\link.exe"
>
> Clang then complains that the program is not executable. Well, obviously,
> it is not. Do you know how to work around this issue?

No idea. I think that this worked before, an update to VS 2017 probably
broke it. I can't find where in Clang's sources is the i686-pc-windows-msvc-
prepended and why, and massaging the path doesn't help. -fuse-ld is handled
here:

https://clang.llvm.org/doxygen/ToolChain_8cpp_source.html#l00375


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk