You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@teaclave.apache.org by samsondav <no...@github.com> on 2020/02/21 22:51:46 UTC
[apache/incubator-teaclave-sgx-sdk] duplicate lang item in crate
`sgx_tstd` (which `num_bigint` depends on): `f32_runtime`. (#207)
Hey all
Upgrading from 1.09 to 1.10 gives this error:
```
error: duplicate lang item in crate `sgx_tstd` (which `num_bigint` depends on): `f32_runtime`.
|
= note: first defined in crate `sgx_tstd` (which `bigdecimal` depends on).
error: duplicate lang item in crate `sgx_tstd` (which `num_bigint` depends on): `f64_runtime`.
|
= note: first defined in crate `sgx_tstd` (which `bigdecimal` depends on).
error: duplicate lang item in crate `sgx_tstd` (which `num_bigint` depends on): `panic_impl`.
|
= note: first defined in crate `sgx_tstd` (which `bigdecimal` depends on).
error: duplicate lang item in crate `sgx_tstd` (which `num_bigint` depends on): `begin_panic`.
|
= note: first defined in crate `sgx_tstd` (which `bigdecimal` depends on).
error: duplicate lang item in crate `sgx_tstd` (which `num_bigint` depends on): `oom`.
|
= note: first defined in crate `sgx_tstd` (which `bigdecimal` depends on).
```
Any ideas?
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-teaclave-sgx-sdk/issues/207
Re: [apache/incubator-teaclave-sgx-sdk] duplicate lang item in crate
`sgx_tstd` (which `num_bigint` depends on): `f32_runtime`. (#207)
Posted by Yu Ding <no...@github.com>.
It's really weird. Currently our examples are using the above patch, like [this](https://github.com/apache/incubator-teaclave-sgx-sdk/blob/master/samplecode/mutual-ra/enclave/Cargo.toml#L39)
If your code is open sourced, I can help you fix the build dependencies :-)
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-teaclave-sgx-sdk/issues/207#issuecomment-590512227
Re: [apache/incubator-teaclave-sgx-sdk] duplicate lang item in crate
`sgx_tstd` (which `num_bigint` depends on): `f32_runtime`. (#207)
Posted by Yu Ding <no...@github.com>.
> @dingelish I tried adding the dependencies using github directly and it worked. This will be fine for us :)
Cool!
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-teaclave-sgx-sdk/issues/207#issuecomment-591177005
Re: [apache/incubator-teaclave-sgx-sdk] duplicate lang item in crate
`sgx_tstd` (which `num_bigint` depends on): `f32_runtime`. (#207)
Posted by Yu Ding <no...@github.com>.
Hi @samsondav, I noticed that the crates under `/opt/sgx-world` are using sgx_tstd from github, while your enclave directly depends on `/opt/rust-sgx-sdk`. Could you please try adding a patch to the Cargo.toml shown as above, to let everything depends on your local rust-sgx-sdk?
```
[patch.'https://github.com/apache/teaclave-sgx-sdk.git']
[patch.'https://github.com/apache/teaclave-sgx-sdk.git']
sgx_alloc = { path = "/opt/rust-sgx-sdk/sgx_alloc" }
sgx_build_helper = { path = "/opt/rust-sgx-sdk/sgx_build_helper" }
sgx_cov = { path = "/opt/rust-sgx-sdk/sgx_cov" }
sgx_crypto_helper = { path = "/opt/rust-sgx-sdk/sgx_crypto_helper" }
sgx_libc = { path = "/opt/rust-sgx-sdk/sgx_libc" }
sgx_rand = { path = "/opt/rust-sgx-sdk/sgx_rand" }
sgx_rand_derive = { path = "/opt/rust-sgx-sdk/sgx_rand_derive" }
sgx_serialize = { path = "/opt/rust-sgx-sdk/sgx_serialize" }
sgx_serialize_derive = { path = "/opt/rust-sgx-sdk/sgx_serialize_derive" }
sgx_serialize_derive_internals = { path = "/opt/rust-sgx-sdk/sgx_serialize_derive_internals" }
sgx_tcrypto = { path = "/opt/rust-sgx-sdk/sgx_tcrypto" }
sgx_tcrypto_helper = { path = "/opt/rust-sgx-sdk/sgx_tcrypto_helper" }
sgx_tdh = { path = "/opt/rust-sgx-sdk/sgx_tdh" }
sgx_tkey_exchange = { path = "/opt/rust-sgx-sdk/sgx_tkey_exchange" }
sgx_tprotected_fs = { path = "/opt/rust-sgx-sdk/sgx_tprotected_fs" }
sgx_trts = { path = "/opt/rust-sgx-sdk/sgx_trts" }
sgx_tse = { path = "/opt/rust-sgx-sdk/sgx_tse" }
sgx_tseal = { path = "/opt/rust-sgx-sdk/sgx_tseal" }
sgx_tservice = { path = "/opt/rust-sgx-sdk/sgx_tservice" }
sgx_tstd = { path = "/opt/rust-sgx-sdk/sgx_tstd" }
sgx_tunittest = { path = "/opt/rust-sgx-sdk/sgx_tunittest" }
sgx_types = { path = "/opt/rust-sgx-sdk/sgx_types" }
sgx_ucrypto = { path = "/opt/rust-sgx-sdk/sgx_ucrypto" }
sgx_unwind = { path = "/opt/rust-sgx-sdk/sgx_unwind" }
sgx_urts = { path = "/opt/rust-sgx-sdk/sgx_urts" }
```
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-teaclave-sgx-sdk/issues/207#issuecomment-590008057
Re: [apache/incubator-teaclave-sgx-sdk] duplicate lang item in crate
`sgx_tstd` (which `num_bigint` depends on): `f32_runtime`. (#207)
Posted by samsondav <no...@github.com>.
Hmm, I tried this but it didn't work.
Would it be better if instead of cloning `sgx-world` locally I just pointed to each github release individually?
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-teaclave-sgx-sdk/issues/207#issuecomment-590349461
Re: [apache/incubator-teaclave-sgx-sdk] duplicate lang item in crate
`sgx_tstd` (which `num_bigint` depends on): `f32_runtime`. (#207)
Posted by Yu Ding <no...@github.com>.
hey there, could i have your Cargo.toml and the output of `cargo tree` for your enclave? Thanks!
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-teaclave-sgx-sdk/issues/207#issuecomment-589870504
Re: [apache/incubator-teaclave-sgx-sdk] duplicate lang item in crate
`sgx_tstd` (which `num_bigint` depends on): `f32_runtime`. (#207)
Posted by samsondav <no...@github.com>.
@dingelish I tried adding the dependencies using github directly and it worked. This will be fine for us :)
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-teaclave-sgx-sdk/issues/207#issuecomment-591164748
Re: [apache/incubator-teaclave-sgx-sdk] duplicate lang item in crate
`sgx_tstd` (which `num_bigint` depends on): `f32_runtime`. (#207)
Posted by samsondav <no...@github.com>.
Hi @dingelish thanks for the fast response.
Cargo.toml:
```
[package]
name = "bigdecimal"
version = "0.1.0"
authors = ["Andrew Kubera"]
description = "Arbitrary percision decimal numbers"
documentation = "https://docs.rs/bigdecimal"
homepage = "https://github.com/akubera/bigdecimal-rs"
repository = "https://github.com/akubera/bigdecimal-rs"
keywords = ["mathematics", "numerics", "decimal", "arbitrary-precision", "floating-point"]
license = "MIT/Apache-2.0"
[dependencies]
num-bigint = { path = "/opt/sgx-world/num-bigint-sgx" }
num-integer = { path = "/opt/sgx-world/num-integer-sgx" }
num-traits = { path = "/opt/sgx-world/num-traits-sgx" }
serde = { path = "/opt/sgx-world/serde-sgx/serde" }
[target.'cfg(not(target_env = "sgx"))'.dependencies]
sgx_tstd = { path = "/opt/rust-sgx-sdk/sgx_tstd" }
sgx_types = { path = "/opt/rust-sgx-sdk/sgx_types" }
```
cargo tree
```
bigdecimal v0.1.0 (/Users/sam/code/smartcontractkit/chainlink/core/sgx/bigdecimal-rs)
├── num-bigint v0.2.5 (/opt/sgx-world/num-bigint-sgx)
│ ├── num-integer v0.1.41 (git+https://github.com/mesalock-linux/num-integer-sgx#83a8eb4ef29fd64d8a1c319b0fe0f295372205e3)
│ │ ├── num-traits v0.2.10 (git+https://github.com/mesalock-linux/num-traits-sgx#34a83e2bf71c99910b4bff3028efbb37a9922a48)
│ │ │ └── sgx_tstd v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd)
│ │ │ ├── sgx_alloc v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd)
│ │ │ ├── sgx_backtrace_sys v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd)
│ │ │ │ └── sgx_libc v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd)
│ │ │ │ [build-dependencies]
│ │ │ │ ├── cc v1.0.50
│ │ │ │ └── sgx_build_helper v0.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd)
│ │ │ ├── sgx_demangle v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd)
│ │ │ ├── sgx_libc v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd) (*)
│ │ │ ├── sgx_tprotected_fs v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd)
│ │ │ │ ├── sgx_trts v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd)
│ │ │ │ │ ├── sgx_libc v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd) (*)
│ │ │ │ │ └── sgx_types v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd)
│ │ │ │ └── sgx_types v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd) (*)
│ │ │ ├── sgx_trts v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd) (*)
│ │ │ ├── sgx_tseal v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd)
│ │ │ │ ├── sgx_tcrypto v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd)
│ │ │ │ │ └── sgx_types v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd) (*)
│ │ │ │ ├── sgx_trts v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd) (*)
│ │ │ │ ├── sgx_tse v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd)
│ │ │ │ │ └── sgx_types v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd) (*)
│ │ │ │ └── sgx_types v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd) (*)
│ │ │ ├── sgx_types v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd) (*)
│ │ │ └── sgx_unwind v0.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd)
│ │ │ [build-dependencies]
│ │ │ └── sgx_build_helper v0.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd) (*)
│ │ │ [build-dependencies]
│ │ │ └── autocfg v0.1.7
│ │ └── sgx_tstd v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd) (*)
│ │ [build-dependencies]
│ │ └── autocfg v0.1.7 (*)
│ ├── num-traits v0.2.10 (git+https://github.com/mesalock-linux/num-traits-sgx#34a83e2bf71c99910b4bff3028efbb37a9922a48) (*)
│ └── sgx_tstd v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd) (*)
│ [build-dependencies]
│ └── autocfg v1.0.0
├── num-integer v0.1.41 (/opt/sgx-world/num-integer-sgx)
│ ├── num-traits v0.2.10 (git+https://github.com/mesalock-linux/num-traits-sgx#34a83e2bf71c99910b4bff3028efbb37a9922a48) (*)
│ └── sgx_tstd v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd) (*)
│ [build-dependencies]
│ └── autocfg v0.1.7 (*)
├── num-traits v0.2.10 (/opt/sgx-world/num-traits-sgx)
│ └── sgx_tstd v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd) (*)
│ [build-dependencies]
│ └── autocfg v0.1.7 (*)
├── serde v1.0.104 (/opt/sgx-world/serde-sgx/serde)
│ └── sgx_tstd v1.1.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.0#71a88b647bb76a16cbc5c3e29403e2afb67f82fd) (*)
├── sgx_tstd v1.1.0 (/opt/rust-sgx-sdk/sgx_tstd)
│ ├── sgx_alloc v1.1.0 (/opt/rust-sgx-sdk/sgx_alloc)
│ ├── sgx_backtrace_sys v1.1.0 (/opt/rust-sgx-sdk/sgx_backtrace_sys)
│ │ └── sgx_libc v1.1.0 (/opt/rust-sgx-sdk/sgx_libc)
│ │ [build-dependencies]
│ │ ├── cc v1.0.50 (*)
│ │ └── sgx_build_helper v0.1.0 (/opt/rust-sgx-sdk/sgx_build_helper)
│ ├── sgx_demangle v1.1.0 (/opt/rust-sgx-sdk/sgx_demangle)
│ ├── sgx_libc v1.1.0 (/opt/rust-sgx-sdk/sgx_libc) (*)
│ ├── sgx_tprotected_fs v1.1.0 (/opt/rust-sgx-sdk/sgx_tprotected_fs)
│ │ ├── sgx_trts v1.1.0 (/opt/rust-sgx-sdk/sgx_trts)
│ │ │ ├── sgx_libc v1.1.0 (/opt/rust-sgx-sdk/sgx_libc) (*)
│ │ │ └── sgx_types v1.1.0 (/opt/rust-sgx-sdk/sgx_types)
│ │ └── sgx_types v1.1.0 (/opt/rust-sgx-sdk/sgx_types) (*)
│ ├── sgx_trts v1.1.0 (/opt/rust-sgx-sdk/sgx_trts) (*)
│ ├── sgx_tseal v1.1.0 (/opt/rust-sgx-sdk/sgx_tseal)
│ │ ├── sgx_tcrypto v1.1.0 (/opt/rust-sgx-sdk/sgx_tcrypto)
│ │ │ └── sgx_types v1.1.0 (/opt/rust-sgx-sdk/sgx_types) (*)
│ │ ├── sgx_trts v1.1.0 (/opt/rust-sgx-sdk/sgx_trts) (*)
│ │ ├── sgx_tse v1.1.0 (/opt/rust-sgx-sdk/sgx_tse)
│ │ │ └── sgx_types v1.1.0 (/opt/rust-sgx-sdk/sgx_types) (*)
│ │ └── sgx_types v1.1.0 (/opt/rust-sgx-sdk/sgx_types) (*)
│ ├── sgx_types v1.1.0 (/opt/rust-sgx-sdk/sgx_types) (*)
│ └── sgx_unwind v0.1.0 (/opt/rust-sgx-sdk/sgx_unwind)
│ [build-dependencies]
│ └── sgx_build_helper v0.1.0 (/opt/rust-sgx-sdk/sgx_build_helper) (*)
└── sgx_types v1.1.0 (/opt/rust-sgx-sdk/sgx_types) (*)
```
```
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-teaclave-sgx-sdk/issues/207#issuecomment-590007361