Boost logo

Boost :

Subject: Re: [boost] Boost.Build and Microsoft C2 clang
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2017-06-27 11:52:59


On 27/06/2017 12:40, Peter Dimov via Boost wrote:
> 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

Might it have something to do with "address-model=64" being missing from
the b2 command invocation perhaps?

Niall

-- 
ned Productions Limited Consulting
http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/

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