(caveat: I am not an expert on msft tool trivia - just been around the
block a few times)
By "vcvars", I was referring to the method you used to get a command
prompt
that had the environment setup to use the VC compiler and linker tools. You
may have selected something like a developer command prompt from the start
menu, or you may have run a variant of the vcvarsall.bat file that comes
with visual studio.
It looks like this page provides some up to date docs (I just have it
buried in some startup script and have long since forgotten):
https://docs.microsoft.com/en-us/cpp/build/how-to-enable-a-64-bit-visual-cpp-toolset-on-the-command-line?view=msvc-160
If you change any of these options, clear your CmakeCache.txt file to make
sure everything is reprobed.
On Sat, Mar 6, 2021, 2:19 PM Paul C. Anagnostopoulos <paul at
windfall.com>
wrote:
> I'm not sure what a "vcvar" is. Here is the command I used to
run Cmake:
>
> cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Debug -DLLVM_BUILD_DOCS=ON
> -DLLVM_ENABLE_PROJECTS=Clang;lld;llvm;mlir -DLLVM_ENABLE_SPHINX=ON
> -DSPHINX_WARNINGS_AS_ERRORS=OFF -S c:\llvm\llvm-project\llvm
>
> Then I remembered I wanted the 64-bit linker and edited CMakeCache.txt.
> Why is it using the 32-bit linker?
>
> //Path to a program.
> CMAKE_LINKER:FILEPATH=C:/Program Files (x86)/Microsoft Visual
> Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/link.exe
>
> Ah, but I see these. Do they matter?
> //Flags used by the linker during all build types.
> CMAKE_EXE_LINKER_FLAGS:STRING=/machine:X86
>
> ...
>
> //Flags used by the linker during the creation of modules during
> // all build types.
> CMAKE_MODULE_LINKER_FLAGS:STRING=/machine:X86
>
> On 3/6/2021 3:56 PM, Stella Laurenzo wrote:
>
> Could you post the exact commands you are using for initializing your
> vcvars and configuring cmake? I haven't built LLVM on Windows in recent
> weeks but do have some experience with it.
>
> My suspicion is that you have initialized the vcvars in some way so that
> it is doing 32bit builds/using 32bit compiler tools. I exclusively build
> x64 configurations on Windows, and I suspect the error is exactly what it
> says: the 32bit linker cannot access enough heap to finish. A quick search
> online suggests that the automatic fail over to a 64bit linker may be a bit
> unreliable.
>
> On Sat, Mar 6, 2021, 12:47 PM Paul C. Anagnostopoulos via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> I uninstalled Cmake 2.20 and installed 2.19. Then I could make some
>> progress. My build is now hanging after a series of the following
messages.
>> I mean really hanging; I have to blow away the process. Does anyone
know
>> what a PDB error is?
>> [18/356] Linking CXX executable bin\llc.exe
>> FAILED: bin/llc.exe
>> cmd.exe /C "cd . && "C:\Program
Files\CMake\bin\cmake.exe" -E vs_link_exe
>> --intdir=tools\llc\CMakeFiles\llc.dir
>> --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100183~1.0\x86\rc.exe
>> --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100183~1.0\x86\mt.exe --manifests --
>>
C:\PROGRA~2\MICROS~2\2019\COMMUN~1\VC\Tools\MSVC\1428~1.293\bin\Hostx86\x86\link.exe
>> /nologo @CMakeFiles\llc.rsp /out:bin\llc.exe /implib:lib\llc.lib
>> /pdb:bin\llc.pdb /version:0.0 /machine:X86 /STACK:10000000 /debug
>> /INCREMENTAL /subsystem:console && cd ."
>> LINK Pass 1: command
>>
"C:\PROGRA~2\MICROS~2\2019\COMMUN~1\VC\Tools\MSVC\1428~1.293\bin\Hostx86\x86\link.exe
>> /nologo @CMakeFiles\llc.rsp /out:bin\llc.exe /implib:lib\llc.lib
>> /pdb:bin\llc.pdb /version:0.0 /machine:X86 /STACK:10000000 /debug
>> /INCREMENTAL /subsystem:console /MANIFEST
>> /MANIFESTFILE:tools\llc\CMakeFiles\llc.dir/intermediate.manifest
>> tools\llc\CMakeFiles\llc.dir/manifest.res" failed (exit code 1318)
with the
>> following output:
>> LINK : the 32-bit linker
>>
(C:\PROGRA~2\MICROS~2\2019\COMMUN~1\VC\Tools\MSVC\1428~1.293\bin\Hostx86\x86\link.exe)
>> ran out of heap space and is going to restart linking with a 64-bit
linker
>> LINK : fatal error LNK1318: Unexpected PDB error; RPC (23)
'(0x000006BA)'
>> [19/356] Linking CXX executable bin\bugpoint.exe
>> FAILED: bin/bugpoint.exe
>> cmd.exe /C "cd . && "C:\Program
Files\CMake\bin\cmake.exe" -E vs_link_exe
>> --intdir=tools\bugpoint\CMakeFiles\bugpoint.dir
>> --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100183~1.0\x86\rc.exe
>> --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100183~1.0\x86\mt.exe --manifests --
>>
C:\PROGRA~2\MICROS~2\2019\COMMUN~1\VC\Tools\MSVC\1428~1.293\bin\Hostx86\x86\link.exe
>> /nologo @CMakeFiles\bugpoint.rsp /out:bin\bugpoint.exe
>> /implib:lib\bugpoint.lib /pdb:bin\bugpoint.pdb /version:0.0
/machine:X86
>> /STACK:10000000 /debug /INCREMENTAL /subsystem:console && cd
."
>> LINK Pass 1: command
>>
"C:\PROGRA~2\MICROS~2\2019\COMMUN~1\VC\Tools\MSVC\1428~1.293\bin\Hostx86\x86\link.exe
>> /nologo @CMakeFiles\bugpoint.rsp /out:bin\bugpoint.exe
>> /implib:lib\bugpoint.lib /pdb:bin\bugpoint.pdb /version:0.0
/machine:X86
>> /STACK:10000000 /debug /INCREMENTAL /subsystem:console /MANIFEST
>>
/MANIFESTFILE:tools\bugpoint\CMakeFiles\bugpoint.dir/intermediate.manifest
>> tools\bugpoint\CMakeFiles\bugpoint.dir/manifest.res" failed (exit
code
>> 1318) with the following output:
>> LINK : bin\bugpoint.exe not found or not built by the last incremental
>> link; performing full link
>> LINK : the 32-bit linker
>>
(C:\PROGRA~2\MICROS~2\2019\COMMUN~1\VC\Tools\MSVC\1428~1.293\bin\Hostx86\x86\link.exe)
>> ran out of heap space and is going to restart linking with a 64-bit
linker
>> LINK : fatal error LNK1318: Unexpected PDB error; RPC (23)
'(0x000006BA)'
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>
> ——————————————————————
> *Windfall* Paul C. Anagnostopoulos
> —————————————————
> *Software* 978 369-0839
> ——————————————————————
> My life has been filled with calamities,
> some of which actually happened.
> —Mark Twain
>
> Guga 'mzimba, sala 'nhliziyo
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20210306/3987680c/attachment.html>