rust-cross / cargo-zigbuild

Compile Cargo project with zig as linker
MIT License
1.45k stars 52 forks source link

error: failed to run custom build command for `ring v0.16.20` #132

Closed f4nff closed 1 year ago

f4nff commented 1 year ago
rustup default nightly
cargo install cargo-zigbuild
pip3 install ziglang
rustup target add x86_64-pc-windows-gnu
root@vultr:~/rustdesk# rustup target add x86_64-pc-windows-gnu
info: downloading component 'rust-std' for 'x86_64-pc-windows-gnu'
info: installing component 'rust-std' for 'x86_64-pc-windows-gnu'
 27.2 MiB /  27.2 MiB (100 %)  15.9 MiB/s in  1s ETA:  0s
root@vultr:~/rustdesk# cargo zigbuild --target x86_64-pc-windows-gnu.2.17  -p hbbs -Z namespaced-features --bin my-id-server
warning: flag `-Z namespaced-features` has been stabilized in the 1.60 release, and is no longer necessary
  Namespaced features are now always available.

warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
package:   /root/rustdesk/libs/hyper-0.14.20/Cargo.toml
workspace: /root/rustdesk/Cargo.toml
warning: /root/rustdesk/libs/jpeg-decoder-0.3.0/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/libs/tao-0.18.1/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/libs/tao-0.18.1/tao-macros/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/libs/arboard-3.2.0/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/libs/quest-0.3.0/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/libs/tiff-0.9.0/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/libs/enigo/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/libs/hyper-0.14.20/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/libs/image-0.24.6/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/libs/async-speed-limit-0.4.0/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/libs/rpassword-7.2.0/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/libs/rtoolbox-0.0.1/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/libs/virtual_display/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/libs/simple_rc/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/libs/hbb_common/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/libs/async-native-tls-0.4.0/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/libs/portable/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/libs/rocket_http-0.5.0-rc.2/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/libs/virtual_display/dylib/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/libs/scrap/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/libs/native-tls-0.2.10/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/hbbs/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/libs/rocket-0.5.0-rc.2/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
warning: /root/rustdesk/libs/clipboard/Cargo.toml: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
  See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
  Downloaded windows_x86_64_gnu v0.42.2
  Downloaded winapi-x86_64-pc-windows-gnu v0.4.0
  Downloaded 2 crates (3.6 MB) in 0.69s (largest was `winapi-x86_64-pc-windows-gnu` at 2.9 MB)
   Compiling libc v0.2.144
   Compiling autocfg v1.1.0
   Compiling proc-macro2 v1.0.56
   Compiling unicode-ident v1.0.8
   Compiling quote v1.0.27
   Compiling version_check v0.9.4
   Compiling syn v2.0.15
   Compiling cfg-if v1.0.0
   Compiling jobserver v0.1.26
   Compiling cc v1.0.79
   Compiling winapi-x86_64-pc-windows-gnu v0.4.0
   Compiling log v0.4.17
   Compiling winapi v0.3.9
   Compiling serde_derive v1.0.162
   Compiling typenum v1.16.0
   Compiling generic-array v0.14.7
   Compiling serde v1.0.162
   Compiling pkg-config v0.3.27
   Compiling futures-core v0.3.28
   Compiling lock_api v0.4.9
   Compiling parking_lot_core v0.9.7
   Compiling getrandom v0.2.9
   Compiling slab v0.4.8
   Compiling thiserror v1.0.40
   Compiling tokio-macros v2.1.0
   Compiling futures-task v0.3.28
   Compiling futures-channel v0.3.28
   Compiling thiserror-impl v1.0.40
   Compiling futures-util v0.3.28
   Compiling memchr v2.5.0
   Compiling rand_core v0.6.4
   Compiling windows_x86_64_gnu v0.48.0
   Compiling futures-macro v0.3.28
   Compiling pin-project-lite v0.2.9
   Compiling once_cell v1.17.1
   Compiling windows_x86_64_gnu v0.42.2
   Compiling bytes v1.4.0
   Compiling scopeguard v1.1.0
   Compiling windows-targets v0.48.0
   Compiling ahash v0.7.6
   Compiling crossbeam-utils v0.8.15
   Compiling windows-targets v0.42.2
   Compiling windows-sys v0.48.0
   Compiling crypto-common v0.1.6
   Compiling windows-sys v0.45.0
   Compiling openssl-src v111.25.3+1.1.1t
   Compiling openssl-sys v0.9.87
   Compiling socket2 v0.4.9
   Compiling num_cpus v1.15.0
   Compiling itoa v1.0.6
   Compiling smallvec v1.10.0
   Compiling tokio v1.28.1
   Compiling parking_lot v0.12.1
   Compiling mio v0.8.6
   Compiling futures-io v0.3.28
   Compiling httparse v1.8.0
   Compiling futures-sink v0.3.28
   Compiling bitflags v1.3.2
   Compiling io-lifetimes v1.0.10
   Compiling memoffset v0.8.0
   Compiling subtle v2.4.1
   Compiling libz-sys v1.1.9
   Compiling crossbeam-epoch v0.9.14
   Compiling either v1.8.1
   Compiling pin-utils v0.1.0
   Compiling hashbrown v0.12.3
   Compiling cpufeatures v0.2.7
   Compiling block-buffer v0.10.4
   Compiling zstd-sys v1.6.2+zstd.1.5.1
   Compiling indexmap v1.9.3
   Compiling syn v1.0.109
   Compiling rustix v0.37.19
   Compiling fnv v1.0.7
   Compiling http v0.2.9
   Compiling digest v0.10.6
   Compiling proc-macro2-diagnostics v0.10.0
   Compiling signal-hook-registry v1.4.1
   Compiling linux-raw-sys v0.3.7
   Compiling anyhow v1.0.71
   Compiling protobuf v3.2.0
   Compiling tracing-core v0.1.30
   Compiling curl-sys v0.4.61+curl-8.0.1
   Compiling rayon-core v1.11.0
   Compiling same-file v1.0.6
   Compiling yansi v0.5.1
   Compiling percent-encoding v2.2.0
   Compiling openssl v0.10.52
   Compiling walkdir v2.3.3
   Compiling tracing v0.1.37
   Compiling pin-project-internal v1.0.12
   Compiling aho-corasick v1.0.1
   Compiling regex-syntax v0.7.1
   Compiling crossbeam-queue v0.3.8
   Compiling time-macros v0.2.4
   Compiling regex v1.8.1
   Compiling libsodium-sys v0.2.7
   Compiling protobuf-support v3.2.0
   Compiling inout v0.1.3
   Compiling ring v0.16.20
   Compiling openssl-macros v0.1.1
   Compiling num-traits v0.2.15
   Compiling fastrand v1.9.0
   Compiling native-tls v0.2.10 (/root/rustdesk/libs/native-tls-0.2.10)
   Compiling zstd-safe v4.1.3+zstd.1.5.1
   Compiling tempfile v3.5.0
