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

Linux Tools and Open Source Development

cory_s_1
Beginner
2,185 Views

Linux development tools are coming soon, and whether they will support open source (and license free) development

I had read another post asking when the Linux tools would be released for the SGX chips. An answer of June 2016 was given, which is a tad nebulous. I work as a researcher at a university and we are planning to conduct some work using the SGX instructions, however all the information I have seen so far relating to usage of the development kit has implied that there may be restrictions on what may be done without licensing the SDK.

Are there plans to be friendly towards open source development and how soon in June 2016 will we see some information about the Linux tools?

Cheers!

0 Kudos
1 Solution
Surenthar_S_Intel
2,159 Views

Update:

Intel SGX SDK for Linux* OS open source project is now live at:  https://01.org/intel-softwareguard-eXtensions

View solution in original post

0 Kudos
22 Replies
cory_s_1
Beginner
1,874 Views

Thanks Surenthar, however I have already read that post. I was just clamoring for more information, haha.

I suppose I will just have to hold tight and await the information. Do you have any reference regarding open source development with SGX? In particular how restricted the SDK will be for non-ISV partners, I have not been able to test things out myself yet since we are holding of on purchasing any hardware until we have more clear information.

 

0 Kudos
Surenthar_S_Intel
1,874 Views

Hi Cory,

The initial code base should be considered ‘Beta’ quality and has been validated on Intel® 6th Gen Core based platforms that support Intel® SGX that is nearing release. It should be ready soon (weeks, not months).

Thanks and Regards,
Surenthar Selvaraj

0 Kudos
cory_s_1
Beginner
1,874 Views

Thank you very much Surenthar!

0 Kudos
Surenthar_S_Intel
2,160 Views

Update:

Intel SGX SDK for Linux* OS open source project is now live at:  https://01.org/intel-softwareguard-eXtensions

0 Kudos
cory_s_1
Beginner
1,874 Views

Thanks again Surenthar. That is great news, I can't wait to check it out!

0 Kudos
shivani_g_
Beginner
1,874 Views

Hi

The eclipse plugin provided with SGX SDK for Linux* OS, only installs SGX user guide and there are no SGX tools available with plugin. How do I get that?

Thank You

0 Kudos
Surenthar_S_Intel
1,874 Views

Hi Sivani,

The eclipse plugin build from commandline requires the following variables to be set

$ECLIPSE_HOME - Path to eclipse home. In order to build the plugin eclipse needs to be installed.
$RELEASE_ID - The release id for the plugin.

The plugin has been tested with the following Eclipse ADT version

Build: v22.3.0-887826

The following plugins are pre-requisites to be installed in Eclipse before trying to build the plugin.

1. Eclipse IDE for C/C++ Developers  4.5.1.20150917-1200 (tested_version)
2. Eclipse PDE Plug-in Developer Resources   3.11.1.v20150904-0345 (tested_version)

If the sgx eclipse plugin is already installed to eclipse and to build and install a newer version, uninstall the old version and start eclipse with the -clean option.
Then try to build the new version of the plugin and install it in eclipse.

http://wiki.eclipse.org/FAQ_How_do_I_remove_a_plug-in%3F

Once the build script is run, the folder build_directory/updatesite/sgx-eclipse-plugin contains the update site. This is the path that needs to be provided to the eclipse while doing installation.

Thanks and Regards,
Surenthar Selvaraj

0 Kudos
shivani_g_
Beginner
1,874 Views

Hi Surenthar,

I am not sure what is the release id of the plugin.

When I try to build it, it uses default release_id but gives the following error :

echo 'Mandatory Jenkins parameter '\''$DELETE_CURRENT_ECLIPSE'\'' not set !'
Mandatory Jenkins parameter '$DELETE_CURRENT_ECLIPSE' not set !

Thank You

0 Kudos
Esmond_L_
Beginner
1,874 Views

I'm very new to the SGX ecosystem and am trying to learn by example.

I currently have Eclipse Mars (Eclipse IDE for C/C++ Developers 4.5.2) installed on an Ubuntu 14.04.5 LTS VM. I've also installed the SGX Eclipse plugin manually by adding it as an archive (after downloading it from https://01.org/intel-software-guard-extensions/downloads/intel-sgx-sdk-linux-1.5-beta-release. ;

