incubator-teaclave-sgx-sdk icon indicating copy to clipboard operation
incubator-teaclave-sgx-sdk copied to clipboard

upgrade SDK and rust compiler urgently needed

Open brenzi opened this issue 4 years ago • 17 comments
trafficstars

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

brenzi avatar Sep 13 '21 12:09 brenzi

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

mssun avatar Sep 13 '21 20:09 mssun

@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.

mssun avatar Sep 14 '21 23:09 mssun

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

PiDelport avatar Oct 04 '21 09:10 PiDelport

@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 avatar Oct 06 '21 09:10 volcano0dr

@brenzi SDK has been upgraded.

volcano0dr avatar Oct 08 '21 11:10 volcano0dr

A few questions & observations:

  • Is the master branch considered to be fully supportive of the C++ SDK 2.14?
  • Is there a reason why the rust-toolchain on master is nightly-2020-10-25 whereas on the branch https://github.com/apache/incubator-teaclave-sgx-sdk/tree/v1.1.4-testing it's nightly-2021-09-13.
  • The branch https://github.com/apache/incubator-teaclave-sgx-sdk/tree/v1.1.4-testing is now at 2.15 for the C++ SDK. Are you planning to skip 2.14 in terms of releases, meaning that 1.1.4 will be for 2.15?
  • Would it be possible to clarify which branch is best to use for the C++ SDK 2.14?

Thank you.

sbellem avatar Oct 26 '21 01:10 sbellem

@sbellem

  • The master branch fully supports Intel sgx sdk 2.14. The rust-toolchain is nightly-2020-10-25.(The master branch can also be compiled with rust-nightly-2020-03-30)
  • The v1.1.4-testing branch fully supports Intel sgx sdk 2.15. The rust-toolchain is nightly-2021-09-13.
  • After testing, the v1.1.4-testing branch will be merged into the master branch.
  • If you plan to use Intel sgx sdk 2.14 now, it is best to use the master branch.

volcano0dr avatar Oct 26 '21 03:10 volcano0dr

Thanks for the detailed answer @volcano0dr!

sbellem avatar Oct 26 '21 04:10 sbellem

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!

haerdib avatar Nov 03 '21 10:11 haerdib

when can we expect the release of 1.1.4?

brenzi avatar Nov 05 '21 19:11 brenzi

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`

haerdib avatar Nov 16 '21 13:11 haerdib

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

volcano0dr avatar Nov 16 '21 14:11 volcano0dr

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?

PiDelport avatar Nov 25 '21 16:11 PiDelport

@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

volcano0dr avatar Nov 26 '21 03:11 volcano0dr

Awesome!

Does that resolve this issue?

PiDelport avatar Nov 26 '21 09:11 PiDelport

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

volcano0dr avatar Dec 09 '21 12:12 volcano0dr

@PiDelport This issue has been resolved.

volcano0dr avatar Dec 09 '21 12:12 volcano0dr