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

Unable to Compile Linux SDK

Elephant
Beginner
767 Views

Hi,

I was trying to recompile my linux sgx sdk but I am having problems with messages.cc.

I am getting the following error:

../../../psw/ae/common/proto/messages.pb.cc:1389:10: error: unused parameter ‘deterministic’ [-Werror=unused-parameter]
     bool deterministic, ::google::protobuf::uint8* target) const {

I have the following setup:

  • SGX version 1.8 (I tried 1.9 but was not working so reverted to 1.8 again with the same issue)
  • Linux 4.10.0-27-generic #30~16.04.2-Ubuntu SMP Thu Jun 29 16:07:46 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
  • libprotoc 3.3.0

I tried hacking the messages.pb.cc file to remote the reference to deterministic but I was having other errors.  Is there a fix for this issue?

Thanks!

Kind Regards,
Elephant


 

 

0 Kudos
3 Replies
Shivananda_H_Intel
767 Views

Hi Elephant,

I built linux sgx sdk master branch by cloning https://github.com/01org/linux-sgx.git  . Did not face any issue that you mentioned above.

Can you resync and try again ?

Regards

Shivananda

0 Kudos
Elephant
Beginner
767 Views

Hi Shivananda,

I tried it again with the clean repository.  Reinstalled protocol buffer 3.3.2 and here's the error that I got:

`google::protobuf::internal::fixed_address_empty_string[abi:cxx11]'
messages.pb.o:messages.pb.cc:(.text._ZN4aesm7message31Response_ExchangeReportResponseC2ERKS1_+0x48): more undefined references to `google::protobuf::internal::fixed_address_empty_string[abi:cxx11]' follow
messages.pb.o:(.data.rel.ro._ZTVN4aesm7message24Request_InitQuoteRequestE[_ZTVN4aesm7message24Request_InitQuoteRequestE]+0xb0): undefined reference to `google::protobuf::Message::SpaceUsedLong() const'
messages.pb.o:(.data.rel.ro._ZTVN4aesm7message23Request_GetQuoteRequestE[_ZTVN4aesm7message23Request_GetQuoteRequestE]+0xb0): undefined reference to `google::protobuf::Message::SpaceUsedLong() const'
messages.pb.o:(.data.rel.ro._ZTVN4aesm7message29Request_GetLaunchTokenRequestE[_ZTVN4aesm7message29Request_GetLaunchTokenRequestE]+0xb0): undefined reference to `google::protobuf::Message::SpaceUsedLong() const'
messages.pb.o:(.data.rel.ro._ZTVN4aesm7message37Request_ReportAttestationErrorRequestE[_ZTVN4aesm7message37Request_ReportAttestationErrorRequestE]+0xb0): undefined reference to `google::protobuf::Message::SpaceUsedLong() const'
messages.pb.o:(.data.rel.ro._ZTVN4aesm7message28Request_CreateSessionRequestE[_ZTVN4aesm7message28Request_CreateSessionRequestE]+0xb0): undefined reference to `google::protobuf::Message::SpaceUsedLong() const'
messages.pb.o:(.data.rel.ro._ZTVN4aesm7message28Request_InvokeServiceRequestE[_ZTVN4aesm7message28Request_InvokeServiceRequestE]+0xb0): more undefined references to `google::protobuf::Message::SpaceUsedLong() const' follow
collect2: error: ld returned 1 exit status
Makefile:319: recipe for target 'aesm_service' failed
make[3]: *** [aesm_service] Error 1
make[3]: Leaving directory '/home/rodel/Projects/scratchpad/linux-sgx/psw/ae/aesm_service'
Makefile:52: recipe for target 'AESM' failed
make[2]: *** [AESM] Error 2
make[2]: Leaving directory '/home/rodel/Projects/scratchpad/linux-sgx/psw/ae'
Makefile:52: recipe for target 'AE' failed
make[1]: *** [AE] Error 2
make[1]: Leaving directory '/home/rodel/Projects/scratchpad/linux-sgx/psw'
Makefile:38: recipe for target 'psw' failed
make: *** [psw] Error 2

Thanks.

Kind Regards,
Elephant

 

0 Kudos
Shivananda_H_Intel
767 Views

This is a protbuf issue. Either you have multiple versions and resulting in error.

There was some suggestion in below thread 

https://github.com/BVLC/caffe/issues/3046

"Please try to remove the os versions of protobuf in /usr/lib/x86_64-linux-gnu. (Something like libprotobuf.*libprotobuf-lite.*libprotoc.*). There are two versions of protobuf will cause conflicts when compiling.

Then try to install newest version of protobuf"

Regards

Shivananda

0 Kudos
Reply