<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Hi:  in Intel® Software Guard Extensions (Intel® SGX)</title>
    <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/using-CMake-to-complie-cause-SGX-ERROR-UNEXPECTED/m-p/1153908#M2665</link>
    <description>&lt;PRE class="brush:plain; class-name:dark;"&gt;Hi: 
&lt;STRONG&gt;The poroblem is that you didn't link the right sgx_utrs file.You can change your CmakeLists.txt as this. &lt;/STRONG&gt;
1 cmake_minimum_required(VERSION 2.8)
  2 SET(App_C_Flags "-m64 -fPIC -Wno-attributescmake")
  3 SET(App_Cpp_Flags "${App_C_Flags} -std=c++11")
  4 SET(CMAKE_CXX_FLAGS ${App_Cpp_Flags})
  5 SET(SGX_SDK /opt/intel/sgxsdk)
  6 SET(Urts_Library_Name sgx_urts)
  7 SET(Uservice_Library_Name sgx_uae_service)
  8 find_library(Urts sgx_urts "/lib64")
  9 SET(App_Link_Flags "-L/lib64 -l${Urts_Library_Name} -L${SGX_SDK}/lib64 -lpthread -l${Uservice_Library_Name}")
 10 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${App_Link_Flags}")
 11 include_directories (/opt/intel/sgxsdk/include)
 12 LINK_DIRECTORIES("/lib64")
 13
 14 add_library (enclave_untrusted enclave_u.c)
 15
 16 add_executable (app app.cpp)
 17
 18 target_link_libraries (app enclave_untrusted ${Urts} sgx_ukey_exchange sgx_uae_service pthread)&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 07 Mar 2019 09:19:05 GMT</pubDate>
    <dc:creator>you_w_</dc:creator>
    <dc:date>2019-03-07T09:19:05Z</dc:date>
    <item>
      <title>using CMake to complie cause SGX_ERROR_UNEXPECTED ?</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/using-CMake-to-complie-cause-SGX-ERROR-UNEXPECTED/m-p/1153906#M2663</link>
      <description>&lt;P&gt;&amp;nbsp; Today i found a problem in my code. It return SGX_ERROR_UNEXPECTED when i call sgx_create_enclave in some situations. I think there are something wrong in my CMakeLists.txt( I use cmake to compile the untrusted part in my project), because code run correctly when i use the template Makefile in sdk example to compile. More detail blow:&lt;/P&gt;&lt;P&gt;&amp;nbsp; code available here (i have remove all unnecessary code):&amp;nbsp; &lt;A href="https://github.com/chilogen/workspace/tree/master/error/SimpleEnclave" target="_blank"&gt;https://github.com/chilogen/workspace/tree/master/error/SimpleEnclave&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; code will run success in below situations:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * compile with Makefile&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * compile with cmake and comment out app.cpp:20&lt;/P&gt;&lt;P&gt;&amp;nbsp; code will return error in below situation:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * compile with cmake and do not comment out app.cpp:20&lt;/P&gt;&lt;P&gt;&amp;nbsp; So, what is wrong in my code (or CMakeLists.txt), how should i do?&lt;/P&gt;&lt;P&gt;&amp;nbsp; I will be so thankful if your get me some idea about it.&lt;/P&gt;&lt;P&gt;update : paste code here&lt;/P&gt;&lt;P&gt;app.cpp&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#include "enclave_u.h"&lt;BR /&gt;#include &amp;lt;sgx_urts.h&amp;gt;&lt;BR /&gt;#include &amp;lt;sgx_uae_service.h&amp;gt;&lt;BR /&gt;#include &amp;lt;sgx_ukey_exchange.h&amp;gt;&lt;BR /&gt;#include &amp;lt;iostream&amp;gt;&lt;/P&gt;&lt;P&gt;using&amp;nbsp; namespace std;&lt;BR /&gt;class testClass {&lt;BR /&gt;public:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sgx_launch_token_t _token = {0};&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sgx_enclave_id_t _eid;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sgx_ra_context_t _ctx;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void init_enclave();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool request(uint8_t *src, uint32_t srcLen, uint8_t *cmac);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //will set _ctx here&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //void do_attestation();&lt;BR /&gt;}x;&lt;BR /&gt;bool testClass::request(uint8_t *src, uint32_t srcLen, uint8_t *cmac) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sgx_status_t retval,status;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = ecall_calcmac(_eid, &amp;amp;retval,&amp;amp;_ctx, SGX_RA_KEY_SK, src, srcLen, cmac);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;BR /&gt;}&lt;BR /&gt;void testClass::init_enclave(){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sgx_enclave_id_t global_eid;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sgx_launch_token_t token={0};&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sgx_status_t ret;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int updated=0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret=sgx_create_enclave("enclave.signed.so",SGX_DEBUG_FLAG, \&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;amp;token,&amp;amp;updated,&amp;amp;global_eid,NULL);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(ret!=SGX_SUCCESS){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; std::cout&amp;lt;&amp;lt;"error init enclavedsfdsf\n";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("%08x\n",ret);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit(1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;int main(){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; x.init_enclave();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;CMakeLists.txt (code return error code 0000001)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;include_directories (/opt/intel/sgxsdk/include)&lt;/P&gt;&lt;P&gt;link_directories (/opt/intel/sgxsdk/lib64)&lt;/P&gt;&lt;P&gt;add_library (enclave_untrusted enclave_u.c)&lt;/P&gt;&lt;P&gt;add_executable (app app.cpp)&lt;/P&gt;&lt;P&gt;target_link_libraries (app enclave_untrusted sgx_ukey_exchange sgx_urts sgx_uae_service pthread)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;compile.sh (or Makefile , program run correctly)&lt;/P&gt;&lt;P&gt;gcc -c -I /opt/intel/sgxsdk/include/ -o enclave_u.o enclave_u.c g++ -c app.cpp -o app.o -I /opt/intel/sgxsdk/include/ g++ -o app app.o enclave_u.o -L /opt/intel/sgxsdk/lib64 -lsgx_urts -lsgx_ukey_exchange -lsgx_uae_service -pthread&lt;/P&gt;</description>
      <pubDate>Sun, 17 Feb 2019 15:54:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/using-CMake-to-complie-cause-SGX-ERROR-UNEXPECTED/m-p/1153906#M2663</guid>
      <dc:creator>siqian__wei</dc:creator>
      <dc:date>2019-02-17T15:54:33Z</dc:date>
    </item>
    <item>
      <title>problem have been solved on</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/using-CMake-to-complie-cause-SGX-ERROR-UNEXPECTED/m-p/1153907#M2664</link>
      <description>&lt;P&gt;problem have been solved on stackoverflow by guillaume-racicot. Refer to &lt;A href="https://stackoverflow.com/questions/54735200/using-cmake-to-complie-cause-sgx-error-unexpected" target="_blank"&gt;https://stackoverflow.com/questions/54735200/using-cmake-to-complie-cause-sgx-error-unexpected&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 18 Feb 2019 15:55:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/using-CMake-to-complie-cause-SGX-ERROR-UNEXPECTED/m-p/1153907#M2664</guid>
      <dc:creator>siqian__wei</dc:creator>
      <dc:date>2019-02-18T15:55:45Z</dc:date>
    </item>
    <item>
      <title>Hi:</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/using-CMake-to-complie-cause-SGX-ERROR-UNEXPECTED/m-p/1153908#M2665</link>
      <description>&lt;PRE class="brush:plain; class-name:dark;"&gt;Hi: 
