Open PearCoding opened 1 year ago
The actual error message is:
CMake Error at build/_deps/rv-src/plugin/CMakeLists.txt:12 (target_link_libraries):
Utility target "RVPLUG" must not be used as the target of a
target_link_libraries call.
Here is the full cmake output (until I stop it with CTRL-C):
-- AnyDSL contrib directory: C:/Development/Projects/deps/anydsl/contrib
-- AnyDSL remote url: https://github.com/AnyDSL
-- AnyDSL default branch: master
-- Found Half: C:/Development/Projects/deps/anydsl/contrib/half/include (Required is at least version "2.1.0")
-- Half_DIR: C:/Development/Projects/deps/anydsl/contrib/half/include
CMake Warning at cmake/llvm-package.cmake:9 (message):
We experienced issues on some platforms using latest versions of CMake to
build LLVM.
Call Stack (most recent call first):
CMakeLists.txt:22 (include)
-- Make RV available ...
CMake Warning (dev) at C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.25/Modules/FetchContent.cmake:1279 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set. The policy's OLD behavior will be used. When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes. The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want. Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
cmake/llvm-package.cmake:26 (FetchContent_Declare)
CMakeLists.txt:22 (include)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Make LLVM available ...
-- bolt project is disabled
-- clang project is enabled
-- clang-tools-extra project is disabled
-- compiler-rt project is disabled
-- cross-project-tests project is disabled
-- libc project is disabled
-- libclc project is disabled
-- lld project is enabled
-- lldb project is disabled
-- mlir project is disabled
-- openmp project is disabled
-- polly project is disabled
-- pstl project is disabled
-- flang project is disabled
-- rv project is enabled
-- Found Python3: C:/Users/Haddington/AppData/Local/Microsoft/WindowsApps/python3.10.exe (found suitable version "3.10.11", minimum required is "3.0") found components: Interpreter
-- Could NOT find LibXml2 (missing: LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR)
-- Could NOT find Backtrace (missing: Backtrace_LIBRARY Backtrace_INCLUDE_DIR)
-- Native target architecture is X86
-- Threads enabled.
-- Doxygen disabled.
-- Ninja version: 1.11.0
-- Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH)
-- OCaml bindings disabled.
-- LLVM host triple: x86_64-pc-windows-msvc
-- LLVM default target triple: x86_64-pc-windows-msvc
-- LLVMHello ignored -- Loadable modules not supported on this platform.
-- Targeting AMDGPU
-- Targeting NVPTX
-- Targeting X86
-- Clang version: 16.0.6
-- LLD version: 16.0.6
-- BugpointPasses ignored -- Loadable modules not supported on this platform.
-- rv: Building RV as an LLVM tool
-- -- rv: Building with SLEEF
-- -- rv: Using pre-built SLEEF BC files.
-- -- rv: SLEEF with x86 support.
-- RVPLUG ignored -- Loadable modules not supported on this platform.
-- Registering RVPLUG as a pass plugin (static build: OFF)
CMake Error at build/_deps/rv-src/plugin/CMakeLists.txt:12 (target_link_libraries):
Utility target "RVPLUG" must not be used as the target of a
target_link_libraries call.
-- git version: v0.0.0 normalized to 0.0.0
-- Version: 1.6.0
-- Performing Test HAVE_GNU_POSIX_REGEX -- failed to compile
-- Performing Test HAVE_POSIX_REGEX -- failed to compile
CMake Warning at build/_deps/llvm-src/third-party/benchmark/CMakeLists.txt:308 (message):
Using std::regex with exceptions disabled is not fully supported
-- Performing Test HAVE_STEADY_CLOCK -- success
-- Could NOT find LibXml2 (missing: LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR)
-- LLVM_DIR: C:/Development/Projects/deps/anydsl/build/_deps/llvm-build/lib/cmake/llvm
-- LLVM_VERSION: 16.0.6
-- LLVM_ENABLE_RTTI: ON
-- Found Half: C:/Development/Projects/deps/anydsl/contrib/half/include (Required is at least version "1.11.0")
-- Building with Half library from C:/Development/Projects/deps/anydsl/contrib/half/include.
-- Could NOT find LibXml2 (missing: LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR)
-- Found LLVM 16.0.6
-- Using LLVMConfig.cmake in: C:/Development/Projects/deps/anydsl/build/_deps/llvm-build/lib/cmake/llvm
-- Building with RV from LLVM installation.
-- Using Debug flags: /Zi /Ob0 /Od /RTC1
-- Using Release flags: /O2 /Ob2 /DNDEBUG
-- Build type: Release
-- AnyDSL_thorin_DIR: C:/Development/Projects/deps/anydsl/build/share/anydsl/cmake
-- Could NOT find LibXml2 (missing: LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR)
-- Using Debug flags: /Zi /Ob0 /Od /RTC1
-- Using Release flags: /O2 /Ob2 /DNDEBUG
-- Build type: Release
-- AnyDSL_impala_DIR: C:/Development/Projects/deps/anydsl/build/share/anydsl/cmake
-- Could NOT find LibXml2 (missing: LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR)
-- AnyDSL_artic_DIR: C:/Development/Projects/deps/anydsl/build/share/anydsl/cmake
-- Could NOT find XHLS (missing: Xilinx_HLS Xilinx_VPP Xilinx_LIBRARIES Xilinx_INCLUDE_DIRS Xilinx_PLATFORM_INFO Xilinx_KERNEL_INFO Xilinx_EMU_CONFIG)
-- Could NOT find hsa-runtime64 (missing: hsa-runtime64_DIR)
-- Could NOT find LibXml2 (missing: LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR)
-- Could NOT find LibXml2 (missing: LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR)
Keep in mind that this is the output of AnyDSL (cmake-based-setup) and not LLVM or RV standalone.
Compiling AnyDSL on Windows with LLVM 16 and RV 16.x branch will fail to configure as
target_link_libraries
can not be applied to the utility targetRVPLUG
.https://github.com/cdl-saarland/rv/blob/bb21dd7b1e38c22495e5baa9268836c88e8b00ab/plugin/CMakeLists.txt#L12
Commenting out the line will allow to proceed as usual. The framework even works without it. However, this was only tested with Ignis. (Artic and JIT)