HigherOrderCO / HVM

A massively parallel, optimal functional runtime in Rust
https://higherorderco.com
Apache License 2.0
10.52k stars 400 forks source link

cargo install hvm throwing error #381

Closed srvshg closed 5 months ago

srvshg commented 5 months ago

cargo install hvm Updating crates.io index Installing hvm v2.0.19 Updating crates.io index Compiling libc v0.2.155 Compiling utf8parse v0.2.2 Compiling anstyle v1.0.7 Compiling is_terminal_polyfill v1.70.0 Compiling anstyle-query v1.1.0 Compiling colorchoice v1.0.1 Compiling cc v1.0.99 Compiling strsim v0.11.1 Compiling clap_lex v0.7.1 Compiling highlight_error v0.1.1 Compiling anstyle-parse v0.2.4 Compiling TSPL v0.0.12 Compiling anstream v0.6.14 Compiling clap_builder v4.5.6 Compiling num_cpus v1.16.0 Compiling hvm v2.0.19 Compiling clap v4.5.6 The following warnings were emitted during compilation:

warning: hvm@2.0.19: In file included from /usr/include/cuda_runtime.h:83, warning: hvm@2.0.19: from : warning: hvm@2.0.19: /usr/include/crt/host_config.h:132:2: error: #error -- unsupported GNU version! gcc versions later than 12 are not supported! The nvcc flag '-allow-unsupported-compiler' can be used to override this version check; however, using an unsupported host compiler may cause compilation failure or incorrect run time execution. Use at your own risk. warning: hvm@2.0.19: 132 | #error -- unsupported GNU version! gcc versions later than 12 are not supported! The nvcc flag '-allow-unsupported-compiler' can be used to override this version check; however, using an unsupported host compiler may cause compilation failure or incorrect run time execution. Use at your own risk. warning: hvm@2.0.19: | ^~~~~

error: failed to run custom build command for hvm v2.0.19

