Hi all
Thanks for all your responses I am trying everything you all sent me. I am a EE not super familiar with make or meson so I am learning as I go...
For references ">>$" is the command run
I was replacing in paths "roberto" with "user" but at this point there where to many to keep doing it manually
My setup is:
Ubuntu 20 LTS
Intel Core i9-9980HK
Running Bare Metal
Here some out puts from meson after re-running it:
>>$ meson --reconfigure build -Ddirect=enabled -Dsgx=enabled
The Meson build system
Version: 0.53.2
Source dir: /home/user/graphene
Build dir: /home/user/graphene/build
Build type: native build
Project name: graphene
Project version: 1.0
C compiler for the host machine: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0")
C linker for the host machine: cc ld.bfd 2.34
Host machine cpu family: x86_64
Host machine cpu: x86_64
DEPRECATION: Project targeting '>=0.45' but tried to use feature deprecated since '0.48.0': python3 module
Program /bin/sh found: YES (/bin/sh)
Configuring graphene-direct using configuration
Configuring graphene-sgx using configuration
Configuring __init__.py using configuration
Configuring _offsets.py using configuration
python/graphenelibos/meson.build:20: WARNING: Got an empty configuration_data() object and found no substitutions in the input file 'generated_offsets.py'. If you want to copy a file to the build dir, use the 'copy:' keyword argument added in 0.47.0
Build targets in project: 0
WARNING: Deprecated features used:
* 0.48.0: {'python3 module'}
Found ninja-1.10.0 at /usr/bin/ninja
>>$ ninja -C build
ninja: Entering directory `build'
[0/1] Regenerating build files.
The Meson build system
Version: 0.53.2
Source dir: /home/user/graphene
Build dir: /home/user/graphene/build
Build type: native build
Project name: graphene
Project version: 1.0
C compiler for the host machine: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0")
C linker for the host machine: cc ld.bfd 2.34
Host machine cpu family: x86_64
Host machine cpu: x86_64
DEPRECATION: Project targeting '>=0.45' but tried to use feature deprecated since '0.48.0': python3 module
Program /bin/sh found: YES (/bin/sh)
Configuring graphene-direct using configuration
Configuring graphene-sgx using configuration
Configuring __init__.py using configuration
Configuring _offsets.py using configuration
python/graphenelibos/meson.build:20: WARNING: Got an empty configuration_data() object and found no substitutions in the input file 'generated_offsets.py'. If you want to copy a file to the build dir, use the 'copy:' keyword argument added in 0.47.0
Build targets in project: 0
WARNING: Deprecated features used:
* 0.48.0: {'python3 module'}
Found ninja-1.10.0 at /usr/bin/ninja
ninja: no work to do.
>>sudo ninja -C build install
ninja: Entering directory `build'
[0/1] Regenerating build files.
The Meson build system
Version: 0.53.2
Source dir: /home/user/graphene
Build dir: /home/user/graphene/build
Build type: native build
Project name: graphene
Project version: 1.0
C compiler for the host machine: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0")
C linker for the host machine: cc ld.bfd 2.34
Host machine cpu family: x86_64
Host machine cpu: x86_64
DEPRECATION: Project targeting '>=0.45' but tried to use feature deprecated since '0.48.0': python3 module
Program /bin/sh found: YES (/bin/sh)
Configuring graphene-direct using configuration
Configuring graphene-sgx using configuration
Configuring __init__.py using configuration
Configuring _offsets.py using configuration
python/graphenelibos/meson.build:20: WARNING: Got an empty configuration_data() object and found no substitutions in the input file 'generated_offsets.py'. If you want to copy a file to the build dir, use the 'copy:' keyword argument added in 0.47.0
Build targets in project: 0
WARNING: Deprecated features used:
* 0.48.0: {'python3 module'}
Found ninja-1.10.0 at /usr/bin/ninja
[0/1] Installing files.
Installing subdir /home/roberto/graphene/Runtime/../Pal/src/host/Linux/gdb_integration to /usr/local/lib/x86_64-linux-gnu/graphene/direct/gdb_integration
Installing /home/roberto/graphene/Runtime/../Pal/src/host/Linux/gdb_integration/graphene_linux_gdb.py to /usr/local/lib/x86_64-linux-gnu/graphene/direct/gdb_integration
Installing subdir /home/roberto/graphene/Runtime/../Pal/gdb_integration to /usr/local/lib/x86_64-linux-gnu/graphene/direct/gdb_integration/common
Installing /home/roberto/graphene/Runtime/../Pal/gdb_integration/pagination_gdb.py to /usr/local/lib/x86_64-linux-gnu/graphene/direct/gdb_integration/common
Installing /home/roberto/graphene/Runtime/../Pal/gdb_integration/graphene.gdb to /usr/local/lib/x86_64-linux-gnu/graphene/direct/gdb_integration/common
Installing /home/roberto/graphene/Runtime/../Pal/gdb_integration/debug_map_gdb.py to /usr/local/lib/x86_64-linux-gnu/graphene/direct/gdb_integration/common
Installing subdir /home/roberto/graphene/Runtime/../Pal/src/host/Linux-SGX/gdb_integration to /usr/local/lib/x86_64-linux-gnu/graphene/sgx/gdb_integration
Installing /home/roberto/graphene/Runtime/../Pal/src/host/Linux-SGX/gdb_integration/sgx_gdb.d to /usr/local/lib/x86_64-linux-gnu/graphene/sgx/gdb_integration
Installing /home/roberto/graphene/Runtime/../Pal/src/host/Linux-SGX/gdb_integration/sgx_gdb.so to /usr/local/lib/x86_64-linux-gnu/graphene/sgx/gdb_integration
Installing /home/roberto/graphene/Runtime/../Pal/src/host/Linux-SGX/gdb_integration/sgx_gdb.c to /usr/local/lib/x86_64-linux-gnu/graphene/sgx/gdb_integration
Installing /home/roberto/graphene/Runtime/../Pal/src/host/Linux-SGX/gdb_integration/graphene_sgx_gdb.py to /usr/local/lib/x86_64-linux-gnu/graphene/sgx/gdb_integration
Installing /home/roberto/graphene/Runtime/../Pal/src/host/Linux-SGX/gdb_integration/sgx_gdb.h to /usr/local/lib/x86_64-linux-gnu/graphene/sgx/gdb_integration
Installing /home/roberto/graphene/Runtime/../Pal/src/host/Linux-SGX/gdb_integration/graphene_sgx.gdb to /usr/local/lib/x86_64-linux-gnu/graphene/sgx/gdb_integration
Installing subdir /home/roberto/graphene/Runtime/../Pal/gdb_integration to /usr/local/lib/x86_64-linux-gnu/graphene/sgx/gdb_integration/common
Installing /home/roberto/graphene/Runtime/../Pal/gdb_integration/pagination_gdb.py to /usr/local/lib/x86_64-linux-gnu/graphene/sgx/gdb_integration/common
Installing /home/roberto/graphene/Runtime/../Pal/gdb_integration/graphene.gdb to /usr/local/lib/x86_64-linux-gnu/graphene/sgx/gdb_integration/common
Installing /home/roberto/graphene/Runtime/../Pal/gdb_integration/debug_map_gdb.py to /usr/local/lib/x86_64-linux-gnu/graphene/sgx/gdb_integration/common
Installing /home/roberto/graphene/LibOS/shim/src/libsysdb.so to /usr/local/lib/x86_64-linux-gnu/graphene
Installing /home/roberto/graphene/LibOS/glibc-build/csu/crt1.o to /usr/local/lib/x86_64-linux-gnu/graphene/runtime/glibc
Installing /home/roberto/graphene/LibOS/glibc-build/csu/crti.o to /usr/local/lib/x86_64-linux-gnu/graphene/runtime/glibc
Installing /home/roberto/graphene/LibOS/glibc-build/csu/crtn.o to /usr/local/lib/x86_64-linux-gnu/graphene/runtime/glibc
Installing /home/roberto/graphene/LibOS/glibc-build/dlfcn/libdl.so.2 to /usr/local/lib/x86_64-linux-gnu/graphene/runtime/glibc
Warning: trying to copy a symlink that points to a file. This will copy the file,
but this will be changed in a future version of Meson to copy the symlink as is. Please update your
build definitions so that it will not break when the change happens.
Installing /home/roberto/graphene/LibOS/glibc-build/libc.so to /usr/local/lib/x86_64-linux-gnu/graphene/runtime/glibc
Installing /home/roberto/graphene/LibOS/glibc-build/libc.so.6 to /usr/local/lib/x86_64-linux-gnu/graphene/runtime/glibc
Warning: trying to copy a symlink that points to a file. This will copy the file,
but this will be changed in a future version of Meson to copy the symlink as is. Please update your
build definitions so that it will not break when the change happens.
Installing /home/roberto/graphene/LibOS/glibc-build/login/libutil.so.1 to /usr/local/lib/x86_64-linux-gnu/graphene/runtime/glibc
Warning: trying to copy a symlink that points to a file. This will copy the file,
but this will be changed in a future version of Meson to copy the symlink as is. Please update your
build definitions so that it will not break when the change happens.
Installing /home/roberto/graphene/LibOS/glibc-build/math/libm.so.6 to /usr/local/lib/x86_64-linux-gnu/graphene/runtime/glibc
Warning: trying to copy a symlink that points to a file. This will copy the file,
but this will be changed in a future version of Meson to copy the symlink as is. Please update your
build definitions so that it will not break when the change happens.
Installing /home/roberto/graphene/LibOS/glibc-build/mathvec/libmvec.so.1 to /usr/local/lib/x86_64-linux-gnu/graphene/runtime/glibc
Warning: trying to copy a symlink that points to a file. This will copy the file,
but this will be changed in a future version of Meson to copy the symlink as is. Please update your
build definitions so that it will not break when the change happens.
Installing /home/roberto/graphene/LibOS/glibc-build/nis/libnsl.so.1 to /usr/local/lib/x86_64-linux-gnu/graphene/runtime/glibc
Warning: trying to copy a symlink that points to a file. This will copy the file,
but this will be changed in a future version of Meson to copy the symlink as is. Please update your
build definitions so that it will not break when the change happens.
Installing /home/roberto/graphene/LibOS/glibc-build/nptl/libpthread.so.0 to /usr/local/lib/x86_64-linux-gnu/graphene/runtime/glibc
Warning: trying to copy a symlink that points to a file. This will copy the file,
but this will be changed in a future version of Meson to copy the symlink as is. Please update your
build definitions so that it will not break when the change happens.
Installing /home/roberto/graphene/LibOS/glibc-build/nptl_db/libthread_db.so.1 to /usr/local/lib/x86_64-linux-gnu/graphene/runtime/glibc
Warning: trying to copy a symlink that points to a file. This will copy the file,
but this will be changed in a future version of Meson to copy the symlink as is. Please update your
build definitions so that it will not break when the change happens.
Installing /home/roberto/graphene/LibOS/glibc-build/nss/libnss_compat.so.2 to /usr/local/lib/x86_64-linux-gnu/graphene/runtime/glibc
Warning: trying to copy a symlink that points to a file. This will copy the file,
but this will be changed in a future version of Meson to copy the symlink as is. Please update your
build definitions so that it will not break when the change happens.
Installing /home/roberto/graphene/LibOS/glibc-build/nss/libnss_db.so.2 to /usr/local/lib/x86_64-linux-gnu/graphene/runtime/glibc
Warning: trying to copy a symlink that points to a file. This will copy the file,
but this will be changed in a future version of Meson to copy the symlink as is. Please update your
build definitions so that it will not break when the change happens.
Installing /home/roberto/graphene/LibOS/glibc-build/nss/libnss_files.so.2 to /usr/local/lib/x86_64-linux-gnu/graphene/runtime/glibc
Warning: trying to copy a symlink that points to a file. This will copy the file,
but this will be changed in a future version of Meson to copy the symlink as is. Please update your
build definitions so that it will not break when the change happens.
Installing /home/roberto/graphene/LibOS/glibc-build/resolv/libanl.so.1 to /usr/local/lib/x86_64-linux-gnu/graphene/runtime/glibc
Warning: trying to copy a symlink that points to a file. This will copy the file,
but this will be changed in a future version of Meson to copy the symlink as is. Please update your
build definitions so that it will not break when the change happens.
Installing /home/roberto/graphene/LibOS/glibc-build/resolv/libnss_dns.so.2 to /usr/local/lib/x86_64-linux-gnu/graphene/runtime/glibc
Warning: trying to copy a symlink that points to a file. This will copy the file,
but this will be changed in a future version of Meson to copy the symlink as is. Please update your
build definitions so that it will not break when the change happens.
Installing /home/roberto/graphene/LibOS/glibc-build/resolv/libresolv.so.2 to /usr/local/lib/x86_64-linux-gnu/graphene/runtime/glibc
Warning: trying to copy a symlink that points to a file. This will copy the file,
but this will be changed in a future version of Meson to copy the symlink as is. Please update your
build definitions so that it will not break when the change happens.
Installing /home/roberto/graphene/LibOS/glibc-build/rt/librt.so.1 to /usr/local/lib/x86_64-linux-gnu/graphene/runtime/glibc
Warning: trying to copy a symlink that points to a file. This will copy the file,
but this will be changed in a future version of Meson to copy the symlink as is. Please update your
build definitions so that it will not break when the change happens.
Installing /home/roberto/graphene/LibOS/glibc-build/elf/ld-linux-x86-64.so.2 to /usr/local/lib/x86_64-linux-gnu/graphene/runtime/glibc
Warning: trying to copy a symlink that points to a file. This will copy the file,
but this will be changed in a future version of Meson to copy the symlink as is. Please update your
build definitions so that it will not break when the change happens.
Installing /home/roberto/graphene/Runtime/../Pal/src/host/Linux/libpal.so to /usr/local/lib/x86_64-linux-gnu/graphene/direct
Installing /home/roberto/graphene/build/Runtime/graphene-direct to /usr/local/bin
Installing /home/roberto/graphene/Runtime/../Pal/src/host/Linux-SGX/pal-sgx to /usr/local/lib/x86_64-linux-gnu/graphene/sgx
Installing /home/roberto/graphene/Runtime/../Pal/src/host/Linux-SGX/libpal.so to /usr/local/lib/x86_64-linux-gnu/graphene/sgx
Installing /home/roberto/graphene/build/Runtime/graphene-sgx to /usr/local/bin
Installing /home/roberto/graphene/build/python/graphenelibos/__init__.py to /usr/local/lib/python3.8/site-packages/graphenelibos
Installing /home/roberto/graphene/python/graphenelibos/manifest.py to /usr/local/lib/python3.8/site-packages/graphenelibos
Installing /home/roberto/graphene/build/python/graphenelibos/_offsets.py to /usr/local/lib/python3.8/site-packages/graphenelibos
Installing /home/roberto/graphene/python/graphenelibos/_aesm_pb2.py to /usr/local/lib/python3.8/site-packages/graphenelibos
Installing /home/roberto/graphene/python/graphenelibos/sgx_get_token.py to /usr/local/lib/python3.8/site-packages/graphenelibos
Installing /home/roberto/graphene/python/graphenelibos/sgx_sign.py to /usr/local/lib/python3.8/site-packages/graphenelibos
Installing /home/roberto/graphene/python/graphene-manifest to /usr/local/bin
Installing /home/roberto/graphene/python/graphene-sgx-get-token to /usr/local/bin
Installing /home/roberto/graphene/python/graphene-sgx-sign to /usr/local/bin
Running custom install script '/bin/sh -c ln -s libpal.so "$MESON_INSTALL_DESTDIR_PREFIX"/lib/x86_64-linux-gnu/graphene/direct/loader'
ln: failed to create symbolic link '/usr/local/lib/x86_64-linux-gnu/graphene/direct/loader': File exists
FAILED: meson-install
/usr/bin/meson install --no-rebuild
ninja: build stopped: subcommand failed.
@Wojtek Porczyk Not sure what graphenelibos package should look like can you confirm if is there?
>>$ python3 -c 'import sys; print(sys.path)'
['', '/usr/lib/python38.zip', '/usr/lib/python3.8', '/usr/lib/python3.8/lib-dynload', '/home/roberto/.local/lib/python3.8/site-packages', '/usr/local/lib/python3.8/dist-packages', '/usr/lib/python3/dist-packages']
@dmitrii.kuvaiskii
Had /dev/isgx used the unistall.sh and installed DCAP what is the preffered for graphene development?
>>$ make ISGX_DRIVER_PATH=/usr/src/sgx-1.41/ SGX=1
make -C Scripts all
make[1]: Entering directory '/home/roberto/graphene/Scripts'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/roberto/graphene/Scripts'
make -C Pal all
make[1]: Entering directory '/home/roberto/graphene/Pal'
make -C src
make[2]: Entering directory '/home/roberto/graphene/Pal/src'
make -C ../lib target=/home/roberto/graphene/Pal/src/host/Linux-SGX/.lib/
make[3]: Entering directory '/home/roberto/graphene/Pal/lib'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/roberto/graphene/Pal/lib'
make[3]: Entering directory '/home/roberto/graphene/Pal/src/host/Linux-SGX'
make -C tools
make[4]: Entering directory '/home/roberto/graphene/Pal/src/host/Linux-SGX/tools'
make -C common all
make[5]: Entering directory '/home/roberto/graphene/Pal/src/host/Linux-SGX/tools/common'
make[5]: Nothing to be done for 'all'.
make[5]: Leaving directory '/home/roberto/graphene/Pal/src/host/Linux-SGX/tools/common'
make -C is-sgx-available all
make[5]: Entering directory '/home/roberto/graphene/Pal/src/host/Linux-SGX/tools/is-sgx-available'
make[5]: Nothing to be done for 'all'.
make[5]: Leaving directory '/home/roberto/graphene/Pal/src/host/Linux-SGX/tools/is-sgx-available'
make -C quote-dump all
make[5]: Entering directory '/home/roberto/graphene/Pal/src/host/Linux-SGX/tools/quote-dump'
make[5]: Nothing to be done for 'all'.
make[5]: Leaving directory '/home/roberto/graphene/Pal/src/host/Linux-SGX/tools/quote-dump'
make -C ias-request all
make[5]: Entering directory '/home/roberto/graphene/Pal/src/host/Linux-SGX/tools/ias-request'
make[5]: Nothing to be done for 'all'.
make[5]: Leaving directory '/home/roberto/graphene/Pal/src/host/Linux-SGX/tools/ias-request'
make -C verify-ias-report all
make[5]: Entering directory '/home/roberto/graphene/Pal/src/host/Linux-SGX/tools/verify-ias-report'
make[5]: Nothing to be done for 'all'.
make[5]: Leaving directory '/home/roberto/graphene/Pal/src/host/Linux-SGX/tools/verify-ias-report'
make -C ra-tls all
make[5]: Entering directory '/home/roberto/graphene/Pal/src/host/Linux-SGX/tools/ra-tls'
make[5]: Nothing to be done for 'all'.
make[5]: Leaving directory '/home/roberto/graphene/Pal/src/host/Linux-SGX/tools/ra-tls'
make -C pf_crypt all
make[5]: Entering directory '/home/roberto/graphene/Pal/src/host/Linux-SGX/tools/pf_crypt'
make[5]: Nothing to be done for 'all'.
make[5]: Leaving directory '/home/roberto/graphene/Pal/src/host/Linux-SGX/tools/pf_crypt'
make -C pf_tamper all
make[5]: Entering directory '/home/roberto/graphene/Pal/src/host/Linux-SGX/tools/pf_tamper'
make[5]: Nothing to be done for 'all'.
make[5]: Leaving directory '/home/roberto/graphene/Pal/src/host/Linux-SGX/tools/pf_tamper'
make[4]: Leaving directory '/home/roberto/graphene/Pal/src/host/Linux-SGX/tools'
make[3]: Leaving directory '/home/roberto/graphene/Pal/src/host/Linux-SGX'
make[2]: Leaving directory '/home/roberto/graphene/Pal/src'
make -C crt_init
make[2]: Entering directory '/home/roberto/graphene/Pal/crt_init'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/roberto/graphene/Pal/crt_init'
make[1]: Leaving directory '/home/roberto/graphene/Pal'
make -C LibOS all
make[1]: Entering directory '/home/roberto/graphene/LibOS'
make -C shim all
make[2]: Entering directory '/home/roberto/graphene/LibOS/shim'
make -C src
make[3]: Entering directory '/home/roberto/graphene/LibOS/shim/src'
make -C ../../../Pal/lib target=/home/roberto/graphene/LibOS/shim/src/.lib/
make[4]: Entering directory '/home/roberto/graphene/Pal/lib'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/home/roberto/graphene/Pal/lib'
make[3]: Leaving directory '/home/roberto/graphene/LibOS/shim/src'
make[2]: Leaving directory '/home/roberto/graphene/LibOS/shim'
make[1]: Leaving directory '/home/roberto/graphene/LibOS'
make -C Runtime all
make[1]: Entering directory '/home/roberto/graphene/Runtime'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/roberto/graphene/Runtime'
make -C Tools all
make[1]: Entering directory '/home/roberto/graphene/Tools'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/roberto/graphene/Tools'
NOTE: We are in the middle of a transition to the Meson buildsystem.
You have successfully built Graphene, now please install Graphene using Meson.
See https://graphene.readthedocs.io/en/latest/building.html for more details.
(For now, please ignore "Build targets in project: 0" and "ninja: no work to do.")
@All
This is the error I am still stock at:
>>$ ~/graphene/LibOS/shim/test/regression$ make SGX=1
[ bootstrap_cpp.manifest ]
Traceback (most recent call last):
File "/usr/local/bin/graphene-manifest", line 4, in <module>
from graphenelibos.manifest import main
ModuleNotFoundError: No module named 'graphenelibos'
../../../../Scripts/Makefile.Test:41: bootstrap_cpp.manifest.sgx.d: No such file or directory
make: *** [../../../../Scripts/
manifest.mk:8: bootstrap_cpp.manifest] Error 1