PistonDevelopers / conrod

An easy-to-use, 2D GUI library written entirely in Rust.
Other
3.35k stars 296 forks source link

Cannot build projet on W10 #1328

Closed JulienPerrin closed 4 years ago

JulienPerrin commented 4 years ago

Hi, I tried to compile the sources to test the projet on my computer and it did not work. I just cloned the project and tried to run "cargo build".

Here is the console output :

PS E:\Documents\programmation\conrod> cargo build
    Updating crates.io index
   Compiling cfg-if v0.1.10
   Compiling libc v0.2.66
   Compiling semver-parser v0.7.0
   Compiling lazy_static v1.4.0
   Compiling log v0.4.8
   Compiling winapi v0.3.8
   Compiling cc v1.0.50
   Compiling bitflags v1.2.1
   Compiling autocfg v1.0.0
   Compiling scopeguard v1.0.0
   Compiling maybe-uninit v2.0.0
   Compiling serde v1.0.104
   Compiling autocfg v0.1.7
   Compiling rustc-demangle v0.1.16
   Compiling ryu v1.0.2
   Compiling itoa v0.4.5
   Compiling khronos_api v3.1.0
   Compiling proc-macro2 v1.0.8
   Compiling byteorder v1.3.2
   Compiling unicode-xid v0.2.0
   Compiling atom v0.3.5
   Compiling syn v1.0.14
   Compiling xml-rs v0.8.0
   Compiling slab v0.4.2
   Compiling colorful v0.2.1
   Compiling piston-float v0.3.0
   Compiling arrayvec v0.5.1
   Compiling linked-hash-map v0.5.2
   Compiling fnv v1.0.6
   Compiling fixedbitset v0.1.9
   Compiling either v1.5.3
   Compiling ordermap v0.3.5
   Compiling instant v0.1.2
   Compiling getrandom v0.1.14
   Compiling ppv-lite86 v0.2.6
   Compiling vulkano v0.16.0
   Compiling piston-texture v0.6.0
   Compiling read_color v1.0.0
   Compiling interpolation v0.2.0
   Compiling half v1.4.0
   Compiling vk-sys v0.5.0
   Compiling conrod_winit v0.68.0 (E:\Documents\programmation\conrod\backends\conrod_winit)
   Compiling crossbeam-utils v0.6.6
   Compiling lock_api v0.3.3
   Compiling semver v0.9.0
   Compiling cmake v0.1.42
   Compiling num-traits v0.2.11
   Compiling num-integer v0.1.42
   Compiling num-bigint v0.2.5
   Compiling num-complex v0.2.4
   Compiling num-iter v0.1.40
   Compiling num-rational v0.2.3
   Compiling hibitset v0.6.2
   Compiling crossbeam-utils v0.7.0
   Compiling crossbeam-epoch v0.8.0
   Compiling piston-viewport v0.5.0
   Compiling vecmath v0.3.1
   Compiling petgraph v0.4.13
   Compiling c2-chacha v0.2.3
   Compiling rustc_version v0.2.3
   Compiling crossbeam-channel v0.3.9
   Compiling backtrace-sys v0.1.32
   Compiling libloading v0.5.2
   Compiling shaderc-sys v0.6.1
   Compiling draw_state v0.8.0
   Compiling smallvec v0.6.13
   Compiling raw-window-handle v0.3.3
   Compiling num_cpus v1.12.0
   Compiling shared_library v0.1.9
   Compiling parking_lot_core v0.6.2
   Compiling parking_lot v0.9.0
   Compiling memoffset v0.5.3
   Compiling gl_generator v0.11.0
   Compiling gl_generator v0.13.1
   Compiling quote v1.0.2
   Compiling rand_core v0.5.1
   Compiling daggy v0.5.0
error: failed to run custom build command for `shaderc-sys v0.6.1`

Caused by:
  process didn't exit successfully: `E:\Documents\programmation\conrod\target\debug\build\shaderc-sys-6835a68c603b9aa9\build-script-build` (exit code: 101)
--- stdout
cargo:warning=System installed library not found.  Falling back to build from source

--- stderr
thread 'main' panicked at '

couldn't find required command: "cmake"

', C:\Users\username\.cargo\registry\src\github.com-1ecc6299db9ec823\shaderc-sys-0.6.1\build\cmd_finder.rs:50:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

warning: build failed, waiting for other jobs to finish...
error: build failed
eaglekindoms commented 4 years ago

I have meet it when I wanted to compile vulkan. you should download vulkan's NDK if you want to build all of conrod.

JulienPerrin commented 4 years ago

I went to this page https://vulkan.lunarg.com/sdk/home#windows and downloaded "Vulkan runtime" and "Vulkan SDK" for Windows.

Run the installation of both but I still get the same error.

Did I miss something ?

eaglekindoms commented 4 years ago

Emm... maybe you can see it: https://github.com/PistonDevelopers/conrod/issues/1258

JulienPerrin commented 4 years ago

Hi, I deleted the line :
"backends/conrod_vulkano", from the cargo.toml file. The project compile now.

I think this is enough for my needs. You probably should update the doc, to explain how to install the dependencies for Vulkan for those who want to compile it. People who want to use your library will probably try to run the example project as I did to see how it works, and be blocked on this issue.

