vaaaaanquish / lightgbm-rs

LightGBM Rust binding

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unable to build on Windows

CGMossa opened this issue · comments

Unable to build this on Windows.

[env]
LIBCLANG_PATH = "C:/Users/minin/scoop/apps/llvm/current/bin"

[build]
target-dir = "target"

And the rest of diagnostic:

PS>rustup show
Default host: x86_64-pc-windows-msvc
rustup home:  C:\Users\minin\scoop\persist\rustup\.rustup

installed toolchains
--------------------

stable-x86_64-pc-windows-gnu
stable-x86_64-pc-windows-msvc (default)
nightly-x86_64-pc-windows-gnu
nightly-x86_64-pc-windows-msvc
1.63.0-x86_64-pc-windows-msvc

installed targets for active toolchain
--------------------------------------

x86_64-pc-windows-gnu
x86_64-pc-windows-msvc

active toolchain
----------------

stable-x86_64-pc-windows-msvc (default)
rustc 1.73.0 (cc66ad468 2023-10-03)

C:\Users\minin>rustc --version
rustc 1.73.0 (cc66ad468 2023-10-03)


Windows 11, Version 23H2

```sh
debug/build/lightgbm-sys-91dabd8648f00896/out/include/LightGBM/utils/yamc/yamc_rwlock_sched.hpp
    -- Installing: C:/Users/minin/Documents/GitHub/lightgbm-rust/target/debug/build/lightgbm-sys-91dabd8648f00896/out/include/LightGBM/utils/yamc/yamc_shared_lock.hpp 
  cargo:root=C:\Users\minin\Documents\GitHub\lightgbm-rust\target\debug\build\lightgbm-sys-91dabd8648f00896\out

  --- stderr
  CMake Deprecation Warning at CMakeLists.txt:26 (cmake_minimum_required):
    Compatibility with CMake < 3.5 will be removed from a future version of
    CMake.

    Update the VERSION argument <min> value or use a ...<max> suffix to tell
    CMake that the project does not need compatibility with older versions.


  CMake Warning:
    Manually-specified variables were not used by the project:

      CMAKE_ASM_FLAGS
      CMAKE_ASM_FLAGS_RELEASE
      CMAKE_BUILD_TYPE


  thread 'main' panicked at C:\Users\minin\scoop\persist\rustup\.cargo\registry\src\index.crates.io-6f17d22bba15001f\proc-macro2-1.0.69\src\fallback.rs:817:9:
  "__vcrt_va_list_is_reference_(unnamed_enum_at_C_\\Program_Files_(x86)\\Microsoft_Visual_Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14_35_32215\\include\\vadefs_h_176_13)" is not a valid Ident
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

The fix is probably in one of the unmerged PRs, for example updates so the library builds with Clang 16. We maintain a fork at https://github.com/DeepSignSecurity/lightgbm-rs with many fixes merged, you could check if that one builds for you.