Caused by: process didn't exit successfully: /tmp/cargo-installgdjlEk/release/build/hvm-f04826ba4c52da85/build-script-build (exit status: 1) --- stdout cargo:rerun-if-changed=src/hvm.c cargo:rerun-if-changed=src/hvm.cu TARGET = Some("x86_64-unknown-linux-gnu") HOST = Some("x86_64-unknown-linux-gnu") cargo:rerun-if-env-changed=CC_x86_64-unknown-linux-gnu CC_x86_64-unknown-linux-gnu = None cargo:rerun-if-env-changed=CC_x86_64_unknown_linux_gnu CC_x86_64_unknown_linux_gnu = None cargo:rerun-if-env-changed=HOST_CC HOST_CC = None cargo:rerun-if-env-changed=CC CC = None cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS CRATE_CC_NO_DEFAULTS = None DEBUG = Some("false") CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2") cargo:rerun-if-env-changed=CFLAGS_x86_64-unknown-linux-gnu CFLAGS_x86_64-unknown-linux-gnu = None cargo:rerun-if-env-changed=CFLAGS_x86_64_unknown_linux_gnu CFLAGS_x86_64_unknown_linux_gnu = None cargo:rerun-if-env-changed=HOST_CFLAGS HOST_CFLAGS = None cargo:rerun-if-env-changed=CFLAGS CFLAGS = None cargo:rerun-if-env-changed=AR_x86_64-unknown-linux-gnu AR_x86_64-unknown-linux-gnu = None cargo:rerun-if-env-changed=AR_x86_64_unknown_linux_gnu AR_x86_64_unknown_linux_gnu = None cargo:rerun-if-env-changed=HOST_AR HOST_AR = None cargo:rerun-if-env-changed=AR AR = None cargo:rerun-if-env-changed=ARFLAGS_x86_64-unknown-linux-gnu ARFLAGS_x86_64-unknown-linux-gnu = None cargo:rerun-if-env-changed=ARFLAGS_x86_64_unknown_linux_gnu ARFLAGS_x86_64_unknown_linux_gnu = None cargo:rerun-if-env-changed=HOST_ARFLAGS HOST_ARFLAGS = None cargo:rerun-if-env-changed=ARFLAGS ARFLAGS = None cargo:rustc-link-lib=static=hvm-c cargo:rustc-link-search=native=/tmp/cargo-installgdjlEk/release/build/hvm-eb4a9f31c45f20ed/out cargo:rustc-cfg=feature="c" cargo:rustc-link-search=native=/usr/local/cuda/lib64 TARGET = Some("x86_64-unknown-linux-gnu") OPT_LEVEL = Some("3") HOST = Some("x86_64-unknown-linux-gnu") cargo:rerun-if-env-changed=CXX_x86_64-unknown-linux-gnu CXX_x86_64-unknown-linux-gnu = None cargo:rerun-if-env-changed=CXX_x86_64_unknown_linux_gnu CXX_x86_64_unknown_linux_gnu = None cargo:rerun-if-env-changed=HOST_CXX HOST_CXX = None cargo:rerun-if-env-changed=CXX CXX = None cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT cargo:rerun-if-env-changed=NVCC_x86_64-unknown-linux-gnu NVCC_x86_64-unknown-linux-gnu = None cargo:rerun-if-env-changed=NVCC_x86_64_unknown_linux_gnu NVCC_x86_64_unknown_linux_gnu = None cargo:rerun-if-env-changed=HOST_NVCC HOST_NVCC = None cargo:rerun-if-env-changed=NVCC NVCC = None cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS CRATE_CC_NO_DEFAULTS = None DEBUG = Some("false") CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2") cargo:rerun-if-env-changed=CXXFLAGS_x86_64-unknown-linux-gnu CXXFLAGS_x86_64-unknown-linux-gnu = None cargo:rerun-if-env-changed=CXXFLAGS_x86_64_unknown_linux_gnu CXXFLAGS_x86_64_unknown_linux_gnu = None cargo:rerun-if-env-changed=HOST_CXXFLAGS HOST_CXXFLAGS = None cargo:rerun-if-env-changed=CXXFLAGS CXXFLAGS = None cargo:warning=In file included from /usr/include/cuda_runtime.h:83, cargo:warning= from : cargo:warning=/usr/include/crt/host_config.h:132:2: error: #error -- unsupported GNU version! gcc versions later than 12 are not supported! The nvcc flag '-allow-unsupported-compiler' can be used to override this version check; however, using an unsupported host compiler may cause compilation failure or incorrect run time execution. Use at your own risk. cargo:warning= 132 | #error -- unsupported GNU version! gcc versions later than 12 are not supported! The nvcc flag '-allow-unsupported-compiler' can be used to override this version check; however, using an unsupported host compiler may cause compilation failure or incorrect run time execution. Use at your own risk. cargo:warning= | ^~~~~

--- stderr

error occurred: Command "nvcc" "-ccbin=c++" "-Xcompiler" "-O3" "-Xcompiler" "-ffunction-sections" "-Xcompiler" "-fdata-sections" "-Xcompiler" "-fPIC" "-m64" "-Xcompiler" "-Wall" "-Xcompiler" "-Wextra" "-diag-suppress=177" "-diag-suppress=550" "-diag-suppress=20039" "-o" "/tmp/cargo-installgdjlEk/release/build/hvm-eb4a9f31c45f20ed/out/2e40c9e35e9506f4-hvm.o" "-c" "src/hvm.cu" with args nvcc did not execute successfully (status code exit status: 1).

warning: build failed, waiting for other jobs to finish... error: failed to compile hvm v2.0.19, intermediate artifacts can be found at /tmp/cargo-installgdjlEk. To reuse those artifacts with a future compilation, set the environment variable CARGO_TARGET_DIR to that path.

System Settings

Example:

Additional context

No response

developedby commented 5 months ago

error -- unsupported GNU version! gcc versions later than 12 are not supported! The nvcc flag '-allow-unsupported-compiler' can be used to override this version check; however, using an unsupported host compiler may cause compilation failure or incorrect run time execution. Use at your own risk.

You need to install a version of gcc supported by CUDA. Then, you can set the right version during installation by doing CXX=g++-12 cargo install hvm.

Duplicate of https://github.com/HigherOrderCO/HVM/issues/291