error: failed to run custom build command for `ring v0.16.20`

Caused by:
  process didn't exit successfully: `/root/rustdesk/target/debug/build/ring-4cf27e46aaaa77f9/build-script-build` (exit status: 101)
  --- stdout
  OPT_LEVEL = Some("0")
  TARGET = Some("x86_64-pc-windows-gnu")
  HOST = Some("x86_64-unknown-linux-gnu")
  cargo:rerun-if-env-changed=CC_x86_64-pc-windows-gnu
  CC_x86_64-pc-windows-gnu = None
  cargo:rerun-if-env-changed=CC_x86_64_pc_windows_gnu
  CC_x86_64_pc_windows_gnu = Some("/root/.cache/cargo-zigbuild/0.16.7/zigcc-x86_64-pc-windows-gnu.2.17.sh")
  cargo:rerun-if-env-changed=CFLAGS_x86_64-pc-windows-gnu
  CFLAGS_x86_64-pc-windows-gnu = None
  cargo:rerun-if-env-changed=CFLAGS_x86_64_pc_windows_gnu
  CFLAGS_x86_64_pc_windows_gnu = None
  cargo:rerun-if-env-changed=TARGET_CFLAGS
  TARGET_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = None
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")

  --- stderr
  running "/root/.cache/cargo-zigbuild/0.16.7/zigcc-x86_64-pc-windows-gnu.2.17.sh" "-O0" "-ffunction-sections" "-fdata-sections" "-gdwarf-2" "-fno-omit-frame-pointer" "-m64" "-I" "include" "-Wall" "-Wextra" "-std=c1x" "-Wbad-function-cast" "-Wnested-externs" "-Wstrict-prototypes" "-pedantic" "-pedantic-errors" "-Wall" "-Wextra" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wenum-compare" "-Wfloat-equal" "-Wformat=2" "-Winline" "-Winvalid-pch" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wsign-conversion" "-Wundef" "-Wuninitialized" "-Wwrite-strings" "-fno-strict-aliasing" "-fvisibility=hidden" "-g3" "-DNDEBUG" "-c" "-o/root/rustdesk/target/x86_64-pc-windows-gnu/debug/build/ring-29bf75c412435b5b/out/aes_nohw.o" "crypto/fipsmodule/aes/aes_nohw.c"
  error: InvalidAbiVersion
  thread 'main' panicked at 'execution failed', /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ring-0.16.20/build.rs:656:9
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
root@vultr:~/rustdesk#
messense commented 1 year ago

Zig windows targets doesn't support specify glibc version because Windows gnu target doesn't use glibc, they use mingw.