&lt;STRONG&gt;The poroblem is that you didn't link the right sgx_utrs file.You can change your CmakeLists.txt as this. &lt;/STRONG&gt;
1 cmake_minimum_required(VERSION 2.8)
  2 SET(App_C_Flags "-m64 -fPIC -Wno-attributescmake")
  3 SET(App_Cpp_Flags "${App_C_Flags} -std=c++11")
  4 SET(CMAKE_CXX_FLAGS ${App_Cpp_Flags})
  5 SET(SGX_SDK /opt/intel/sgxsdk)
  6 SET(Urts_Library_Name sgx_urts)
  7 SET(Uservice_Library_Name sgx_uae_service)
  8 find_library(Urts sgx_urts "/lib64")
  9 SET(App_Link_Flags "-L/lib64 -l${Urts_Library_Name} -L${SGX_SDK}/lib64 -lpthread -l${Uservice_Library_Name}")
 10 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${App_Link_Flags}")
 11 include_directories (/opt/intel/sgxsdk/include)
 12 LINK_DIRECTORIES("/lib64")
 13
 14 add_library (enclave_untrusted enclave_u.c)
 15
 16 add_executable (app app.cpp)
 17
 18 target_link_libraries (app enclave_untrusted ${Urts} sgx_ukey_exchange sgx_uae_service pthread)&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 07 Mar 2019 09:19:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/using-CMake-to-complie-cause-SGX-ERROR-UNEXPECTED/m-p/1153908#M2665</guid>
      <dc:creator>you_w_</dc:creator>
      <dc:date>2019-03-07T09:19:05Z</dc:date>
    </item>
  </channel>
</rss>

