我需要为我的学士项目测试运行下面的代码SGXROP。
为了实现这个目标,我想要一个没有所需硬件的SGX开发环境(我的两台计算机都有与SGX兼容的CPU,但我希望有一个不依赖它的环境,这样我就可以轻松地与我的教授分享我的工作,而不必让他们购买CPU),我需要能够在Windows 10和Linux Manjaro (基于Arch-Linux)上拥有这样的环境。所以我想我可以在Ubuntu-20VM上使用英特尔的SDK,我可以在我的两台计算机上使用和移动。我试图按照上述指南自行构建SDK,并使用Ubuntu20 SDK安装程序。在生成SampleEnclave应用程序时,两者都会导致以下错误:
/opt/intel/sgxsdk/SampleCode/SampleEnclave$ sudo make SGX_MODE=SIM
make[1]: Entering directory '/opt/intel/sgxsdk/SampleCode/SampleEnclave'
GEN => App/Enclave_u.h
CC <= App/Enclave_u.c
CXX <= App/App.cpp
CXX <= App/Edger8rSyntax/Types.cpp
CXX <= App/Edger8rSyntax/Pointers.cpp
CXX <= App/Edger8rSyntax/Arrays.cpp
CXX <= App/Edger8rSyntax/Functions.cpp
CXX <= App/TrustedLibrary/Thread.cpp
CXX <= App/TrustedLibrary/Libcxx.cpp
CXX <= App/TrustedLibrary/Libc.cpp
/usr/local/bin/ld: warning: libsgx_uae_service_sim.so, needed by /opt/intel/sgxsdk/lib64/libsgx_urts_sim.so, not found (try using -rpath or -rpath-link)
/usr/local/bin/ld: /opt/intel/sgxsdk/lib64/libsgx_urts_sim.so: undefined reference to `get_launch_token'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:235: app] Error 1
make[1]: Leaving directory '/opt/intel/sgxsdk/SampleCode/SampleEnclave'
make: *** [Makefile:180: all] Error 2所以我有两个问题。
感谢大家抽出时间阅读我的问题!
发布于 2021-04-03 20:13:10
是的,SGX仿真模式允许您在不使用SGX处理器的情况下模拟SGX指令:
仿真模式的工作方式与调试模式相同,只是没有执行真正的硬件,而是在软件中模拟Intel SGX指令。
错误可能是由于没有设置正确的shell变量。运行:
source /opt/intel/sgxsdk/environmenthttps://stackoverflow.com/questions/66565628
复制相似问题