tomhrr / dale

Lisp-flavoured C
BSD 3-Clause "New" or "Revised" License
1.02k stars 48 forks source link

powershell cmake error `Unknown arguments specified` `"LESS" "32"` #226

Closed rgkirch closed 3 months ago

rgkirch commented 3 months ago
**********************************************************************
** Visual Studio 2019 Developer PowerShell v16.11.31
** Copyright (c) 2021 Microsoft Corporation
**********************************************************************
PS C:\Users\me\source\repos> cd C:\Users\me\notMyCode\tomhrr\dale.build.developer-powershell-for-vs
PS C:\Users\me\notMyCode\tomhrr\dale.build.developer-powershell-for-vs> ls
PS C:\Users\me\notMyCode\tomhrr\dale.build.developer-powershell-for-vs> cmake ../dale
-- Building for: Visual Studio 16 2019
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.22631.
-- The C compiler identification is MSVC 19.29.30152.0
-- The CXX compiler identification is MSVC 19.29.30152.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:9 (message):
  llvm-config executable not found.  Re-run cmake with
  -DLLVM_CONFIG={path-to-llvm-config}.

-- Configuring incomplete, errors occurred!
PS C:\Users\me\notMyCode\tomhrr\dale.build.developer-powershell-for-vs> cmake -DLLVM_CONFIG="C:\Users\me\Downloads\llvm\llvm-project-14.0.6.src\build\Release\bin\llvm-config.exe" ..\dale\
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.22631.
fatal: not a git repository (or any of the parent directories): .git
-- LLVM version: 14.0.6
-- LLVM version major:
-- LLVM version minor:
-- System name: Windows
-- System processor: AMD64
-- System version: 10.0.22631
CMake Error at CMakeLists.txt:90 (if):
  if given arguments:

    "LESS" "32"

  Unknown arguments specified

