Re: B2 seems to seeking mt.exe at the wrong location (without the windows kits number)?
Edward Diener via Boost-build <[email protected]> Wed, 24 Jul 2019 14:54:05 -0400
| Newsgroups | gmane.comp.lib.boost.build |
|---|---|
| Message-ID | <[email protected]> |
On 7/24/2019 7:47 AM, Paul A Bristow via Boost-build wrote: > I am using > > VS2019 version16.20 preview 4.0 (current) > > I:\boost\libs\hello_boost\example>b2 -v > > B2 Version 4.0. OS=NT. > > Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc. > > Copyright 2001 David Turner. > > Copyright 2001-2004 David Abrahams. > > Copyright 2002-2019 Rene Rivera. > > Copyright 2003-2015 Vladimir Prus. > > DEFAULTS: jobs = 16 > > > I am usinga jamfile and a .bat file that has worked before, but working > on nearly current GIT develop. > > But something seems to have changed so that clang-win no longer works, > failing at the link. > > I:\boost\libs\hello_boost\example>b2 -j16 toolset=clang-win-8.0.0 > address-model=64 architecture=x86 release > > warning: Did not find command for MSVC toolset. If you have Visual > Studio 2017 installed you will need to specify the full path to the > command, set VS150COMNTOOLS for your installation, or build from the > 'Visual Studio Command Prompt for VS 2017'. > > (I have ignoredthesewarnings without trouble before). > > Output of the link is: > > Performing configuration checks > > - default address-model : 32-bit (cached) > > - default architecture : x86 (cached) > > - symlinks supported : yes (cached) > > - BOOST_COMP_GNUC >= 4.3.0 : no (cached) > > ...patience... > > ...found 2277 targets... > > ...updating 11 targets... > > clang-win.link.dll > ..\..\..\bin.v2\libs\system\build\clang-win-8.0.0\release\address-model-64\threading-multi\boost_system-clangw8-mt-x64-1_71.dll > > msvc.manifest.dll > ..\..\..\bin.v2\libs\system\build\clang-win-8.0.0\release\address-model-64\threading-multi\boost_system-clangw8-mt-x64-1_71.dll > > '"C:\\Program Files (x86)\\Windows Kits\\10\\bin\x64\mt.exe"' is not > recognized as an internal or external command, > > operable program or batch file. > > if exist > "..\..\..\bin.v2\libs\system\build\clang-win-8.0.0\release\address-model-64\threading-multi\boost_system-clangw8-mt-x64-1_71.dll.manifest" > ( > > "C:\\Program Files (x86)\\Windows > Kits\\10\\bin\x64\mt.exe" -nologo -manifest > "..\..\..\bin.v2\libs\system\build\clang-win-8.0.0\release\address-model-64\threading-multi\boost_system-clangw8-mt-x64-1_71.dll.manifest" > "-outputresource:..\..\..\bin.v2\libs\system\build\clang-win-8.0.0\release\address-model-64\threading-multi\boost_system-clangw8-mt-x64-1_71.dll;2" > > ) > > ...failed msvc.manifest.dll > ..\..\..\bin.v2\libs\system\build\clang-win-8.0.0\release\address-model-64\threading-multi\boost_system-clangw8-mt-x64-1_71.dll > ..\..\..\bin.v2\libs\system\build\clang-win-8.0.0\release\address-model-64\threading-multi\boost_system-clangw8-mt-x64-1_71.lib... > > Briefly: > > Clang 8.0.0 compiles all OK, but fails to link missing right version of > mt.exe > > "C:\\Program Files (x86)\\Windows Kits\\10\\bin\x64\mt.exe" > > is missing the specification ofthe sub-folder > > currently\10.0.17763.0 > > should beusing > > "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64\mt.exe" > > What have I done to mess this up? My testing with clang-win shows that if the backend is the latest VS2019 release, which I have, then mt.exe is automatically found by the clang-win.jam code so it can later be successfully executed, but if the backend is VS2017 or less then you need to specify your own <manifest-tool> option. My manifest tool option, because I am using VS2017 as the backend for clang-win-8.0, is: <manifest-tool>E:/programming/bat/mt_clangwin80.bat where mt_clangwin80.bat is: @echo off call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat" >nul set PATH=C:\Utilities\LLVM\800\x32\bin;%PATH% mt %* The 'set PATH etc.' 3rd line, which prepends the clang-8.0 bin directory to the PATH, may not be needed for the mt.exe comamnd but it can't hurt things, so I left it in. This works for me. It may be that whatever version of VS 2019 you are using isn't finding the manifest tool in the clang-win.jam code, so you nee3d to provide it similar to what I have done. _______________________________________________ Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build