apache / incubator-teaclave-sgx-sdk

Apache Teaclave (incubating) SGX SDK helps developers to write Intel SGX applications in the Rust programming language, and also known as Rust SGX SDK.
https://teaclave.apache.org
Apache License 2.0
1.17k stars 260 forks source link

New 1.1.3 breaks older mesalock packages? #282

Open Cashmaney opened 3 years ago

Cashmaney commented 3 years ago

Hey guys, trying to compile the same code that depended on 1.1.2 now fails

version. This may also occur with an optional dependency that is not enabled.
   Compiling sgx_signal v1.1.2 (https://github.com/apache/teaclave-sgx-sdk.git?tag=v1.1.2#8f065be7)
    Finished release [optimized] target(s) in 0.60s
warning: dependency (webpki) specification is ambiguous. Only one of `branch`, `tag` or `rev` is allowed. This will be considered an error in future versions
warning: dependency (webpki-roots) specification is ambiguous. Only one of `branch`, `tag` or `rev` is allowed. This will be considered an error in future versions
   Compiling autocfg v1.0.1
   Compiling typenum v1.12.0
   Compiling sgx_tstd v1.1.3 (https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de)
   Compiling autocfg v0.1.7
   Compiling hashbrown_tstd v0.9.0 (https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de)
   Compiling proc-macro2 v1.0.24
   Compiling unicode-xid v0.2.1
   Compiling syn v1.0.48
   Compiling sgx_tstd v1.1.2 (https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7)
   Compiling cc v1.0.41
   Compiling byteorder v1.3.4
   Compiling version_check v0.9.2
   Compiling spin v0.5.2
   Compiling untrusted v0.7.1
   Compiling num-iter v0.1.39 (https://github.com/mesalock-linux/num-iter-sgx#f19fc44f)
   Compiling opaque-debug v0.2.3
   Compiling subtle v1.0.0
   Compiling libm v0.1.4
   Compiling serde v1.0.106 (https://github.com/mesalock-linux/serde-sgx#58ff0793)
   Compiling either v1.6.1
   Compiling parity-wasm v0.41.0
   Compiling byte-tools v0.3.1
   Compiling log v0.4.11
   Compiling ryu v1.0.5
error[E0407]: method `extend_one` is not a member of trait `Extend`
    --> /home/bob/.cargo/git/checkouts/teaclave-sgx-sdk-be25c2ad2f03718d/de34d4d/sgx_tstd/hashbrown/src/map.rs:3048:5
     |
3048 | /     fn extend_one(&mut self, (k, v): (K, V)) {
3049 | |         self.insert(k, v);
3050 | |     }
     | |_____^ not a member of trait `Extend`

error[E0407]: method `extend_reserve` is not a member of trait `Extend`
    --> /home/bob/.cargo/git/checkouts/teaclave-sgx-sdk-be25c2ad2f03718d/de34d4d/sgx_tstd/hashbrown/src/map.rs:3054:5
     |
3054 | /     fn extend_reserve(&mut self, additional: usize) {
3055 | |         // Keys may be already present or show multiple times in the iterator.
3056 | |         // Reserve the entire hint lower bound if the map is empty.
3057 | |         // Otherwise reserve half the hint (rounded up), so the map
...    |
3064 | |         self.reserve(reserve);
3065 | |     }
     | |_____^ not a member of trait `Extend`

error[E0407]: method `extend_one` is not a member of trait `Extend`
    --> /home/bob/.cargo/git/checkouts/teaclave-sgx-sdk-be25c2ad2f03718d/de34d4d/sgx_tstd/hashbrown/src/map.rs:3081:5
     |
3081 | /     fn extend_one(&mut self, (k, v): (&'a K, &'a V)) {
3082 | |         self.insert(*k, *v);
3083 | |     }
     | |_____^ not a member of trait `Extend`

error[E0407]: method `extend_reserve` is not a member of trait `Extend`
    --> /home/bob/.cargo/git/checkouts/teaclave-sgx-sdk-be25c2ad2f03718d/de34d4d/sgx_tstd/hashbrown/src/map.rs:3087:5
     |
3087 | /     fn extend_reserve(&mut self, additional: usize) {
3088 | |         Extend::<(K, V)>::extend_reserve(self, additional);
3089 | |     }
     | |_____^ not a member of trait `Extend`

error[E0407]: method `extend_one` is not a member of trait `Extend`
    --> /home/bob/.cargo/git/checkouts/teaclave-sgx-sdk-be25c2ad2f03718d/de34d4d/sgx_tstd/hashbrown/src/set.rs:1026:5
     |
1026 | /     fn extend_one(&mut self, k: T) {
1027 | |         self.map.insert(k, ());
1028 | |     }
     | |_____^ not a member of trait `Extend`

error[E0407]: method `extend_reserve` is not a member of trait `Extend`
    --> /home/bob/.cargo/git/checkouts/teaclave-sgx-sdk-be25c2ad2f03718d/de34d4d/sgx_tstd/hashbrown/src/set.rs:1032:5
     |
1032 | /     fn extend_reserve(&mut self, additional: usize) {
1033 | |         Extend::<(T, ())>::extend_reserve(&mut self.map, additional);
1034 | |     }
     | |_____^ not a member of trait `Extend`

error[E0407]: method `extend_one` is not a member of trait `Extend`
    --> /home/bob/.cargo/git/checkouts/teaclave-sgx-sdk-be25c2ad2f03718d/de34d4d/sgx_tstd/hashbrown/src/set.rs:1049:5
     |
1049 | /     fn extend_one(&mut self, k: &'a T) {
1050 | |         self.map.insert(*k, ());
1051 | |     }
     | |_____^ not a member of trait `Extend`

error[E0407]: method `extend_reserve` is not a member of trait `Extend`
    --> /home/bob/.cargo/git/checkouts/teaclave-sgx-sdk-be25c2ad2f03718d/de34d4d/sgx_tstd/hashbrown/src/set.rs:1055:5
     |
1055 | /     fn extend_reserve(&mut self, additional: usize) {
1056 | |         Extend::<(T, ())>::extend_reserve(&mut self.map, additional);
1057 | |     }
     | |_____^ not a member of trait `Extend`

error: cannot specialize on trait `core::marker::Copy`
    --> /home/bob/.cargo/git/checkouts/teaclave-sgx-sdk-be25c2ad2f03718d/de34d4d/sgx_tstd/hashbrown/src/raw/mod.rs:1213:1
     |
1213 | / impl<T: Copy> RawTableClone for RawTable<T> {
1214 | |     #[cfg_attr(feature = "inline-more", inline)]
1215 | |     unsafe fn clone_from_spec(&mut self, source: &Self, _on_panic: impl FnMut(&mut Self)) {
1216 | |         source
...    |
1225 | |     }
1226 | | }
     | |_^

error: aborting due to 9 previous errors

For more information about this error, try `rustc --explain E0407`.
error: could not compile `hashbrown_tstd`.

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: build failed

I assume it is because some packages have internal dependencies on 1.1.3, which is compiled with a newer version of rust? After replacing everything I can (without forking packages) to sgx_1.1.2 my cargo tree now looks like:

wasmi-runtime v0.1.0 (/mnt/c/Users/Itzik/GolandProjects/EnigmaBlockchain/cosmwasm/packages/wasmi-runtime)
├── aes-siv v0.2.0
│   ├── aead v0.2.0
│   │   └── generic-array v0.12.3
│   │       └── typenum v1.12.0
│   ├── aes v0.3.2
│   │   ├── aes-soft v0.3.3
│   │   │   ├── block-cipher-trait v0.6.2
│   │   │   │   └── generic-array v0.12.3 (*)
│   │   │   ├── byteorder v1.3.4
│   │   │   └── opaque-debug v0.2.3
│   │   └── block-cipher-trait v0.6.2 (*)
│   ├── cmac v0.2.0
│   │   ├── block-cipher-trait v0.6.2 (*)
│   │   ├── crypto-mac v0.7.0
│   │   │   ├── generic-array v0.12.3 (*)
│   │   │   └── subtle v1.0.0
│   │   └── dbl v0.2.1
│   │       └── generic-array v0.12.3 (*)
│   ├── crypto-mac v0.7.0 (*)
│   ├── ctr v0.3.2
│   │   ├── block-cipher-trait v0.6.2 (*)
│   │   └── stream-cipher v0.3.2
│   │       └── generic-array v0.12.3 (*)
│   ├── dbl v0.2.1 (*)
│   ├── stream-cipher v0.3.2 (*)
│   └── zeroize v1.1.1
│       └── zeroize_derive v1.0.1
│           ├── proc-macro2 v1.0.24
│           │   └── unicode-xid v0.2.1
│           ├── quote v1.0.7
│           │   └── proc-macro2 v1.0.24 (*)
│           ├── syn v1.0.48
│           │   ├── proc-macro2 v1.0.24 (*)
│           │   ├── quote v1.0.7 (*)
│           │   └── unicode-xid v0.2.1 (*)
│           └── synstructure v0.12.4
│               ├── proc-macro2 v1.0.24 (*)
│               ├── quote v1.0.7 (*)
│               ├── syn v1.0.48 (*)
│               └── unicode-xid v0.2.1 (*)
├── base64 v0.10.1 (git+https://github.com/mesalock-linux/rust-base64-sgx?rev=sgx_1.1.2#cdc4f4ab79522f75e4d178c3dcc0b1f0770c6a86)
│   └── sgx_tstd v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb)
│       ├── hashbrown_tstd v0.7.1 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb)
│       │   [build-dependencies]
│       │   └── autocfg v1.0.1
│       ├── sgx_alloc v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb)
│       ├── sgx_backtrace_sys v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb)
│       │   └── sgx_libc v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb)
│       │       └── sgx_types v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb)
│       │   [build-dependencies]
│       │   ├── cc v1.0.41
│       │   └── sgx_build_helper v0.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb)
│       ├── sgx_demangle v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb)
│       ├── sgx_libc v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
│       ├── sgx_tprotected_fs v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb)
│       │   ├── sgx_trts v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb)
│       │   │   ├── sgx_libc v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
│       │   │   └── sgx_types v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
│       │   └── sgx_types v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
│       ├── sgx_trts v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
│       ├── sgx_types v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
│       └── sgx_unwind v0.1.1 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb)
│           [build-dependencies]
│           └── sgx_build_helper v0.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
├── bech32 v0.7.2
├── bit-vec v0.6.2
├── chrono v0.4.11 (git+https://github.com/mesalock-linux/chrono-sgx?rev=sgx_1.1.2#43d452d9dc6fc3d2ef90bf1901486d7093cdb804)
│   ├── num-integer v0.1.41 (git+https://github.com/mesalock-linux/num-integer-sgx#404c50e5378ca635261688b080dee328ff42b6bd)
│   │   ├── num-traits v0.2.10 (git+https://github.com/mesalock-linux/num-traits-sgx#af046e0b15c594c960007418097dd4ff37ec3f7a)
│   │   │   └── sgx_tstd v1.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a)
│   │   │       ├── hashbrown_tstd v0.9.0 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a)
│   │   │       ├── sgx_alloc v1.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a)
│   │   │       ├── sgx_backtrace_sys v1.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a)
│   │   │       │   └── sgx_libc v1.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a)
│   │   │       │       └── sgx_types v1.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a)
│   │   │       │   [build-dependencies]
│   │   │       │   ├── cc v1.0.41 (*)
│   │   │       │   └── sgx_build_helper v0.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a)
│   │   │       ├── sgx_demangle v1.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a)
│   │   │       ├── sgx_libc v1.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a) (*)
│   │   │       ├── sgx_tprotected_fs v1.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a)
│   │   │       │   ├── sgx_trts v1.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a)
│   │   │       │   │   ├── sgx_libc v1.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a) (*)
│   │   │       │   │   └── sgx_types v1.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a) (*)
│   │   │       │   └── sgx_types v1.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a) (*)
│   │   │       ├── sgx_trts v1.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a) (*)
│   │   │       ├── sgx_types v1.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a) (*)
│   │   │       └── sgx_unwind v0.1.1 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a)
│   │   │           [build-dependencies]
│   │   │           └── sgx_build_helper v0.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a) (*)
│   │   │   [build-dependencies]
│   │   │   └── autocfg v0.1.7
│   │   └── sgx_tstd v1.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a) (*)
│   │   [build-dependencies]
│   │   └── autocfg v0.1.7 (*)
│   ├── num-traits v0.2.10 (git+https://github.com/mesalock-linux/num-traits-sgx#af046e0b15c594c960007418097dd4ff37ec3f7a) (*)
│   └── sgx_tstd v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
├── ctor v0.1.16
│   ├── quote v1.0.7 (*)
│   └── syn v1.0.48 (*)
├── derive_more v0.99.11
│   ├── proc-macro2 v1.0.24 (*)
│   ├── quote v1.0.7 (*)
│   └── syn v1.0.48 (*)
├── enclave-ffi-types v0.1.0 (/mnt/c/Users/Itzik/GolandProjects/EnigmaBlockchain/cosmwasm/packages/enclave-ffi-types)
│   └── derive_more v0.99.11 (*)
├── hex v0.4.2
├── httparse v1.3.4
├── itertools v0.8.2
│   └── either v1.6.1
├── lazy_static v1.4.0
├── log v0.4.11
│   └── cfg-if v0.1.10
├── num-bigint v0.2.5 (git+https://github.com/mesalock-linux/num-bigint-sgx?rev=sgx_1.1.2#377ecfb8bfac838418e80af9ed6cc74a627ca9c9)
│   ├── num-integer v0.1.41 (git+https://github.com/mesalock-linux/num-integer-sgx#404c50e5378ca635261688b080dee328ff42b6bd) (*)
│   ├── num-traits v0.2.10 (git+https://github.com/mesalock-linux/num-traits-sgx#af046e0b15c594c960007418097dd4ff37ec3f7a) (*)
│   └── sgx_tstd v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
│   [build-dependencies]
│   └── autocfg v1.0.1 (*)
├── parity-wasm v0.41.0
├── prost v0.6.1 (git+https://github.com/mesalock-linux/prost-sgx?rev=sgx_1.1.2#ded9d2a18e770f2f2e857c633c77bdbf9f81a4a5)
│   ├── bytes v0.5.4 (git+https://github.com/mesalock-linux/bytes-sgx#63d1951a35f2e888696aba3796aac45214e727ec)
│   │   └── sgx_tstd v1.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a) (*)
│   └── prost-derive v0.6.1 (git+https://github.com/mesalock-linux/prost-sgx?rev=sgx_1.1.2#ded9d2a18e770f2f2e857c633c77bdbf9f81a4a5)
│       ├── anyhow v1.0.28 (git+https://github.com/mesalock-linux/anyhow-sgx#9b7763f58b5dedc11f388ea9a0072049c309e27d)
│       ├── itertools v0.8.2 (*)
│       ├── proc-macro2 v1.0.24 (*)
│       ├── quote v1.0.7 (*)
│       └── syn v1.0.48 (*)
├── pwasm-utils v0.12.0
│   ├── byteorder v1.3.4 (*)
│   ├── log v0.4.11 (*)
│   └── parity-wasm v0.41.0 (*)
├── ring v0.16.11 (git+https://github.com/mesalock-linux/ring-sgx?tag=v0.16.5#c009987701af4b604d33d0e315456f3c59162d29)
│   ├── sgx_tstd v1.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a) (*)
│   ├── spin v0.5.2
│   └── untrusted v0.7.1
│   [build-dependencies]
│   └── cc v1.0.41 (*)
├── ripemd160 v0.9.1
│   ├── block-buffer v0.9.0
│   │   └── generic-array v0.14.4
│   │       └── typenum v1.12.0 (*)
│   │       [build-dependencies]
│   │       └── version_check v0.9.2
│   ├── digest v0.9.0
│   │   └── generic-array v0.14.4 (*)
│   └── opaque-debug v0.3.0
├── rust-base58 v0.0.4 (git+https://github.com/mesalock-linux/rust-base58-sgx?rev=sgx_1.1.2#38b41f435f96e97142ddd1c1b94df91132a6787e)
│   ├── num v0.2.0 (git+https://github.com/mesalock-linux/num-sgx#22645415542cc67551890dfdd34f4d5638b9ec78)
│   │   ├── num-bigint v0.2.5 (git+https://github.com/mesalock-linux/num-bigint-sgx#377ecfb8bfac838418e80af9ed6cc74a627ca9c9)
│   │   │   ├── num-integer v0.1.41 (git+https://github.com/mesalock-linux/num-integer-sgx#404c50e5378ca635261688b080dee328ff42b6bd) (*)
│   │   │   ├── num-traits v0.2.10 (git+https://github.com/mesalock-linux/num-traits-sgx#af046e0b15c594c960007418097dd4ff37ec3f7a) (*)
│   │   │   └── sgx_tstd v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
│   │   │   [build-dependencies]
│   │   │   └── autocfg v1.0.1 (*)
│   │   ├── num-complex v0.2.3 (git+https://github.com/mesalock-linux/num-complex-sgx#19700ad6de079ebc5560db472c282d1591e0d84f)
│   │   │   ├── num-traits v0.2.10 (git+https://github.com/mesalock-linux/num-traits-sgx#af046e0b15c594c960007418097dd4ff37ec3f7a) (*)
│   │   │   └── sgx_tstd v1.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a) (*)
│   │   │   [build-dependencies]
│   │   │   └── autocfg v0.1.7 (*)
│   │   ├── num-integer v0.1.41 (git+https://github.com/mesalock-linux/num-integer-sgx#404c50e5378ca635261688b080dee328ff42b6bd) (*)
│   │   ├── num-iter v0.1.39 (git+https://github.com/mesalock-linux/num-iter-sgx#f19fc44fcad0b82a040e5a24c511e5049cc04b60)
│   │   │   ├── num-integer v0.1.41 (git+https://github.com/mesalock-linux/num-integer-sgx#404c50e5378ca635261688b080dee328ff42b6bd) (*)
│   │   │   ├── num-traits v0.2.10 (git+https://github.com/mesalock-linux/num-traits-sgx#af046e0b15c594c960007418097dd4ff37ec3f7a) (*)
│   │   │   └── sgx_tstd v1.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a) (*)
│   │   ├── num-rational v0.2.2 (git+https://github.com/mesalock-linux/num-rational-sgx#be65f9ce439f3c9ec850d8041635ab6c3309b816)
│   │   │   ├── num-bigint v0.2.5 (git+https://github.com/mesalock-linux/num-bigint-sgx#377ecfb8bfac838418e80af9ed6cc74a627ca9c9) (*)
│   │   │   ├── num-integer v0.1.41 (git+https://github.com/mesalock-linux/num-integer-sgx#404c50e5378ca635261688b080dee328ff42b6bd) (*)
│   │   │   ├── num-traits v0.2.10 (git+https://github.com/mesalock-linux/num-traits-sgx#af046e0b15c594c960007418097dd4ff37ec3f7a) (*)
│   │   │   └── sgx_tstd v1.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a) (*)
│   │   │   [build-dependencies]
│   │   │   └── autocfg v0.1.7 (*)
│   │   └── num-traits v0.2.10 (git+https://github.com/mesalock-linux/num-traits-sgx#af046e0b15c594c960007418097dd4ff37ec3f7a) (*)
│   └── sgx_tstd v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
├── rustls v0.16.0 (git+https://github.com/mesalock-linux/rustls?rev=sgx_1.1.2#ce26c885355fde79d45a27a6bbca490d9e8fcc0e)
│   ├── base64 v0.10.1 (git+https://github.com/mesalock-linux/rust-base64-sgx#cdc4f4ab79522f75e4d178c3dcc0b1f0770c6a86)
│   │   └── sgx_tstd v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
│   ├── ring v0.16.11 (git+https://github.com/mesalock-linux/ring-sgx?tag=v0.16.5#c009987701af4b604d33d0e315456f3c59162d29) (*)
│   ├── sct v0.6.0 (git+https://github.com/mesalock-linux/sct.rs?branch=mesalock_sgx#c4d859cca232e6c9d88ca12048df3bc26e1ed4ad)
│   │   ├── ring v0.16.11 (git+https://github.com/mesalock-linux/ring-sgx?tag=v0.16.5#c009987701af4b604d33d0e315456f3c59162d29) (*)
│   │   ├── sgx_tstd v1.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a) (*)
│   │   └── untrusted v0.7.1 (*)
│   ├── sgx_tstd v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
│   └── webpki v0.21.2 (git+https://github.com/mesalock-linux/webpki?branch=mesalock_sgx#ab35cad4197f6e421ca14da0a2eb7df86654418f)
│       ├── ring v0.16.11 (git+https://github.com/mesalock-linux/ring-sgx?tag=v0.16.5#c009987701af4b604d33d0e315456f3c59162d29) (*)
│       ├── sgx_tstd v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
│       └── untrusted v0.7.1 (*)
├── secp256k1 v0.17.2
│   └── secp256k1-sys v0.1.2
│       [build-dependencies]
│       └── cc v1.0.41 (*)
├── serde v1.0.106 (git+https://github.com/mesalock-linux/serde-sgx#58ff0793d46f96124132110880d0f4d44050d6ee)
│   ├── serde_derive v1.0.106 (git+https://github.com/mesalock-linux/serde-sgx#58ff0793d46f96124132110880d0f4d44050d6ee)
│   │   ├── proc-macro2 v1.0.24 (*)
│   │   ├── quote v1.0.7 (*)
│   │   └── syn v1.0.48 (*)
│   └── sgx_tstd v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
├── serde_json v1.0.51 (git+https://github.com/mesalock-linux/serde-json-sgx?rev=sgx_1.1.2#2576a0312702ee83b454d7e084ea53585ac16b70)
│   ├── itoa v0.4.5 (git+https://github.com/mesalock-linux/itoa-sgx.git#295ee451f5ec74f25c299552b481beb445ea3eb7)
│   │   └── sgx_tstd v1.1.3 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.3#de34d4de097de2cd4bc5985c969c033146fc3c0a) (*)
│   ├── ryu v1.0.5
│   ├── serde v1.0.106 (git+https://github.com/mesalock-linux/serde-sgx#58ff0793d46f96124132110880d0f4d44050d6ee) (*)
│   └── sgx_tstd v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
├── sgx_rand v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb)
│   ├── sgx_trts v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
│   ├── sgx_tstd v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
│   └── sgx_types v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
├── sgx_tcrypto v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb)
│   └── sgx_types v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
├── sgx_trts v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
├── sgx_tse v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb)
│   └── sgx_types v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
├── sgx_tseal v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb)
│   ├── sgx_tcrypto v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
│   ├── sgx_trts v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
│   ├── sgx_tse v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
│   └── sgx_types v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
├── sgx_tstd v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
├── sgx_types v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
├── sha2 v0.8.2
│   ├── block-buffer v0.7.3
│   │   ├── block-padding v0.1.5
│   │   │   └── byte-tools v0.3.1
│   │   ├── byte-tools v0.3.1 (*)
│   │   ├── byteorder v1.3.4 (*)
│   │   └── generic-array v0.12.3 (*)
│   ├── digest v0.8.1
│   │   └── generic-array v0.12.3 (*)
│   ├── fake-simd v0.1.2
│   └── opaque-debug v0.2.3 (*)
├── uuid v0.8.1
├── wasmi v0.6.2 (git+https://github.com/paritytech/wasmi?rev=84d2764594d80425373bf4949a58fa3df3d624c3#84d2764594d80425373bf4949a58fa3df3d624c3)
│   ├── downcast-rs v1.2.0
│   ├── libm v0.1.4
│   ├── memory_units v0.3.0
│   ├── num-rational v0.2.4
│   │   ├── num-integer v0.1.44
│   │   │   └── num-traits v0.2.14
│   │   │       [build-dependencies]
│   │   │       └── autocfg v1.0.1 (*)
│   │   │   [build-dependencies]
│   │   │   └── autocfg v1.0.1 (*)
│   │   └── num-traits v0.2.14 (*)
│   │   [build-dependencies]
│   │   └── autocfg v1.0.1 (*)
│   ├── num-traits v0.2.14 (*)
│   ├── parity-wasm v0.41.0 (*)
│   └── wasmi-validation v0.3.0 (git+https://github.com/paritytech/wasmi?rev=84d2764594d80425373bf4949a58fa3df3d624c3#84d2764594d80425373bf4949a58fa3df3d624c3)
│       └── parity-wasm v0.41.0 (*)
├── webpki v0.21.2 (git+https://github.com/mesalock-linux/webpki?rev=sgx_1.1.2#ab35cad4197f6e421ca14da0a2eb7df86654418f)
│   ├── ring v0.16.11 (git+https://github.com/mesalock-linux/ring-sgx?tag=v0.16.5#c009987701af4b604d33d0e315456f3c59162d29) (*)
│   ├── sgx_tstd v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
│   └── untrusted v0.7.1 (*)
├── webpki-roots v0.19.0 (git+https://github.com/mesalock-linux/webpki-roots?rev=sgx_1.1.2#c17c75ea48125a1e0cb815f0279b53aa673197e7)
│   ├── sgx_tstd v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
│   └── webpki v0.21.2 (git+https://github.com/mesalock-linux/webpki?branch=mesalock_sgx#ab35cad4197f6e421ca14da0a2eb7df86654418f) (*)
├── x25519-dalek v0.6.0
│   ├── curve25519-dalek v2.1.0
│   │   ├── byteorder v1.3.4 (*)
│   │   ├── digest v0.8.1 (*)
│   │   ├── rand_core v0.5.1 (git+https://github.com/mesalock-linux/rand-sgx#55697c5a4007d13e8d5f37be7216be1b18fb8ebf)
│   │   ├── subtle v2.3.0
│   │   └── zeroize v1.1.1 (*)
│   ├── rand_core v0.5.1 (git+https://github.com/mesalock-linux/rand-sgx#55697c5a4007d13e8d5f37be7216be1b18fb8ebf) (*)
│   └── zeroize v1.1.1 (*)
└── yasna v0.3.1 (git+https://github.com/mesalock-linux/yasna.rs-sgx?rev=sgx_1.1.2#e28d16ecb426975d10ab792179e4d4f473ab872d)
    ├── bit-vec v0.6.2 (*)
    ├── chrono v0.4.11 (git+https://github.com/mesalock-linux/chrono-sgx#43d452d9dc6fc3d2ef90bf1901486d7093cdb804)
    │   ├── num-integer v0.1.41 (git+https://github.com/mesalock-linux/num-integer-sgx#404c50e5378ca635261688b080dee328ff42b6bd) (*)
    │   ├── num-traits v0.2.10 (git+https://github.com/mesalock-linux/num-traits-sgx#af046e0b15c594c960007418097dd4ff37ec3f7a) (*)
    │   └── sgx_tstd v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
    ├── num-bigint v0.2.5 (git+https://github.com/mesalock-linux/num-bigint-sgx#377ecfb8bfac838418e80af9ed6cc74a627ca9c9) (*)
    └── sgx_tstd v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb) (*)
[dev-dependencies]
└── sgx_edl v1.1.2 (git+https://github.com/apache/teaclave-sgx-sdk.git?rev=v1.1.2#8f065be7a442157bf16dc7106feb795ea1c578eb)

Just wanted to bring it to your attention, in case you are trying to maintain the 1.1.2 tags as well.

Thanks

dingelish commented 3 years ago

hey @Cashmaney , thanks for the report!

the reason is that extend_one was changed to be under extend_one feature in https://github.com/rust-lang/rust/issues/72631 , and i guess you're using new compiler (something between 2020-04-07 and 2020-10-25) on v1.1.2 sdk, which requires the old libcore.

my recommendation is switching back to 2020-04-07, or tell me your exact rust toolchain status and i can create a branch for you. thanks!

Cashmaney commented 3 years ago

That's the thing - I'm using 2020-04-07, trying to compile with the v1.1.2 sdk, running the exact same compile script inside a docker container that was working a couple of days ago. I suspect hashbrown 0.9.0 doesn't compile with 2020-04-07, and it was added as a dependency when you bumped a few package versions?

dingelish commented 3 years ago

you're right. hashbrown 0.9.0 does not compile on 2020-04-07 and sgx_tstd v1.1.3 does depends on 0.9.0. and v1.1.3 does requires nightly-2020-10-25 or later not only because the change of Extend trait, also the changes in core::alloc traits/error types.

i just updated the readme. could you please try the new docker images? such as 1804-1.1.3 etc. thanks!

Cashmaney commented 3 years ago

We switched to 1.1.3, and after updating Xargo it's working again, thanks.

But it's still important to note that when you upgrade, it breaks a lot of the packages that depend on previous versions, since there are some dependencies in packages that are unversioned. For example, https://github.com/mesalock-linux/num-integer-sgx has an unversioned dep of https://github.com/mesalock-linux/num-integer-sgx/blob/404c50e5378ca635261688b080dee328ff42b6bd/Cargo.toml#L19-20 which as you can see points to 1.1.3. So effectively, even the sgx_1.1.2 branch depends on 1.1.3. Hope I was clear:)