Closed
Description
What are you really trying to do?
I am trying to cross compile core-sdk
in order to use python-sdk on s390x
and ppc64el
architectures
Describe the bug
error: failed to run custom build command for `ring v0.16.20`
Caused by:
process didn't exit successfully: `/Users/troyanov/Documents/work/canonical/temporalio/sdk-core/target/debug/build/ring-f698636ef115f979/build-script-build` (exit status: 101)
--- stderr
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', /Users/troyanov/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ring-0.16.20/build.rs:358:10
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
Minimal Reproduction
cargo build --target=s390x-unknown-linux-gnu
cargo build --target=powerpc64le-unknown-linux-gnu
(make sure required targets are installed, if not add them with rustup target add
)
Environment/Versions
❯ git rev-parse @
617612aa419d687aebabcf0258ac86f5c36df189
❯ rustc --version
rustc 1.71.0 (8ede3aae2 2023-07-12)
❯ rustup --version
rustup 1.26.0 (5af9b9484 2023-04-05)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.71.0 (8ede3aae2 2023-07-12)`
❯ sysctl -n machdep.cpu.brand_string
Apple M1 Pro
Additional context
Compilation issue should be fixed in the recent ring
v0.17.0 version.
Judging based on the following issues were marked as fixed:
- "cargo build" failed on s390x platform briansmith/ring#986
- Add support for RISC-V briansmith/ring#1182
- cargo build is failed on ppc64le platform briansmith/ring#1630
ring v0.16.20
├── rustls v0.21.7
│ ├── hyper-rustls v0.24.1
│ │ └── reqwest v0.11.21
│ │ └── temporal-sdk-core v0.1.0 (/cyberfarm/temporalio/sdk-core/core)
│ │ ├── temporal-sdk v0.1.0-alpha.1 (/cyberfarm/temporalio/sdk-core/sdk)
│ │ │ └── temporal-sdk-core-test-utils v0.1.0 (/cyberfarm/temporalio/sdk-core/test-utils)
│ │ │ [dev-dependencies]
│ │ │ └── temporal-sdk-core v0.1.0 (/cyberfarm/temporalio/sdk-core/core) (*)
│ │ │ [dev-dependencies]
│ │ │ └── temporal-sdk-core v0.1.0 (/cyberfarm/temporalio/sdk-core/core) (*)
│ │ └── temporal-sdk-core-test-utils v0.1.0 (/cyberfarm/temporalio/sdk-core/test-utils) (*)
│ ├── reqwest v0.11.21 (*)
│ └── tokio-rustls v0.24.1
│ ├── hyper-rustls v0.24.1 (*)
│ ├── reqwest v0.11.21 (*)
│ └── tonic v0.9.2
│ ├── opentelemetry-otlp v0.13.0
│ │ └── temporal-sdk-core v0.1.0 (/cyberfarm/temporalio/sdk-core/core) (*)
│ ├── opentelemetry-proto v0.3.0
│ │ └── opentelemetry-otlp v0.13.0 (*)
│ ├── temporal-client v0.1.0 (/cyberfarm/temporalio/sdk-core/client)
│ │ ├── temporal-sdk v0.1.0-alpha.1 (/cyberfarm/temporalio/sdk-core/sdk) (*)
│ │ ├── temporal-sdk-core v0.1.0 (/cyberfarm/temporalio/sdk-core/core) (*)
│ │ └── temporal-sdk-core-test-utils v0.1.0 (/cyberfarm/temporalio/sdk-core/test-utils) (*)
│ ├── temporal-sdk v0.1.0-alpha.1 (/cyberfarm/temporalio/sdk-core/sdk) (*)
│ ├── temporal-sdk-core v0.1.0 (/cyberfarm/temporalio/sdk-core/core) (*)
│ ├── temporal-sdk-core-api v0.1.0 (/cyberfarm/temporalio/sdk-core/core-api)
│ │ ├── temporal-client v0.1.0 (/cyberfarm/temporalio/sdk-core/client) (*)
│ │ ├── temporal-sdk v0.1.0-alpha.1 (/cyberfarm/temporalio/sdk-core/sdk) (*)
│ │ ├── temporal-sdk-core v0.1.0 (/cyberfarm/temporalio/sdk-core/core) (*)
│ │ └── temporal-sdk-core-test-utils v0.1.0 (/cyberfarm/temporalio/sdk-core/test-utils) (*)
│ └── temporal-sdk-core-protos v0.1.0 (/cyberfarm/temporalio/sdk-core/sdk-core-protos)
│ ├── temporal-client v0.1.0 (/cyberfarm/temporalio/sdk-core/client) (*)
│ ├── temporal-sdk v0.1.0-alpha.1 (/cyberfarm/temporalio/sdk-core/sdk) (*)
│ ├── temporal-sdk-core v0.1.0 (/cyberfarm/temporalio/sdk-core/core) (*)
│ ├── temporal-sdk-core-api v0.1.0 (/cyberfarm/temporalio/sdk-core/core-api) (*)
│ └── temporal-sdk-core-test-utils v0.1.0 (/cyberfarm/temporalio/sdk-core/test-utils) (*)
├── rustls-webpki v0.101.6
│ └── rustls v0.21.7 (*)
└── sct v0.7.0
└── rustls v0.21.7 (*)
Since core-sdk
doesn't depend directly on the ring
crate, dependant dependencies should be tracked.
Most of them depend on ring
through rustls
- corresponding PR to bump
ring
version inrustls
Upgrade to ring 0.17 rustls/rustls#1508