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

undefined symbol: sgx_get_extended_epid_group_id

X99
New Contributor I
1,614 Views

Hi all,

I'm trying to get sgx-ra-sample to work, but when launching run-client, I get this error:

 

sgx_get_extended_epid_group_id: ./client: undefined symbol: sgx_get_extended_epid_group_id

 

I'm using Ubuntu 20.04/18.04 (tested on both, same issue) and installed Driver/SDK/PSW following these steps:

 

sudo apt-get install -y build-essential ocaml ocamlbuild automake autoconf libtool wget python-is-python3 libssl-dev git cmake perl libssl-dev libcurl4-openssl-dev protobuf-compiler libprotobuf-dev debhelper cmake reprepro unzip
git clone https://github.com/intel/linux-sgx.git

cd linux-sgx && make preparation
sudo cp external/toolset/ubuntu20.04/{as,ld,ld.gold,objdump} /usr/local/bin

wget https://download.01.org/intel-sgx/sgx-linux/2.13/distro/ubuntu20.04-server/sgx_linux_x64_driver_2.11.0_0373e2e.bin
wget https://download.01.org/intel-sgx/sgx-linux/2.13/distro/ubuntu20.04-server/sgx_linux_x64_sdk_2.13.100.4.bin
sudo chmod +x sgx_linux_x64_*

# create directory for SDK
sudo mkdir -p /opt/intel/

# on questions: "no" then "/opt/intel"
sudo ./sgx_linux_x64_sdk*.bin << 'EOF'
no
/opt/intel
EOF

echo "source /opt/intel/sgxsdk/environment" >> ~/.zshrc

# finally, install driver
sudo ./sgx_linux_x64_driver*.bin

# setup PSW repo
echo 'deb [arch=amd64] https://download.01.org/intel-sgx/sgx_repo/ubuntu focal main' | sudo tee /etc/apt/sources.list.d/intel-sgx.list
wget -qO - https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | sudo apt-key add -

sudo apt update
sudo apt install -y libsgx-launch libsgx-urts libsgx-epid libsgx-quote-ex libsgx-dcap-ql

 

I already ran a couple enclaves on this machine, so the setup shouldn't be an issue.

To investigate a bit more, I checked for EPID library:

 

ls /etc/ld.so.conf.d

 

tells me that the following path is configured:

 

/usr/lib/x86_64-linux-gnu

 

and this path contains all the libs needed:

 

cd /usr/lib/x86_64-linux-gnu/
ls -1 *sgx*

 

gives me:

 

libsgx_dcap_ql.so.1
libsgx_dcap_ql.so.1.10.100.4
libsgx_dcap_quoteverify.so.1
libsgx_dcap_quoteverify.so.1.10.100.4
libsgx_enclave_common.so.1
libsgx_enclave_common.so.1.0.114.4
libsgx_epid.so
libsgx_epid.so.1
libsgx_epid.so.1.0.109.4
libsgx_launch.so.1
libsgx_launch.so.1.0.109.4
libsgx_pce_logic.so
libsgx_pce.signed.so
libsgx_qe3_logic.so
libsgx_qe3.signed.so
libsgx_quote_ex.so.1
libsgx_quote_ex.so.1.1.109.4
libsgx_qve.signed.so
libsgx_urts.so
libsgx_urts.so.1
libsgx_urts.so.1.1.111.4

 

Ok, now if I check libsgx_epid.so:

 

readelf -Ws libsgx_epid.so | grep sgx_get_extended_epid_group_id

 

gives me

 

83: 000000000000d3b0 116 FUNC GLOBAL DEFAULT 14 sgx_get_extended_epid_group_id

 

Which is confirmed by:

scanelf -l -s sgx_get_extended_epid_group_id | grep sgx_get_extended_epid_group_id 

that gives me:

ET_DYN sgx_get_extended_epid_group_id /lib/x86_64-linux-gnu/libsgx_epid.so.1.0.109.4 
ET_DYN sgx_get_extended_epid_group_id /usr/lib/x86_64-linux-gnu/libsgx_epid.so.1.0.109.4 

 

So, from what I see:

  • client needs sgx_get_extended_epid_group_id from libsgx_epid.so, but complains that it can't find it
  • libsgx_epid.so is in a known library path, so client should find it
  • libsgx_epid.so definitely exports sgx_get_extended_epid_group_id.

I am for sure missing something, but what?

 

Labels (1)
0 Kudos
1 Solution
JesusG_Intel
Moderator
1,560 Views

Hello X99,


Try installing the libsgx-uae-service with: sudo apt-get install libsgx-uae-service


Sincerely,

Jesus G.

Intel Customer Support


View solution in original post

4 Replies
X99
New Contributor I
1,595 Views

Oh and also: compiling and running the RemoteAttestation sample from the SDK's install dir works perfectly fine, although it also uses sgx_get_extended_epid_group_id.

0 Kudos
JesusG_Intel
Moderator
1,561 Views

Hello X99,


Try installing the libsgx-uae-service with: sudo apt-get install libsgx-uae-service


Sincerely,

Jesus G.

Intel Customer Support


X99
New Contributor I
1,549 Views

It solved the issue! Thanks a lot!

0 Kudos
JesusG_Intel
Moderator
1,512 Views

This thread has been marked as answered and Intel will no longer monitor this thread. If you want a response from Intel in a follow-up question, please open a new thread.


0 Kudos
Reply