I've checked out the SDK, and built some of the example projects on the command line successfully. I tried importing the SampleEnclave (from the SDK) project to get a feel of the code but the only available import options I see are via a Makefile. After importing the SampleEnclave project into Eclipse as an existing Makefile project, there are multiple "could not be resolved" errors. Is this something that the plugin is supposed to address? I don't see anything obvious (toolbars, wizards) that were enabled with the plugin.

Any help or direction would be appreciated. Thanks!

 

0 Kudos
Esmond_L_
Beginner
1,874 Views

Didn't realize there were already eclipse projects set up in the examples and that I just needed to import them. However, I am curious what added value the SGX Eclipse plugin provides because I am unable to see any SGX related properties or wizards within eclipse.

Esmond L. wrote:

I'm very new to the SGX ecosystem and am trying to learn by example.

I currently have Eclipse Mars (Eclipse IDE for C/C++ Developers 4.5.2) installed on an Ubuntu 14.04.5 LTS VM. I've also installed the SGX Eclipse plugin manually by adding it as an archive (after downloading it from https://01.org/intel-software-guard-extensions/downloads/intel-sgx-sdk-l...

I've checked out the SDK, and built some of the example projects on the command line successfully. I tried importing the SampleEnclave (from the SDK) project to get a feel of the code but the only available import options I see are via a Makefile. After importing the SampleEnclave project into Eclipse as an existing Makefile project, there are multiple "could not be resolved" errors. Is this something that the plugin is supposed to address? I don't see anything obvious (toolbars, wizards) that were enabled with the plugin.

Any help or direction would be appreciated. Thanks!

 

0 Kudos
Surenthar_S_Intel
1,874 Views

Esmond L. wrote:

Didn't realize there were already eclipse projects set up in the examples and that I just needed to import them. However, I am curious what added value the SGX Eclipse plugin provides because I am unable to see any SGX related properties or wizards within eclipse.

Quote:

Esmond L. wrote:

 

I'm very new to the SGX ecosystem and am trying to learn by example.

I currently have Eclipse Mars (Eclipse IDE for C/C++ Developers 4.5.2) installed on an Ubuntu 14.04.5 LTS VM. I've also installed the SGX Eclipse plugin manually by adding it as an archive (after downloading it from https://01.org/intel-software-guard-extensions/downloads/intel-sgx-sdk-l...

I've checked out the SDK, and built some of the example projects on the command line successfully. I tried importing the SampleEnclave (from the SDK) project to get a feel of the code but the only available import options I see are via a Makefile. After importing the SampleEnclave project into Eclipse as an existing Makefile project, there are multiple "could not be resolved" errors. Is this something that the plugin is supposed to address? I don't see anything obvious (toolbars, wizards) that were enabled with the plugin.

Any help or direction would be appreciated. Thanks!

 

Hi,

Added value the SGX Eclipse plugin provides below

 

The Intel(R) Software Guard Extensions Eclipse* Plug-in for Linux* OS helps the enclave developer to maintain enclaves and untrusted related code inside Eclipse* C/C++ projects.

This section contains steps to set up your Intel(R) Software Guard Extensions Eclipse* Plugin on a Linux* system, including necessary softwares, steps to install the product, and steps to configure your preferred product directory.

 

Please find the below link for more reference in "Install Intel(R) Software Guard Extensions Eclipse* Plug-in" section

https://01.org/sites/default/files/documentation/intel_sgx_sdk_installation_guide_for_linux_os.pdf 

 

Thanks and Regards,

Surenthar Selvaraj

0 Kudos
Esmond_L_
Beginner
1,874 Views

Hi Surenthar,

I've followed the documentation that you linked and while the plugin seems to be installed, I do not see the SGX preferences as stated in the document. I don't have the driver or the PSW installed as I am trying to set up a development environment in a VM. I've verified that all the prerequisite software has been installed. I've tried loading the eclipse projects in the sample code but still see a lot of dependency resolving issues. Please advise.

