apache / apache/teaclave-sgx-sdk

Error: DCAP-PCKRetrieval Sample Code Example not running

Open
#430 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
1.2k
Forks
268
PR merge metrics
No merged PRs in 30d

Description

I tried to run the `dcap-pckretrieval` sample code example but encountered an error during the `make` command execution. I have also tried to use the Dockerfile provided in the README, but it threw an error when creating the image with the file.

Error log:

```
root@63ba5807b7f6:~/sgx/samplecode/dcap-pckretrieval# make
Finished release [optimized] target(s) in 0.00s
Cargo => bin/libdcap_quoteprov.so.1
Compiling PCKIDRetrievalTool v1.0.0 (/root/sgx/samplecode/dcap-pckretrieval/app)
error: linking with `cc` failed: exit status: 1
|
= note: "cc" "-m64" "/tmp/rustcLO53aw/symbols.o" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/PCKIDRetrievalTool-27717c09e099678a.PCKIDRetrievalTool.96056c6d-cgu.0.rcgu.o" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/PCKIDRetrievalTool-27717c09e099678a.PCKIDRetrievalTool.96056c6d-cgu.1.rcgu.o" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/PCKIDRetrievalTool-27717c09e099678a.PCKIDRetrievalTool.96056c6d-cgu.10.rcgu.o" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/PCKIDRetrievalTool-27717c09e099678a.PCKIDRetrievalTool.96056c6d-cgu.11.rcgu.o" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/PCKIDRetrievalTool-27717c09e099678a.PCKIDRetrievalTool.96056c6d-cgu.12.rcgu.o" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/PCKIDRetrievalTool-27717c09e099678a.PCKIDRetrievalTool.96056c6d-cgu.13.rcgu.o" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/PCKIDRetrievalTool-27717c09e099678a.PCKIDRetrievalTool.96056c6d-cgu.14.rcgu.o" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/PCKIDRetrievalTool-27717c09e099678a.PCKIDRetrievalTool.96056c6d-cgu.15.rcgu.o" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/PCKIDRetrievalTool-27717c09e099678a.PCKIDRetrievalTool.96056c6d-cgu.2.rcgu.o" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/PCKIDRetrievalTool-27717c09e099678a.PCKIDRetrievalTool.96056c6d-cgu.3.rcgu.o" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/PCKIDRetrievalTool-27717c09e099678a.PCKIDRetrievalTool.96056c6d-cgu.4.rcgu.o" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/PCKIDRetrievalTool-27717c09e099678a.PCKIDRetrievalTool.96056c6d-cgu.5.rcgu.o" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/PCKIDRetrievalTool-27717c09e099678a.PCKIDRetrievalTool.96056c6d-cgu.6.rcgu.o" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/PCKIDRetrievalTool-27717c09e099678a.PCKIDRetrievalTool.96056c6d-cgu.7.rcgu.o" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/PCKIDRetrievalTool-27717c09e099678a.PCKIDRetrievalTool.96056c6d-cgu.8.rcgu.o" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/PCKIDRetrievalTool-27717c09e099678a.PCKIDRetrievalTool.96056c6d-cgu.9.rcgu.o" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/PCKIDRetrievalTool-27717c09e099678a.4mvjf6q1nc8dqgmh.rcgu.o" "-Wl,--as-needed" "-L" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps" "-L" "../lib" "-L" "/opt/sgxsdk/lib64" "-L" "/root/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "-lEnclave_u" "-Wl,-Bdynamic" "-lsgx_dcap_ql" "-lsgx_urts" "-Wl,-Bstatic" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/libsgx_urts-638aaa7c8ef87fce.rlib" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/liblibc-671f9e87d6b31dab.rlib" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/libsgx_types-03debe11f3d6a379.rlib" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/liblibloading-06dac6e03706bace.rlib" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/libcfg_if-af4ed11818f18246.rlib" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/libitertools-333b8ecd160f86dd.rlib" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/libeither-15648ea7c37dbe4a.rlib" "/root/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-7b2106000b625742.rlib" "/root/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-15accacd1251d941.rlib" "/root/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-4a45f4075ae80a22.rlib" "/root/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-e89379089032cd0e.rlib" "/root/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-74211b12b443811c.rlib" "/root/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-1f391b051eb3b957.rlib" "/root/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-db4d651637ed1365.rlib" "/root/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-bb8d1566a1046906.rlib" "/root/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-fcf994c37af81dc5.rlib" "/root/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-1791beb5b36e409b.rlib" "/root/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-6d1ec8f1337db26d.rlib" "/root/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-ce60aba693c46806.rlib" "/root/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-b113a1d1429de7b6.rlib" "/root/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-757bd6fa410f1121.rlib" "/root/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-a51843dfc5fc8b4b.rlib" "/root/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-3e961d059b9bcde7.rlib" "/root/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-c6c03e024a2f1e46.rlib" "/root/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-522518611024dce5.rlib" "/root/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-05898138a596088a.rlib" "/root/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-b7c79d85cf21a511.rlib" "-Wl,-Bdynamic" "-ldl" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/root/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/root/sgx/samplecode/dcap-pckretrieval/app/target/release/deps/PCKIDRetrievalTool-27717c09e099678a" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-Wl,-O1" "-nodefaultlibs"
= note: /usr/bin/ld: cannot find -lsgx_dcap_ql
collect2: error: ld returned 1 exit status

error: could not compile `PCKIDRetrievalTool` due to previous error
make: *** [Makefile:137: bin/PCKIDRetrievalTool] Error 101
root@63ba5807b7f6:~/sgx/samplecode/dcap-pckretrieval#
```

I'm getting a very similar error when attempting to "make" my own application.

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the failure from samplecode/dcap-pckretrieval with the README Dockerfile and inspect Makefile:137 plus the app build configuration. Start with the linker output showing that sgx_dcap_ql cannot be found, then compare the sample and the user's application setup. Done means the sample builds successfully and the documented Docker image can be created.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, rust
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.