deislabs / mystikos

Tools and runtime for launching unmodified container images in Trusted Execution Environments
142 stars 49 forks source link

linker issue on Make mystikos for undefined reference to `EVP_PKEY_id' #1462

Closed Antone077 closed 1 year ago

Antone077 commented 1 year ago

Hello, when I execute make command on mystikos, I got the below error related to undefined reference to `EVP_PKEY_id' Please note that I am using ubuntu 22.04 and the openssl version is OpenSSL 1.1.1q 5 Jul 2022.

LOG: [ 1%] Built target gen_edl_headers_poll make[8]: 进入目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” make[8]: 离开目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” [ 1%] Built target gen_edl_headers_socket make[8]: 进入目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” make[8]: 离开目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” [ 1%] Built target gen_edl_headers_utsname make[8]: 进入目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” make[8]: 离开目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” [ 1%] Built target gen_edl_headers_switchless make[8]: 进入目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” make[8]: 离开目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” [ 1%] Built target platform_untrusted_edl make[8]: 进入目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” make[8]: 离开目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” [ 2%] Built target syscall_untrusted_edl make[8]: 进入目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” make[8]: 离开目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” [ 6%] Built target oehost make[8]: 进入目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” make[8]: 离开目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” [ 8%] Built target oehostverify make[8]: 进入目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” make[8]: 离开目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” [ 9%] Built target oehostmr make[8]: 进入目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” make[8]: 离开目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” [ 9%] Built target oesgx make[8]: 进入目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” make[8]: 离开目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” make[8]: 进入目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” [ 9%] Linking C executable ../../output/bin/oesign /usr/bin/ld: ../../output/lib/openenclave/host/liboehostmr.a(key.c.o): in functionoe_private_key_from_engine': /home/a106/mystikos/third_party/openenclave/openenclave/common/crypto/openssl/key.c:117: undefined reference to EVP_PKEY_id' /usr/bin/ld: ../../output/lib/openenclave/host/liboehostmr.a(key.c.o): in functionoe_private_key_read_pem': /home/a106/mystikos/third_party/openenclave/openenclave/common/crypto/openssl/key.c:176: undefined reference to EVP_PKEY_id' /usr/bin/ld: ../../output/lib/openenclave/host/liboehostmr.a(key.c.o): in functionoe_public_key_read_pem': /home/a106/mystikos/third_party/openenclave/openenclave/common/crypto/openssl/key.c:235: undefined reference to EVP_PKEY_id' clang: error: linker command failed with exit code 1 (use -v to see invocation) make[8]: *** [tools/oesign/CMakeFiles/oesign.dir/build.make:163:output/bin/oesign] 错误 1 make[8]: 离开目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” make[7]: *** [CMakeFiles/Makefile2:1345:tools/oesign/CMakeFiles/oesign.dir/all] 错误 2 make[7]: 离开目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” make[6]: *** [Makefile:166:all] 错误 2 make[6]: 离开目录“/home/a106/mystikos/third_party/openenclave/openenclave/build” make[5]: *** [Makefile:93:install_oe] 错误 2 make[5]: 离开目录“/home/a106/mystikos/third_party/openenclave” make[4]: *** [Makefile:38:build] 错误 2 make[4]: 离开目录“/home/a106/mystikos/third_party/openenclave” make[3]: *** [Makefile:31:/home/a106/mystikos/build/include/openenclave] 错误 2 make[3]: 离开目录“/home/a106/mystikos/third_party/openenclave” make[2]: *** [Makefile:11:openenclave] 错误 2 make[2]: 离开目录“/home/a106/mystikos/third_party” make[1]: *** [/home/a106/mystikos/rules.mak:61:dirs] 错误 2 make[1]: 离开目录“/home/a106/mystikos” make: *** [Makefile:16:all] 错误 2

Then I find the issue in Openenclave https://github.com/openenclave/openenclave/issues/4680

How can I solve this error?

radhikaj commented 1 year ago

Hi,

This linker error occurs because we dont support Ubuntu 22.04 as yet. Ubuntu 22.04 comes with openssl 3 . OE and Mystikos work only on Ubuntu 18.04 and Ubuntu 20.04 which comes with openssl 1.1.1.

Antone077 commented 1 year ago

@radhikaj OK! Thank you for your help!