ArtHome12 commented 4 years ago

cmake.exe missing from system variable PATH.

asingingbird commented 4 years ago

Get VulkanSDK + cmake + ninja installed, works for me.

muzudho commented 4 years ago

I can build it the same way, but not run it. VulkanSDK + cmake + ninja installed. Windows 10.

# "backends/conrod_vulkano",
PS C:\Users\むずでょ\source\repos\conrod> cargo run  
error: a bin target must be available for `cargo run`

If I remove the comment out it doesn't compile. Error message:

error: failed to run custom build command for `shaderc-sys v0.6.2`

Caused by:
  process didn't exit successfully: `C:\Users\むずでょ\source\repos\conrod\target\debug\build\shaderc-sys-4e702b4563a5e51c\build-script-build` (exit code: 101)
--- stderr
CMake Warning (dev) at CMakeLists.txt:8 (project):
  Policy CMP0048 is not set: project() command manages VERSION variables.
  Run "cmake --help-policy CMP0048" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The following variable(s) would be set to empty:

    CMAKE_PROJECT_VERSION
    CMAKE_PROJECT_VERSION_MAJOR
    CMAKE_PROJECT_VERSION_MINOR
    CMAKE_PROJECT_VERSION_PATCH
This warning is for project developers.  Use -Wno-dev to suppress it.

thread 'main' panicked at '
command did not execute successfully, got: exit code: 1

build script failed, must exit now', C:\Users\むずでょ\.cargo\registry\src\github.com-1ecc6299db9ec823\cmake-0.1.42\src\lib.rs:861:5
stack backtrace:
   0: backtrace::backtrace::trace_unsynchronized
             at C:\Users\VssAdministrator\.cargo\registry\src\github.com-1ecc6299db9ec823\backtrace-0.3.40\src\backtrace\mod.rs:66
   1: std::sys_common::backtrace::_print_fmt
             at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447\/src\libstd\sys_common\backtrace.rs:77
   2: std::sys_common::backtrace::_print::{{impl}}::fmt
             at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447\/src\libstd\sys_common\backtrace.rs:59
   3: core::fmt::write
             at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447\/src\libcore\fmt\mod.rs:1052
   4: std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
             at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447\/src\libstd\io\mod.rs:1426
   5: std::sys_common::backtrace::_print
             at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447\/src\libstd\sys_common\backtrace.rs:62
   6: std::sys_common::backtrace::print
             at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447\/src\libstd\sys_common\backtrace.rs:49
   7: std::panicking::default_hook::{{closure}}
             at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447\/src\libstd\panicking.rs:204
   8: std::panicking::default_hook
             at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447\/src\libstd\panicking.rs:224
   9: std::panicking::rust_panic_with_hook
             at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447\/src\libstd\panicking.rs:472
  10: std::panicking::begin_panic_handler
             at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447\/src\libstd\panicking.rs:380
  11: std::panicking::begin_panic_fmt
             at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447\/src\libstd\panicking.rs:334
  12: cmake::fail
             at C:\Users\むずでょ\.cargo\registry\src\github.com-1ecc6299db9ec823\cmake-0.1.42\src\lib.rs:861
  13: cmake::run
             at C:\Users\むずでょ\.cargo\registry\src\github.com-1ecc6299db9ec823\cmake-0.1.42\src\lib.rs:839
  14: cmake::Config::build
             at C:\Users\むずでょ\.cargo\registry\src\github.com-1ecc6299db9ec823\cmake-0.1.42\src\lib.rs:745
  15: build_script_build::build_shaderc_msvc
             at .\build\build.rs:76
  16: build_script_build::main
             at .\build\build.rs:255
  17: std::rt::lang_start::{{closure}}<()>
             at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libstd\rt.rs:67
  18: std::rt::lang_start_internal::{{closure}}
             at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447\/src\libstd\rt.rs:52
  19: std::panicking::try::do_call<closure-0,i32>
             at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447\/src\libstd\panicking.rs:305
  20: panic_unwind::__rust_maybe_catch_panic
             at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447\/src\libpanic_unwind\lib.rs:86
  21: std::panicking::try
             at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447\/src\libstd\panicking.rs:281
  22: std::panic::catch_unwind
             at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447\/src\libstd\panic.rs:394
  23: std::rt::lang_start_internal
             at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447\/src\libstd\rt.rs:51
  24: std::rt::lang_start<()>
             at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libstd\rt.rs:67
  25: main
  26: invoke_main
             at d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
  27: __scrt_common_main_seh
             at d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
  28: BaseThreadInitThunk
  29: RtlUserThreadStart
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

What should i do?

alvinhochun commented 4 years ago

@muzudho you can run an example but you can't run the Conrod project itself. Are you specifically looking to run an example in the vulkano backend?

JulienPerrin commented 4 years ago

I think the wiki was misleading because it said you had to run cargo run in getting started. It doesn't now. You can close this issue as far as I am concerned.

alvinhochun commented 4 years ago

The guide had been updated some time ago to remove mention of cargo build, but AFAIK it never said cargo run. Anyway, I do agree that this issue can be closed now.