[PATCH] D79219: [CMake] Simplify CMake handling for zlib

Petr Hosek via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 7 01:14:38 PDT 2020


phosek added a comment.

In D79219#2201994 <https://reviews.llvm.org/D79219#2201994>, @kuhnel wrote:

> This patch broke the Windows compilation on buildbot <http://lab.llvm.org:8011/builders/mlir-windows/builds/5945> and pre-merge testing <https://buildkite.com/llvm-project/llvm-master-build/builds/780>. So I'll revert it to get pre-merge testing back online. Otherwise this will cause false-positives for pre-merge testing.
>
> The error message:
>
>   FAILED: bin/llvm-profdata.exe 
>   cmd.exe /C "cd . && "C:\Program Files\CMake\bin\cmake.exe" -E vs_link_exe --intdir=tools\llvm-profdata\CMakeFiles\llvm-profdata.dir --rc="C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\rc.exe" --mt="C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\mt.exe" --manifests  -- C:\BuildTools\VC\Tools\MSVC\14.26.28801\bin\Hostx64\x64\link.exe /nologo tools\llvm-profdata\CMakeFiles\llvm-profdata.dir\llvm-profdata.cpp.obj tools\llvm-profdata\CMakeFiles\llvm-profdata.dir\__\__\resources\windows_version_resource.rc.res  /out:bin\llvm-profdata.exe /implib:lib\llvm-profdata.lib /pdb:bin\llvm-profdata.pdb /version:0.0  /machine:x64 /STACK:10000000 /INCREMENTAL:NO /subsystem:console  lib\LLVMCore.lib lib\LLVMProfileData.lib lib\LLVMSupport.lib lib\LLVMCore.lib lib\LLVMBinaryFormat.lib lib\LLVMRemarks.lib lib\LLVMBitstreamReader.lib lib\LLVMSupport.lib psapi.lib shell32.lib ole32.lib uuid.lib advapi32.lib C:\GnuWin\lib\zlib.lib delayimp.lib -delayload:shell32.dll -delayload:ole32.dll lib\LLVMDemangle.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ."
>   LINK: command "C:\BuildTools\VC\Tools\MSVC\14.26.28801\bin\Hostx64\x64\link.exe /nologo tools\llvm-profdata\CMakeFiles\llvm-profdata.dir\llvm-profdata.cpp.obj tools\llvm-profdata\CMakeFiles\llvm-profdata.dir\__\__\resources\windows_version_resource.rc.res /out:bin\llvm-profdata.exe /implib:lib\llvm-profdata.lib /pdb:bin\llvm-profdata.pdb /version:0.0 /machine:x64 /STACK:10000000 /INCREMENTAL:NO /subsystem:console lib\LLVMCore.lib lib\LLVMProfileData.lib lib\LLVMSupport.lib lib\LLVMCore.lib lib\LLVMBinaryFormat.lib lib\LLVMRemarks.lib lib\LLVMBitstreamReader.lib lib\LLVMSupport.lib psapi.lib shell32.lib ole32.lib uuid.lib advapi32.lib C:\GnuWin\lib\zlib.lib delayimp.lib -delayload:shell32.dll -delayload:ole32.dll lib\LLVMDemangle.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:bin\llvm-profdata.exe.manifest" failed (exit code 1120) with the following output:
>   LLVMSupport.lib(Compression.cpp.obj) : error LNK2019: unresolved external symbol compress2 referenced in function "class llvm::Error __cdecl llvm::zlib::compress(class llvm::StringRef,class llvm::SmallVectorImpl<char> &,int)" (?compress at zlib@llvm@@YA?AVError at 2@VStringRef at 2@AEAV?$SmallVectorImpl at D@2 at H@Z)
>   LLVMSupport.lib(Compression.cpp.obj) : error LNK2019: unresolved external symbol compressBound referenced in function "class llvm::Error __cdecl llvm::zlib::compress(class llvm::StringRef,class llvm::SmallVectorImpl<char> &,int)" (?compress at zlib@llvm@@YA?AVError at 2@VStringRef at 2@AEAV?$SmallVectorImpl at D@2 at H@Z)
>   LLVMSupport.lib(Compression.cpp.obj) : error LNK2019: unresolved external symbol uncompress referenced in function "class llvm::Error __cdecl llvm::zlib::uncompress(class llvm::StringRef,class llvm::SmallVectorImpl<char> &,unsigned __int64)" (?uncompress at zlib@llvm@@YA?AVError at 2@VStringRef at 2@AEAV?$SmallVectorImpl at D@2 at _K@Z)
>     Hint on symbols that are defined and could potentially match:
>       "class llvm::Error __cdecl llvm::zlib::uncompress(class llvm::StringRef,class llvm::SmallVectorImpl<char> &,unsigned __int64)" (?uncompress at zlib@llvm@@YA?AVError at 2@VStringRef at 2@AEAV?$SmallVectorImpl at D@2 at _K@Z)
>       "class llvm::Error __cdecl llvm::zlib::uncompress(class llvm::StringRef,char *,unsigned __int64 &)" (?uncompress at zlib@llvm@@YA?AVError at 2@VStringRef at 2@PEADAEA_K at Z)
>   LLVMSupport.lib(Compression.cpp.obj) : error LNK2019: unresolved external symbol crc32 referenced in function "unsigned int __cdecl llvm::zlib::crc32(class llvm::StringRef)" (?crc32 at zlib@llvm@@YAIVStringRef at 2@@Z)
>     Hint on symbols that are defined and could potentially match:
>       "unsigned int __cdecl llvm::zlib::crc32(class llvm::StringRef)" (?crc32 at zlib@llvm@@YAIVStringRef at 2@@Z)
>   C:\GnuWin\lib\zlib.lib : warning LNK4272: library machine type 'x86' conflicts with target machine type 'x64'
>   bin\llvm-profdata.exe : fatal error LNK1120: 4 unresolved externals

Looking at the error, it seems like you have a 32-bit version of zlib installed and in your search path on a 64-bit version of Windows. I'm not quite sure how to handle that in CMake.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D79219/new/

https://reviews.llvm.org/D79219



More information about the cfe-commits mailing list