Description
An error occurs during the build of guest code while compiling the ring crate. My guess is since ring crate includes C source files that must be compiled for the target architecture, however Jolt's custom target is riscv32im-jolt-zkvm-elf.
This error occured while I was benchmarking state transition functions for Ream on JoltVM.
This is the entire error generated while running Host.
error: failed to run custom build command for
ring v0.17.14`
Caused by:
process didn't exit successfully: /tmp/jolt-guest-targets/guest-state_transition/release/build/ring-1a1ee50b73b3b10d/build-script-build
(exit status: 1)
--- stdout
cargo:rerun-if-env-changed=CARGO_MANIFEST_DIR
cargo:rerun-if-env-changed=CARGO_PKG_NAME
cargo:rerun-if-env-changed=CARGO_PKG_VERSION_MAJOR
cargo:rerun-if-env-changed=CARGO_PKG_VERSION_MINOR
cargo:rerun-if-env-changed=CARGO_PKG_VERSION_PATCH
cargo:rerun-if-env-changed=CARGO_PKG_VERSION_PRE
cargo:rerun-if-env-changed=CARGO_MANIFEST_LINKS
cargo:rerun-if-env-changed=RING_PREGENERATE_ASM
cargo:rerun-if-env-changed=OUT_DIR
cargo:rerun-if-env-changed=CARGO_CFG_TARGET_ARCH
cargo:rerun-if-env-changed=CARGO_CFG_TARGET_OS
cargo:rerun-if-env-changed=CARGO_CFG_TARGET_ENV
cargo:rerun-if-env-changed=CARGO_CFG_TARGET_ENDIAN
OPT_LEVEL = Some(3)
OUT_DIR = Some(/tmp/jolt-guest-targets/guest-state_transition/riscv32im-jolt-zkvm-elf/release/build/ring-5e87a8b6dd6bda0c/out)
TARGET = Some(riscv32im-jolt-zkvm-elf)
HOST = Some(aarch64-apple-darwin)
cargo:rerun-if-env-changed=CC_riscv32im-jolt-zkvm-elf
CC_riscv32im-jolt-zkvm-elf = None
cargo:rerun-if-env-changed=CC_riscv32im_jolt_zkvm_elf
CC_riscv32im_jolt_zkvm_elf = None
cargo:rerun-if-env-changed=TARGET_CC
TARGET_CC = None
cargo:rerun-if-env-changed=CC
CC = None
cargo:rerun-if-env-changed=CROSS_COMPILE
CROSS_COMPILE = None
RUSTC_LINKER = None
cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
RUSTC_WRAPPER = None
cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some(true)
cargo:rerun-if-env-changed=CFLAGS
CFLAGS = None
cargo:rerun-if-env-changed=TARGET_CFLAGS
TARGET_CFLAGS = None
cargo:rerun-if-env-changed=CFLAGS_riscv32im_jolt_zkvm_elf
CFLAGS_riscv32im_jolt_zkvm_elf = None
cargo:rerun-if-env-changed=CFLAGS_riscv32im-jolt-zkvm-elf
CFLAGS_riscv32im-jolt-zkvm-elf = None
CARGO_ENCODED_RUSTFLAGS = Some(-Clink-arg=-T/tmp/jolt-guest-linkers/guest.ld-Cpasses=lower-atomic-Cpanic=abort-Cstrip=symbols-Copt-level=z)
cargo:warning=In file included from /Users/utsavsharma/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ring-0.17.14/crypto/curve25519/curve25519.c:24:
cargo:warning=In file included from /Users/utsavsharma/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ring-0.17.14/crypto/curve25519/internal.h:20:
cargo:warning=In file included from /Users/utsavsharma/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ring-0.17.14/crypto/curve25519/../internal.h:20:
cargo:warning=/Users/utsavsharma/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ring-0.17.14/include/ring-core/check.h:27:11: fatal error: 'assert.h' file not found
cargo:warning= 27 | # include <assert.h>
cargo:warning= | ^~~~~~~~~~
cargo:warning=1 error generated.
--- stderr
error occurred in cc-rs: command did not execute successfully (status code exit status: 1): LC_ALL="C" "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "--target=riscv32-jolt-zkvm" "-I" "/Users/utsavsharma/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ring-0.17.14/include" "-I" "/Users/utsavsharma/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ring-0.17.14/pregenerated" "-Wall" "-Wextra" "-fvisibility=hidden" "-std=c1x" "-Wall" "-Wbad-function-cast" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wnested-externs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wsign-conversion" "-Wstrict-prototypes" "-Wundef" "-Wuninitialized" "-g3" "-DNDEBUG" "-o" "/tmp/jolt-guest-targets/guest-state_transition/riscv32im-jolt-zkvm-elf/release/build/ring-5e87a8b6dd6bda0c/out/25ac62e5b3c53843-curve25519.o" "-c" "/Users/utsavsharma/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ring-0.17.14/crypto/curve25519/curve25519.c"
warning: build failed, waiting for other jobs to finish...
thread 'main' panicked at /Users/utsavsharma/.cargo/git/checkouts/jolt-bc4943ecdf5f6930/8c60764/jolt-core/src/host/mod.rs:159:17:
failed to compile guest`