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 263 forks source link

upgrade SDK and rust compiler urgently needed #360

Open brenzi opened 3 years ago

brenzi commented 3 years ago

This SDK is behind Intel's SDK for quite a while already and the supported rust compiler is very old.

We currently face a deadlock because https://github.com/dtolnay/proc-macro2/pull/296 breaks our build. We can't downgrade, because other dependencies request proc-macro2-1.0.29. But we can't upgrade because teaclave's rust compiler support is outdated.

Please upgrade ASAP

mssun commented 3 years ago

Thanks for the report. I'll link a related PR here: https://github.com/apache/incubator-teaclave-sgx-sdk/pull/349

mssun commented 3 years ago

@brenzi, as discussed with @volcano0dr, he's working on a new release recently. You'll see the changes in this month.

In the meantime, I suggest to pin to a specific version (through vendoring) to avoid such problem.

PiDelport commented 3 years ago

@mssun, @volcano0dr: Do you have any status update about the new release? Can SDK users or contributors do anything to help?

volcano0dr commented 3 years ago

@PiDelport sorry for the late upgrade. I 'v upgraded the SDK to support rust-nightly-2021-09-13, and the updated vesion is 1.1.4. The latest SDK has been pushed to v1.1.4-testing branch. Any respondes will be greatly welcome.

volcano0dr commented 3 years ago

@brenzi SDK has been upgraded.

sbellem commented 3 years ago

A few questions & observations:

Thank you.

volcano0dr commented 3 years ago

@sbellem

sbellem commented 3 years ago

Thanks for the detailed answer @volcano0dr!

haerdib commented 3 years ago

We were able to test it and it seems to work perfectly. proc-macro was updated to v1.0.32 and rust version to nightly-2021-10-01, which successfully built & run. (https://github.com/integritee-network/worker/pull/486) Currently, not very nice patching to a teaclave fork is necessary for the mesalock libraries to work, since cargo does not allow patches to the same github repo. Other than that, nothing to complain about. Thanks a lot for your effort!

brenzi commented 3 years ago

when can we expect the release of 1.1.4?

haerdib commented 2 years ago

Update: Upgrade to rust-toolchain nightly-2021-10-30 and later is not possible, because of the following error:

error[E0522]: definition of an unknown language item: `begin_panic_fmt`
   --> /.cargo/git/checkouts/incubator-teaclave-sgx-sdk-f208006cdf70a903/19355dc/sgx_tstd/src/panicking.rs:406:1
    |
406 | #[lang = "begin_panic_fmt"]
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition of unknown language item `begin_panic_fmt`
volcano0dr commented 2 years ago

@haerdib I will upgrade rust-toolchain again recently to support rust edition 2021.

PiDelport commented 2 years ago

Upstream release: Intel SGX SDK 2.15.1 Release Notes (12 Nov 2021)

Changes in version 2.15.1:

  • Upgraded to OpenSSL 1.1.1l.

Does v1.1.4-testing need any update for this?

Is anything else still blocking it from being merged?

volcano0dr commented 2 years ago

@PiDelport v1.1.4-testing can support intel sgx sdk 2.15.1 and dcap 1.12.1 v1.1.4-testing has been merged into master

PiDelport commented 2 years ago

Awesome!

Does that resolve this issue?

volcano0dr commented 2 years ago

@haerdib I have upgraded rust-toolchain to nightly-2021-11-01.

volcano0dr commented 2 years ago

@PiDelport This issue has been resolved.