Esmond

0 Kudos
Surenthar_S_Intel
1,874 Views

Esmond L. wrote:

Hi Surenthar,

I've followed the documentation that you linked and while the plugin seems to be installed, I do not see the SGX preferences as stated in the document. I don't have the driver or the PSW installed as I am trying to set up a development environment in a VM. I've verified that all the prerequisite software has been installed. I've tried loading the eclipse projects in the sample code but still see a lot of dependency resolving issues. Please advise.

Esmond

Try to uninstall Eclipse application, SGX SDK as well and start a clean installation following the installation guide. We recommend to install Eclipse , Eclipse Plugin for SGX, SDK SDK in order respectively. Make sure to satisfy the system pre-requisites mentioned in the guide.

-Surenthar.

0 Kudos
Surenthar_S_Intel
1,874 Views

shivani g. wrote:

Hi Surenthar,

I am not sure what is the release id of the plugin.

When I try to build it, it uses default release_id but gives the following error :

echo 'Mandatory Jenkins parameter '\''$DELETE_CURRENT_ECLIPSE'\'' not set !'
Mandatory Jenkins parameter '$DELETE_CURRENT_ECLIPSE' not set !

Thank You

Can you provide the details of your OS and also the version of eclipse that you are working on.

Note: SGX Eclipse plugin works on Eclipse Mars 1.0 as mentioned in the SGX SDK Linux documentation. Eclipse has a dependency on Java. Ensure you have the right java version for your Eclipse

-Surenthar.

0 Kudos
Surenthar_S_Intel
1,874 Views

shivani g. wrote:

Hi Surenthar,

I am not sure what is the release id of the plugin.

When I try to build it, it uses default release_id but gives the following error :

echo 'Mandatory Jenkins parameter '\''$DELETE_CURRENT_ECLIPSE'\'' not set !'
Mandatory Jenkins parameter '$DELETE_CURRENT_ECLIPSE' not set !

Thank You

As it turns out, the biggestissue with the Eclipse-Plugin is that its unable to be built based on the build scripts that are provided on git-hub.  Ultimately, the scripts are intended for our internal build system and doesn’t work for a developer who just downloaded the sources.

 

I got the plug-in to build by:

  • Setting the two environment variable:
    • % export $RELEASE_ID=Linux_SGX_1.5
    • % export $ECLIPSE_HOME=/home/<user>/eclipse

 

This will be fixed in the SDK/PSW v1.7 build the dev team is planning to update GitHub with sometime in Oct/Nov timeframe.

 

-Surenthar

0 Kudos
Francisco_R_1
Beginner
1,874 Views

Hi Surenthar,

I am unable to build the eclipse plugin. It does not even show up in the listing under available software when I select the zip file. Already tried the fix you described in your latest post.

Here's my setup:

  • Ubuntu 14.04.5
  • SDK/PSW 1.6
  • Eclipse & PDE as specified in the readme.txt
  • $RELEASE_ID=Linux_SGX_1.6
  • $ECLIPSE_HOME=<my_eclipse_path>
  • $DELETE_CURRENT_ECLIPSE=false

Thank you for your time.

Francisco

0 Kudos
Surenthar_S_Intel
1,874 Views

Please follow the Readme.md file instruction from below link to build the complete Intel SGX.

https://github.com/01org/linux-sgx

To Build the SGX Eclipse floow the below link

https://github.com/01org/linux-sgx/tree/master/Linux_SGXEclipsePlugin

-Surenthar

0 Kudos
Francisco_R_1
Beginner
1,874 Views

I followed all the steps. Everything builds fine, but when I select the file under 'build_directory/updatesite/sgx-eclipse-plugin' the list returns empty. I get 'there are no items available' instead. Did you experience that before? I even carefully selected the versions for Eclise PDE.

Thank you,

Francisco

0 Kudos
Surenthar_S_Intel
1,681 Views

I got the plug-in to build by:

  • Setting the two environment variable:
    • % export $RELEASE_ID=Linux_SGX_1.6
    • % export $ECLIPSE_HOME=/home/<user>/eclipse

 

-Surenthar

 

0 Kudos
Reply