-- Configuring incomplete, errors occurred!
PS C:\Users\me\notMyCode\tomhrr\dale.build.developer-powershell-for-vs> $env:Path = 'C:\git-sdk-64\usr\bin\;' + $env:Path
PS C:\Users\me\notMyCode\tomhrr\dale.build.developer-powershell-for-vs> cmake -DLLVM_CONFIG="C:\Users\me\Downloads\llvm\llvm-project-14.0.6.src\build\Release\bin\llvm-config.exe" ..\dale\
CMake Error: Error: generator : Unix Makefiles
Does not match the generator used previously: Visual Studio 16 2019
Either remove the CMakeCache.txt file and CMakeFiles directory or choose a different binary directory.
PS C:\Users\me\notMyCode\tomhrr\dale.build.developer-powershell-for-vs> rm -r ./*
PS C:\Users\me\notMyCode\tomhrr\dale.build.developer-powershell-for-vs> cmake -DLLVM_CONFIG="C:\Users\me\Downloads\llvm\llvm-project-14.0.6.src\build\Release\bin\llvm-config.exe" ..\dale\
-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- LLVM version: 14.0.6
-- LLVM version major: 14
-- LLVM version minor: 0
-- System name: MSYS
-- System processor: x86_64
-- System version: 3.4.10-87d57229.x86_64
-- Found PkgConfig: /usr/bin/pkg-config.exe (found version "1.7.4")
-- Checking for one of the modules 'libffi'
-- Build type: RELEASE
-- Configuring done (3.0s)
-- Generating done (0.9s)
-- Build files have been written to: /c/Users/me/notMyCode/tomhrr/dale.build.developer-powershell-for-vs
PS C:\Users\me\notMyCode\tomhrr\dale.build.developer-powershell-for-vs> make
[  0%] Building CXX object CMakeFiles/dale.dir/src/dale/Arch/Arch.cpp.o
[  1%] Building CXX object CMakeFiles/dale.dir/src/dale/Introspection/Introspection.cpp.o
In file included from C:\Users\me\Downloads\llvm\llvm-project-14.0.6.src\llvm\include/llvm/Transforms/IPO/Attributor.h:109,
                 from C:\Users\me\Downloads\llvm\llvm-project-14.0.6.src\llvm\include/llvm/LinkAllPasses.h:44,
                 from /c/Users/me/notMyCode/tomhrr/dale/src/dale/Introspection/../MacroProcessor/../Context/../Namespace/../NativeTypes/../llvm_LinkAll.h:9,
                 from /c/Users/me/notMyCode/tomhrr/dale/src/dale/Introspection/../MacroProcessor/../Context/../Namespace/../NativeTypes/NativeTypes.h:6,
                 from /c/Users/me/notMyCode/tomhrr/dale/src/dale/Introspection/../MacroProcessor/../Context/../Namespace/Namespace.h:13,
                 from /c/Users/me/notMyCode/tomhrr/dale/src/dale/Introspection/../MacroProcessor/../Context/Context.h:12,
                 from /c/Users/me/notMyCode/tomhrr/dale/src/dale/Introspection/../MacroProcessor/MacroProcessor.h:4,
                 from /c/Users/me/notMyCode/tomhrr/dale/src/dale/Introspection/Introspection.h:5,
                 from /c/Users/me/notMyCode/tomhrr/dale/src/dale/Introspection/Introspection.cpp:1:
C:\Users\me\Downloads\llvm\llvm-project-14.0.6.src\llvm\include/llvm/Analysis/CFG.h:129:1: warning: multi-line comment [-Wcomment]
  129 | ///  /   \
      | ^
In file included from C:\Users\me\Downloads\llvm\llvm-project-14.0.6.src\llvm\include/llvm/Support/Program.h:22,
                 from C:\Users\me\Downloads\llvm\llvm-project-14.0.6.src\llvm\include/llvm/Support/Process.h:32,
                 from C:\Users\me\Downloads\llvm\llvm-project-14.0.6.src\llvm\include/llvm/LinkAllIR.h:29,
                 from /c/Users/me/notMyCode/tomhrr/dale/src/dale/Introspection/../MacroProcessor/../Context/../Namespace/../NativeTypes/../llvm_LinkAll.h:5:
C:\Users\me\Downloads\llvm\llvm-project-14.0.6.src\llvm\include/llvm/Support/FileSystem.h: In function ‘std::error_code llvm::sys::fs::file_size(const llvm::Twine&, uint64_t&)’:
C:\Users\me\Downloads\llvm\llvm-project-14.0.6.src\llvm\include/llvm/Support/FileSystem.h:696:19: error: ‘class llvm::sys::fs::file_status’ has no member named ‘getSize’
  696 |   Result = Status.getSize();
      |                   ^~~~~~~
C:\Users\me\Downloads\llvm\llvm-project-14.0.6.src\llvm\include/llvm/Support/Process.h: At global scope:
C:\Users\me\Downloads\llvm\llvm-project-14.0.6.src\llvm\include/llvm/Support/Process.h:112:63: error: ‘EnvPathSeparator’ was not declared in this scope; did you mean ‘ListSeparator’?
  112 |                                              char Separator = EnvPathSeparator);
      |                                                               ^~~~~~~~~~~~~~~~
      |                                                               ListSeparator
C:\Users\me\Downloads\llvm\llvm-project-14.0.6.src\llvm\include/llvm/Support/Process.h:116:63: error: ‘EnvPathSeparator’ was not declared in this scope; did you mean ‘ListSeparator’?
  116 |                                              char Separator = EnvPathSeparator);
      |                                                               ^~~~~~~~~~~~~~~~
      |                                                               ListSeparator
In file included from C:\Users\me\Downloads\llvm\llvm-project-14.0.6.src\llvm\include/llvm/Transforms/IPO/FunctionAttrs.h:20,
                 from C:\Users\me\Downloads\llvm\llvm-project-14.0.6.src\llvm\include/llvm/LinkAllPasses.h:45:
C:\Users\me\Downloads\llvm\llvm-project-14.0.6.src\llvm\include/llvm/IR/ModuleSummaryIndex.h: In constructor ‘llvm::ModuleSummaryIndex::ModuleSummaryIndex(bool, bool)’:
C:\Users\me\Downloads\llvm\llvm-project-14.0.6.src\llvm\include/llvm/IR/ModuleSummaryIndex.h:1175:73: warning: member ‘llvm::ModuleSummaryIndex::Alloc’ is used uninitialized [-Wuninitialized]
 1175 |       : HaveGVs(HaveGVs), EnableSplitLTOUnit(EnableSplitLTOUnit), Saver(Alloc),
      |                                                                         ^~~~~
make[2]: *** [CMakeFiles/dale.dir/build.make:90: CMakeFiles/dale.dir/src/dale/Introspection/Introspection.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:175: CMakeFiles/dale.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
PS C:\Users\me\notMyCode\tomhrr\dale.build.developer-powershell-for-vs>

It's concerning that after adding C:\git-sdk-64\usr\bin\ to the path (because it's missing sed) it then says CMake Error: Error: generator : Unix Makefiles. Notice

-- LLVM version: 14.0.6
-- LLVM version major:

from

message (STATUS "LLVM version: ${D_LLVM_VERSION}")
message (STATUS "LLVM version major: ${D_LLVM_VERSION_MAJOR}")

https://github.com/tomhrr/dale/blob/46e6dfca5137266b388fc1bfea5d5f6f27889dce/CMakeLists.txt#L83-L84 where

execute_process (COMMAND echo ${D_LLVM_VERSION}
                 COMMAND sed -e "s/[^0-9].*//"
                 OUTPUT_VARIABLE D_LLVM_VERSION_MAJOR
                 OUTPUT_STRIP_TRAILING_WHITESPACE)

https://github.com/tomhrr/dale/blob/46e6dfca5137266b388fc1bfea5d5f6f27889dce/CMakeLists.txt#L30-L33 it uses sed to populate D_LLVM_VERSION_MAJOR

rgkirch commented 3 months ago

Try this. https://github.com/tomhrr/dale/pull/227

rgkirch commented 3 months ago

PR was merge. Problem is fixed.