Trying to install this on Debian 10 Buster (kernel 5.3.18-3-pve), so that for redundancy purposes I have two SGX wallets instead of one.
~/sgxwallet/sgx-software-enable# ll
total 76K
drwxr-xr-x 2 root root 4.0K May 6 15:26 .
drwxr-xr-x 22 root root 4.0K May 6 15:01 ..
-rw-r--r-- 1 root root 44 May 6 15:01 .git
-rw-r--r-- 1 root root 120 May 6 15:01 Makefile
-rw-r--r-- 1 root root 5.7K May 6 15:01 README.md
-rw-r--r-- 1 root root 3.5K May 6 15:01 sgx_capable.h
-rwxr-xr-x 1 root root 18K May 6 15:26 sgx_enable
-rw-r--r-- 1 root root 13K May 6 15:01 sgx_enable.c
-rw-r--r-- 1 root root 11K May 6 15:26 sgx_enable.o
~/sgxwallet/sgx-software-enable# ./sgx_enable
Intel SGX is already enabled on this system
~/sgxwallet/sgx-software-enable# cd ../scripts/
~/sgxwallet/scripts# ./sgx_linux_x64_driver_2.5.0_2605efa.bin
Unpacking Intel SGX Driver ... done.
Verifying the integrity of the install package ... done.
Installing Intel SGX Driver ...
/tmp/sgx-driver-znUl6F ~/sgxwallet/scripts
install -d /opt/intel/sgxdriver/package
install -d /opt/intel/sgxdriver/scripts
install package/* /opt/intel/sgxdriver/package
install scripts/* /opt/intel/sgxdriver/scripts
~/sgxwallet/scripts
/opt/intel/sgxdriver/package ~/sgxwallet/scripts
make -C /lib/modules/5.3.18-3-pve/build SUBDIRS=/opt/intel/sgxdriver/package modules
make[1]: Entering directory '/usr/src/linux-headers-5.3.18-3-pve'
Makefile:227: ================= WARNING ================
Makefile:228: 'SUBDIRS' will be removed after Linux 5.3
Makefile:229:
Makefile:230: If you are building an individual subdirectory
Makefile:231: in the kernel tree, you can do like this:
Makefile:232: $ make path/to/dir/you/want/to/build/
Makefile:233: (Do not forget the trailing slash)
Makefile:234:
Makefile:235: If you are building an external module,
Makefile:236: Please use 'M=' or 'KBUILD_EXTMOD' instead
Makefile:237: ==========================================
CC [M] /opt/intel/sgxdriver/package/sgx_main.o
CC [M] /opt/intel/sgxdriver/package/sgx_page_cache.o
/opt/intel/sgxdriver/package/sgx_page_cache.c: In function ‘sgx_test_and_clear_young’:
/opt/intel/sgxdriver/package/sgx_page_cache.c:126:8: error: passing argument 4 of ‘apply_to_page_range’ from incompatible pointer type [**-Werror=incompatible-pointer-types**]
**sgx_test_and_clear_young_cb**, vma->vm_mm);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /opt/intel/sgxdriver/package/sgx.h:72,
from /opt/intel/sgxdriver/package/sgx_page_cache.c:61:
./include/linux/mm.h:2679:40: note: expected ‘pte_fn_t’ {aka ‘int (*)(struct <anonymous> *, long unsigned int, void *)’} but argument is of type ‘int (*)(pte_t *, struct page *, long unsigned int, void *)’ {aka ‘int (*)(struct <anonymous> *, struct page *, long unsigned int, void *)’}
unsigned long size, pte_fn_t fn, void *data);
~~~~~~~~~^~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:290: /opt/intel/sgxdriver/package/sgx_page_cache.o] Error 1
make[1]: *** [Makefile:1655: _module_/opt/intel/sgxdriver/package] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.3.18-3-pve'
make: *** [Makefile:16: default] Error 2
Maybe your team has some suggestions to get around this? I don't want to install the driver directly from https://github.com/intel/linux-sgx-driver, unless instructed to do so.