Intel® Software Guard Extensions (Intel® SGX)
Discussion board focused on hardware-based isolation and memory encryption to provide extended code protection in solutions.
1453 Discussions

Question about how to link intel-sgx-ssl library to Intel SGX

Li__Klaus
Beginner
1,670 Views

Hello,

I am a new developer working on intel-sgx-ssl with Intel SGX 1.9.0 in Ubuntu 16.04; I am successfully build the library and now I am following this instruction to link the library: 

https://github.com/intel/intel-sgx-ssl/blob/master/Linux/package/docs/Intel(R)%20Software%20Guard%20Extensions%20SSL%20Library%20Linux%20Developer%20Guide.pdf

I am trying to using sgx_edger8r tools as Page 5, No.2 said, however: 

/opt/intel/sgxsdk/bin/x64$      ./sgx_edger8r --search-path /home/user/Desktop/intel-sgx-ssl/Linux/sgxssl.1.9.100.99999/include/ sgx_tsgxssl.edl 
error: the enclave `sgx_tsgxssl' contains no public root ECALL.

 

Am I missing some key point to leading this problem: error the enclave sgx_tsgxssl contains no public root ECALL?

Best Wishes,

Klaus

 

0 Kudos
3 Replies
Scott_R_Intel
Employee
1,670 Views

Hello, Klaus.

Per the doc you linked,  the sgx_tsgxssl.edl file is not meant to be used standalone...  it is meant to be included ("from some.edl import *" syntax) into your own applications's .edl file which is required to have at least one public ecall. For more info on EDL, see the "Enclave Definition Language Syntax" section in the SGX Developer reference for Linux:  https://01.org/intel-software-guard-extensions/documentation/intel-sgx-sdk-developer-reference

Regards.

Scott

0 Kudos
Li__Klaus
Beginner
1,670 Views

Scott R. (Intel) wrote:

Hello, Klaus.

Per the doc you linked,  the sgx_tsgxssl.edl file is not meant to be used standalone...  it is meant to be included ("from some.edl import *" syntax) into your own applications's .edl file which is required to have at least one public ecall. For more info on EDL, see the "Enclave Definition Language Syntax" section in the SGX Developer reference for Linux:  https://01.org/intel-software-guard-extensions/documentation/intel-sgx-s...

Regards.

Scott

HI Scott,

Thanks for your information. I am trying this since from intel-sgx-ssl code example, it has a test_app folder. I am trying to compile the file by using "make" ,  it will have the error: 

error: File not found within search paths: sgx_tsgxssl.edl

 

sgx_u.mk:127: recipe for target 'app/TestEnclave_u.c' failed

 

make[1]: *** [app/TestEnclave_u.c] Error 255

 

That's why I am trying to use edger8r tools to search path with sgx_tsgxssl.edl  

Am I missing something that cause this problem ? Since I can not link to the intel-sgx-ssl library by the instruction, is there something wrong I did?

 

THanks for your time and useful information again!

 

Best Wishes,

Klaus Li

 

0 Kudos
Scott_R_Intel
Employee
1,670 Views

Hi Klaus.

To be able to build the test_app, you need to have built and installed the entire sgxssl package.  These steps are documented on the GitHub page:

  1. From the intel-sgx-ssl/Linux folder
    1. ./build_openssl.sh
    2. make all test
    3. sudo make install
  2. From the intel-sgx-ssl/Linux/sgx/test_app folder
    1. make

Regards.

Scott

0 Kudos
Reply