awslabs / amazon-kinesis-video-streams-webrtc-sdk-c

Amazon Kinesis Video Streams Webrtc SDK is for developers to install and customize realtime communication between devices and enable secure streaming of video, audio to Kinesis Video Streams.
https://awslabs.github.io/amazon-kinesis-video-streams-webrtc-sdk-c/group__PublicMemberFunctions.html
Apache License 2.0
997 stars 299 forks source link

[QUESTION] OpenSSL Build failed on MacOS 12.4 #1481

Closed tubzby closed 2 years ago

tubzby commented 2 years ago

Build failed on MacOS 12.4 while running cmake ..

I have installed the command line tools from xcode, but can't find any pkg file under "/Library/Developer/CommandLineTools" as recommend in https://docs.aws.amazon.com/kinesisvideostreams-webrtc-dg/latest/devguide/kvswebrtc-sdk-c.html.

Logging

-- The C compiler identification is AppleClang 13.1.6.13160021
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Looking for include file ifaddrs.h
-- Looking for include file ifaddrs.h - found
-- Looking for getifaddrs
-- Looking for getifaddrs - found
-- Kinesis Video WebRTC Client path is /Users/liuzhiping/src/amazon-kinesis-video-streams-webrtc-sdk-c
-- dependencies install path is /Users/liuzhiping/src/amazon-kinesis-video-streams-webrtc-sdk-c/open-source
-- Begin building dependencies.
-- Copying patches for dependency openssl:
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Configuring done
-- Generating done
-- Build files have been written to: /Volumes/SamsungSSD/src/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/libopenssl
[ 11%] Creating directories for 'project_libopenssl'
[ 22%] Performing download step (git clone) for 'project_libopenssl'
Cloning into 'project_libopenssl'...
HEAD is now at e2e09d9fba Prepare for 1.1.1g release
Submodule 'boringssl' (https://boringssl.googlesource.com/boringssl) registered for path 'boringssl'
Submodule 'krb5' (https://github.com/krb5/krb5) registered for path 'krb5'
Submodule 'pyca.cryptography' (https://github.com/pyca/cryptography.git) registered for path 'pyca-cryptography'
Cloning into '/Volumes/SamsungSSD/src/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/libopenssl/build/src/project_libopenssl/boringssl'...
Cloning into '/Volumes/SamsungSSD/src/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/libopenssl/build/src/project_libopenssl/krb5'...
Cloning into '/Volumes/SamsungSSD/src/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/libopenssl/build/src/project_libopenssl/pyca-cryptography'...
Submodule path 'boringssl': checked out '2070f8ad9151dc8f3a73bffaa146b5e6937a583f'
Submodule path 'krb5': checked out '890ca2f401924cdcb88f493950b04700bbe52db3'
Submodule path 'pyca-cryptography': checked out '09403100de2f6f1cdd0d484dcb8e620f1c335c8f'
[ 33%] Performing update step for 'project_libopenssl'
[ 44%] No patch step for 'project_libopenssl'
[ 55%] Performing configure step for 'project_libopenssl'
Operating system: i686-apple-darwinDarwin Kernel Version 21.5.0: Tue Apr 26 21:08:29 PDT 2022; root:xnu-8020.121.3~4/RELEASE_ARM64_T8101
Configuring OpenSSL version 1.1.1g (0x1010107fL) for darwin-i386-cc
Using os-specific seed configuration
Creating configdata.pm
Creating Makefile

**********************************************************************
***                                                                ***
***   OpenSSL has been successfully configured                     ***
***                                                                ***
***   If you encounter a problem while building, please open an    ***
***   issue on GitHub <https://github.com/openssl/openssl/issues>  ***
***   and include the output from the following command:           ***
***                                                                ***
***       perl configdata.pm --dump                                ***
***                                                                ***
***   (If you are new to OpenSSL, you might want to consult the    ***
***   'Troubleshooting' section in the INSTALL file first)         ***
***                                                                ***
**********************************************************************
[ 66%] Performing build step for 'project_libopenssl'
In file included from apps/app_rand.c:10:
In file included from apps/apps.h:13:
In file included from ./e_os.h:16:
In file included from include/openssl/e_os2.h:243:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/13.1.6/include/inttypes.h:21:15: fatal error: 'inttypes.h' file not found
#include_next <inttypes.h>
              ^~~~~~~~~~~~
1 error generated.
make[4]: *** [apps/app_rand.o] Error 1
make[3]: *** [all] Error 2
make[2]: *** [build/src/project_libopenssl-stamp/project_libopenssl-build] Error 2
make[1]: *** [CMakeFiles/project_libopenssl.dir/all] Error 2
make: *** [all] Error 2
CMake Error at CMake/Utilities.cmake:72 (message):
  CMake step for libopenssl failed: 2
Call Stack (most recent call first):
  CMakeLists.txt:120 (build_dependency)

-- Configuring incomplete, errors occurred!
See also "/Users/liuzhiping/src/amazon-kinesis-video-streams-webrtc-sdk-c/build/CMakeFiles/CMakeOutput.log".
See also "/Users/liuzhiping/src/amazon-kinesis-video-streams-webrtc-sdk-c/build/CMakeFiles/CMakeError.log".

Any design considerations/constraints

tubzby commented 2 years ago

After some research and export CPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include, the build continues, but seems failed to detect the architecture of mac m1 processor:

[ 55%] Performing configure step for 'project_libopenssl'
Operating system: i686-apple-darwinDarwin Kernel Version 21.5.0: Tue Apr 26 21:08:29 PDT 2022; root:xnu-8020.121.3~4/RELEASE_ARM64_T8101
Configuring OpenSSL version 1.1.1g (0x1010107fL) for darwin-i386-cc
Using os-specific seed configuration
Creating configdata.pm
Creating Makefile

**********************************************************************
***                                                                ***
***   OpenSSL has been successfully configured                     ***
***                                                                ***
***   If you encounter a problem while building, please open an    ***
***   issue on GitHub <https://github.com/openssl/openssl/issues>  ***
***   and include the output from the following command:           ***
***                                                                ***
***       perl configdata.pm --dump                                ***
***                                                                ***
***   (If you are new to OpenSSL, you might want to consult the    ***
***   'Troubleshooting' section in the INSTALL file first)         ***
***                                                                ***
**********************************************************************
[ 66%] Performing build step for 'project_libopenssl'
ar: creating archive apps/libapps.a
ar: creating archive libcrypto.a
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(async_null.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(async_win.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(cms_cd.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(dso_dl.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(dso_openssl.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(dso_vms.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(dso_win32.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(ebcdic.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(ecp_nistp224.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(ecp_nistp256.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(ecp_nistp521.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(ecp_nistputil.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(e_rc5.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(m_md2.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(rand_egd.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(rand_vms.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(rand_win.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(threads_none.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(threads_win.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(async_null.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(async_win.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(cms_cd.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(dso_dl.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(dso_openssl.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(dso_vms.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(dso_win32.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(ebcdic.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(ecp_nistp224.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(ecp_nistp256.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(ecp_nistp521.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(ecp_nistputil.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(e_rc5.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(m_md2.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(rand_egd.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(rand_vms.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(rand_win.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(threads_none.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libcrypto.a(threads_win.o) has no symbols
ar: creating archive libssl.a
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libssl.a(ssl_utst.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libssl.a(t1_trce.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libssl.a(ssl_utst.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libssl.a(t1_trce.o) has no symbols
ar: creating archive test/libtestutil.a
ld: warning: The i386 architecture is deprecated for macOS (remove from the Xcode build setting: ARCHS)
ld: warning: could not create compact unwind for _ERR_print_errors_cb: stack subl instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _ERR_print_errors: stack subl instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _ERR_print_errors_fp: stack subl instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _PEM_X509_INFO_write_bio: stack subl instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _PEM_read_bio_PrivateKey: stack subl instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _RAND_load_file: stack subl instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _RAND_write_file: stack subl instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _read_string_inner: stack subl instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _process_pci_value: stack subl instruction is too different from dwarf stack size
ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libSystem.tbd, missing required architecture i386 in file /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libSystem.tbd (3 slices)
Undefined symbols for architecture i386:
  "__DefaultRuneLocale", referenced from:
      _CONF_parse_list in conf_mod.o
  "___bzero", referenced from:
      _ASN1_BIT_STRING_set_bit in a_bitstr.o
      _asn1_item_embed_new in tasn_new.o
      _addr_strings in b_addr.o
      _mem_ctrl in bss_mem.o
      _BLAKE2b_Final in blake2b.o
      _BLAKE2s_Final in blake2s.o
      _bn_div_fixed_top in bn_div.o
      ...
  "___error", referenced from:
      _addr_strings in b_addr.o
      _BIO_lookup_ex in b_addr.o
      _BIO_sock_error in b_sock.o
      _BIO_socket_ioctl in b_sock.o
      _BIO_accept in b_sock.o
      _BIO_socket_nbio in b_sock.o
      _BIO_sock_info in b_sock.o
      ...
  "___maskrune", referenced from:
      _CONF_parse_list in conf_mod.o
  "___memcpy_chk", referenced from:
      _PKCS5_pbe2_set_iv in p5_pbev2.o
      _PKCS5_pbe2_set_scrypt in p5_scrypt.o
      _dsa_builtin_paramgen in dsa_gen.o
      _rc4_hmac_md5_ctrl in e_rc4_hmac_md5.o
      _PKCS5_PBE_keyivgen in p5_crpt.o
      _HMAC_Init_ex in hmac.o
      _CRYPTO_cts128_encrypt in cts128.o
      ...
  "___memmove_chk", referenced from:
      _DES_ede3_cfb_encrypt in cfb64ede.o
  "___memset_chk", referenced from:
      _ECPKParameters_print in eck_prn.o
  "___stack_chk_fail", referenced from:
      _AES_ige_encrypt in aes_ige.o
      _AES_bi_ige_encrypt in aes_ige.o
      _ASN1_INTEGER_set_int64 in a_int.o
      _ASN1_INTEGER_set_uint64 in a_int.o
      _ASN1_INTEGER_set in a_int.o
      _ASN1_ENUMERATED_set_int64 in a_int.o
      _ASN1_ENUMERATED_set in a_int.o
      ...
  "___stack_chk_guard", referenced from:
      _AES_ige_encrypt in aes_ige.o
      _AES_bi_ige_encrypt in aes_ige.o
      _ASN1_INTEGER_set_int64 in a_int.o
      _ASN1_INTEGER_set_uint64 in a_int.o
      _ASN1_INTEGER_set in a_int.o
      _ASN1_ENUMERATED_set_int64 in a_int.o
      _ASN1_ENUMERATED_set in a_int.o
      ...
      _AES_ige_encrypt in aes_ige.o
      _AES_bi_ige_encrypt in aes_ige.o
      _ASN1_INTEGER_set_int64 in a_int.o
      _ASN1_INTEGER_set_uint64 in a_int.o
      _ASN1_INTEGER_set in a_int.o
      _ASN1_ENUMERATED_set_int64 in a_int.o
      _ASN1_ENUMERATED_set in a_int.o
      ...
      _AES_ige_encrypt in aes_ige.o
      _AES_bi_ige_encrypt in aes_ige.o
      _ASN1_INTEGER_set_int64 in a_int.o
      _ASN1_INTEGER_set_uint64 in a_int.o
      _ASN1_INTEGER_set in a_int.o
      _ASN1_ENUMERATED_set_int64 in a_int.o
      _ASN1_ENUMERATED_set in a_int.o
      ...
      _AES_ige_encrypt in aes_ige.o
      _AES_bi_ige_encrypt in aes_ige.o
      _ASN1_INTEGER_set_int64 in a_int.o
      _ASN1_INTEGER_set_uint64 in a_int.o
      _ASN1_INTEGER_set in a_int.o
      _ASN1_ENUMERATED_set_int64 in a_int.o
      _ASN1_ENUMERATED_set in a_int.o
      ...
      _AES_ige_encrypt in aes_ige.o
      _AES_bi_ige_encrypt in aes_ige.o
      _ASN1_INTEGER_set_int64 in a_int.o
      _ASN1_INTEGER_set_uint64 in a_int.o
      _ASN1_INTEGER_set in a_int.o
      _ASN1_ENUMERATED_set_int64 in a_int.o
      _ASN1_ENUMERATED_set in a_int.o
      ...
      _AES_ige_encrypt in aes_ige.o
      _AES_bi_ige_encrypt in aes_ige.o
      _ASN1_INTEGER_set_int64 in a_int.o
      _ASN1_INTEGER_set_uint64 in a_int.o
      _ASN1_INTEGER_set in a_int.o
      _ASN1_ENUMERATED_set_int64 in a_int.o
      _ASN1_ENUMERATED_set in a_int.o
      ...
      _AES_ige_encrypt in aes_ige.o
      _AES_bi_ige_encrypt in aes_ige.o
      _ASN1_INTEGER_set_int64 in a_int.o
      _ASN1_INTEGER_set_uint64 in a_int.o
      _ASN1_INTEGER_set in a_int.o
      _ASN1_ENUMERATED_set_int64 in a_int.o
      _ASN1_ENUMERATED_set in a_int.o
      ...
      ...
  "___stderrp", referenced from:
      _BIO_debug_callback in bio_cb.o
      _OPENSSL_showfatal in cryptlib.o
      _openssl_load_privkey in eng_openssl.o
      _test_rc4_init_key in eng_openssl.o
      _open_console in ui_openssl.o
      _close_console in ui_openssl.o
      _BIO_debug_callback in bio_cb.o
      _OPENSSL_showfatal in cryptlib.o
      _openssl_load_privkey in eng_openssl.o
      _test_rc4_init_key in eng_openssl.o
      _open_console in ui_openssl.o
      _close_console in ui_openssl.o
      _BIO_debug_callback in bio_cb.o
      _OPENSSL_showfatal in cryptlib.o
      _openssl_load_privkey in eng_openssl.o
      _test_rc4_init_key in eng_openssl.o
      _open_console in ui_openssl.o
      _close_console in ui_openssl.o
      _BIO_debug_callback in bio_cb.o
      _OPENSSL_showfatal in cryptlib.o
      _openssl_load_privkey in eng_openssl.o
      _test_rc4_init_key in eng_openssl.o
      _open_console in ui_openssl.o
      _close_console in ui_openssl.o
  "___stdinp", referenced from:
      _open_console in ui_openssl.o
      _close_console in ui_openssl.o
  "___strcat_chk", referenced from:
      _TS_RESP_verify_response in ts_rsp_verify.o
      _i2v_GENERAL_NAME in v3_alt.o
  "__longjmp", referenced from:
      _async_fibre_swapcontext in async.o
  "__setjmp", referenced from:
      _async_fibre_swapcontext in async.o
  "_abort", referenced from:
      _OPENSSL_die in cryptlib.o
  "_accept$UNIX2003", referenced from:
      _BIO_accept_ex in b_sock2.o
  "_atexit", referenced from:
      _ossl_init_register_atexit_ossl_ in init.o
     (maybe you meant: _OPENSSL_atexit)
  "_atoi", referenced from:
      _pkey_dh_ctrl_str in dh_pmeth.o
      _pkey_dsa_ctrl_str in dsa_pmeth.o
      _pkey_ec_ctrl_str in ec_pmeth.o
      _pkey_rsa_ctrl_str in rsa_pmeth.o
      _pkey_siphash_ctrl_str in siphash_pmeth.o
      _TS_CONF_set_accuracy in ts_conf.o
  "_bind$UNIX2003", referenced from:
      _BIO_bind in b_sock2.o
  "_chmod$UNIX2003", referenced from:
      _RAND_write_file in randfile.o
  "_clearerr", referenced from:
      _RAND_load_file in randfile.o
  "_close$UNIX2003", referenced from:
      _BIO_accept_ex in b_sock2.o
      _BIO_closesocket in b_sock2.o
      _acpt_ctrl in bss_acpt.o
      _acpt_free in bss_acpt.o
      _fd_ctrl in bss_fd.o
      _fd_free in bss_fd.o
      _rand_pool_cleanup in rand_unix.o
      ...
  "_closedir$UNIX2003", referenced from:
      _OPENSSL_DIR_end in o_dir.o
  "_closelog", referenced from:
      _slg_ctrl in bss_log.o
      _slg_free in bss_log.o
  "_connect$UNIX2003", referenced from:
      _BIO_connect in b_sock2.o
  "_dladdr", referenced from:
      _dlfcn_pathbyaddr in dso_dlfcn.o
  "_dlclose", referenced from:
      _dlfcn_load in dso_dlfcn.o
      _dlfcn_unload in dso_dlfcn.o
      _dlfcn_globallookup in dso_dlfcn.o
  "_dlerror", referenced from:
      _dlfcn_load in dso_dlfcn.o
      _dlfcn_bind_func in dso_dlfcn.o
      _dlfcn_pathbyaddr in dso_dlfcn.o
  "_dlopen", referenced from:
      _dlfcn_load in dso_dlfcn.o
      _dlfcn_globallookup in dso_dlfcn.o
  "_dlsym", referenced from:
      _dlfcn_bind_func in dso_dlfcn.o
      _dlfcn_globallookup in dso_dlfcn.o
  "_fclose", referenced from:
      _BIO_new_file in bss_file.o
      _file_ctrl in bss_file.o
      _file_free in bss_file.o
      _RAND_load_file in randfile.o
      _RAND_write_file in randfile.o
      _close_console in ui_openssl.o
  "_fdopen$UNIX2003", referenced from:
      _RAND_write_file in randfile.o
  "_feof", referenced from:
      _file_ctrl in bss_file.o
      _read_string_inner in ui_openssl.o
  "_ferror", referenced from:
      _file_read in bss_file.o
      _RAND_load_file in randfile.o
      _read_string_inner in ui_openssl.o
  "_fflush", referenced from:
      _file_ctrl in bss_file.o
      _write_string in ui_openssl.o
      _read_string in ui_openssl.o
  "_fgets", referenced from:
      _file_gets in bss_file.o
      _read_string_inner in ui_openssl.o
  "_fileno", referenced from:
      _RAND_load_file in randfile.o
      _open_console in ui_openssl.o
      _read_string_inner in ui_openssl.o
  "_fopen$UNIX2003", referenced from:
      _openssl_fopen in o_fopen.o
      _open_console in ui_openssl.o
  "_fprintf", referenced from:
      _openssl_load_privkey in eng_openssl.o
      _read_string in ui_openssl.o
  "_fputs$UNIX2003", referenced from:
      _BIO_debug_callback in bio_cb.o
      _write_string in ui_openssl.o
      _read_string in ui_openssl.o
  "_fread", referenced from:
      _file_read in bss_file.o
      _RAND_load_file in randfile.o
  "_free", referenced from:
      _OPENSSL_INIT_set_config_filename in conf_lib.o
      _OPENSSL_INIT_set_config_appname in conf_lib.o
      _OPENSSL_INIT_free in conf_lib.o
      _CRYPTO_realloc in mem.o
      _CRYPTO_free in mem.o
      _CRYPTO_clear_realloc in mem.o
      _CRYPTO_clear_free in mem.o
      ...
     (maybe you meant: _X509_email_free, _SXNET_free , _SXNETID_free , _PKEY_USAGE_PERIOD_free , _PROXY_POLICY_free , _AUTHORITY_INFO_ACCESS_free , _EDIPARTYNAME_free , _DIST_POINT_free , _NOTICEREF_free , _CERTIFICATEPOLICIES_free , _X509V3_string_free , _BASIC_CONSTRAINTS_free , _ASRange_free , _EXTENDED_KEY_USAGE_free , _IPAddressRange_free , _policy_node_free , _POLICY_MAPPING_free , _OTHERNAME_free , _POLICYQUALINFO_free , _POLICYINFO_free , _POLICY_CONSTRAINTS_free , _policy_data_free , _X509_CERT_AUX_free , _policy_cache_free , _NAME_CONSTRAINTS_free , _X509_REQ_INFO_free , _AUTHORITY_KEYID_free , _ISSUING_DIST_POINT_free , _X509_CRL_INFO_free , _X509_REQ_free , _X509_LOOKUP_meth_free , _ADMISSIONS_free , _X509_OBJECT_free , _X509_LOOKUP_free , _IPAddressChoice_free , _IPAddressFamily_free , _TS_TST_INFO_ext_free , _TS_RESP_CTX_free , _ESS_CERT_ID_V2_free , _TS_VERIFY_CTX_free , _ESS_CERT_ID_free , _ESS_ISSUER_SERIAL_free , _TS_RESP_free , _TS_ACCURACY_free , _OSSL_STORE_SEARCH_free , _SRP_VBASE_free , _SM2_Ciphertext_free , _TS_MSG_IMPRINT_free , _RSA_meth_free , _rsa_multip_info_free_ex , _RSA_OAEP_PARAMS_free , _DIST_POINT_NAME_free , _TS_STATUS_INFO_free , _PKCS7_SIGN_ENVELOPE_free , _PKCS7_ENC_CONTENT_free , _PKCS7_RECIP_INFO_free , _PKCS7_ENVELOPE_free , _PKCS7_ISSUER_AND_SERIAL_free , _PKCS7_SIGNER_INFO_free , _PKCS7_SIGNED_free , _PKCS12_SAFEBAG_free , _PKCS12_free , _ASIdentifiers_free , _RSA_free , _TS_REQ_free , _PKCS7_ENCRYPT_free , _OCSP_REQ_CTX_free , _X509_NAME_free , _ACCESS_DESCRIPTION_free , _PROXY_CERT_INFO_EXTENSION_free , _ASIdOrRange_free , _GENERAL_NAME_free , _OCSP_CRLID_free , _OCSP_RESPDATA_free , _OCSP_CERTSTATUS_free , _OCSP_REQINFO_free , _OCSP_CERTID_free , _OCSP_SIGNATURE_free , _OPENSSL_INIT_free , _EVP_CIPHER_CTX_free , _HMAC_CTX_free , _X509_policy_tree_free , _EC_GROUP_free , _RAND_DRBG_free , _PROFESSION_INFO_free , _ASN1_STRING_clear_free , _SCRYPT_PARAMS_free , _X509_LOOKUP_meth_get_free , _SCT_LIST_free , _EVP_ENCODE_CTX_free , _OSSL_STORE_LOADER_free , _CRYPTO_free_ex_index , _ASN1_GENERALIZEDTIME_free , _EVP_PKEY_asn1_set_free , _EVP_CIPHER_meth_free , _ASN1_IA5STRING_free , _engine_free_util , _ASN1_UNIVERSALSTRING_free , _ASN1_BMPSTRING_free , _CRYPTO_secure_free , _BN_clear_free , _NETSCAPE_PKEY_free , _OBJ_sigid_free , _OCSP_BASICRESP_free , _BIO_ADDR_free , _EC_nistz256_pre_comp_free , _EC_ec_pre_comp_free , _EC_pre_comp_free , _X509_ATTRIBUTE_free , _EC_GROUP_clear_free , _X509_CRL_METHOD_free , _engine_pkey_meths_free , _rand_pool_free , _EC_POINT_clear_free , _UI_free , _ECPKPARAMETERS_free , _ECPARAMETERS_free , _X509_NAME_ENTRY_free , _X9_62_CHARACTERISTIC_TWO_free , _X9_62_PENTANOMIAL_free , _OPENSSL_sk_pop_free , _ADMISSION_SYNTAX_free , _EC_KEY_free , _TXT_DB_free , _DSA_meth_free , _PKCS12_MAC_DATA_free , _DSA_free , _DH_meth_free , _EC_POINT_free , _DH_free , _EC_KEY_METHOD_free , _OCSP_REVOKEDINFO_free , _EC_PRIVATEKEY_free , _OCSP_REQUEST_free , _CT_POLICY_EVAL_CTX_free , _CRL_DIST_POINTS_free , _CTLOG_STORE_free , _OCSP_RESPID_free , _OSSL_STORE_INFO_free , _SCT_free , _NETSCAPE_SPKI_free , _X509_CINF_free , _NCONF_free_data , _CONF_free , __CONF_free_data , _PKCS7_DIGEST_free , _X509_STORE_CTX_free , _ASN1_INTEGER_free , _X509_PUBKEY_free , _OCSP_SINGLERESP_free , _CTLOG_free , _CRYPTO_free , _X509_INFO_free , _DIRECTORYSTRING_free , _ASN1_TYPE_free , _CMS_ReceiptRequest_free , _TS_REQ_ext_free , _ASN1_SCTX_free , _NCONF_free , _OCSP_RESPBYTES_free , _BN_CTX_free , _OCSP_RESPONSE_free , _X509_ALGOR_free , _rsa_multip_info_free , _conf_modules_free_int , _OPENSSL_LH_free , _BIO_free_all , _ASN1_BIT_STRING_free , _ESS_SIGNING_CERT_free , _X509V3_section_free , _EVP_MD_meth_free , _GENERAL_NAMES_free , _err_free_strings_int , _EVP_PKEY_meth_free , _BN_RECP_CTX_free , _BN_MONT_CTX_free , _ASYNC_WAIT_CTX_free , _X509_LOOKUP_meth_set_free , _CMS_ContentInfo_free , _DSO_free , _BN_BLINDING_free , _X509_SIG_free , _BIO_CONNECT_free , _asn1_item_embed_free , _NAMING_AUTHORITY_free , _BIO_meth_free , _ASN1_PRINTABLE_free , _CRYPTO_free_ex_data , _ASN1_ENUMERATED_free , _X509_EXTENSION_free , _BIO_ADDRINFO_free , _ASN1_STRING_free , _X509_REVOKED_free , _async_fibre_free , _X509_VAL_free , _X509_CRL_free , _ASN1_VISIBLESTRING_free , _CRYPTO_THREAD_lock_free , _X509_free , _ASN1_NULL_free , _CRYPTO_clear_free , _ESS_SIGNING_CERT_V2_free , _ASN1_UTCTIME_free , _ASN1_PRINTABLESTRING_free , _X509V3_conf_free , _SRP_user_pwd_free , _TLS_FEATURE_free , _ASN1_PCTX_free , _asn1_enc_free , _PKCS7_free , _asn1_template_free , _engine_pkey_asn1_meths_free , _ECDSA_SIG_free , _PKCS12_BAGS_free , _PKCS8_PRIV_KEY_INFO_free , _ASN1_UTF8STRING_free , _OPENSSL_sk_free , _TS_TST_INFO_free , _X509_PKEY_free , _ASN1_item_ex_free , _bio_free_ex_data , _asn1_string_embed_free , _X509_VERIFY_PARAM_free , _EVP_PKEY_asn1_free , _BIO_free , _NETSCAPE_SPKAC_free , _OCSP_SERVICELOC_free , _ASN1_GENERALSTRING_free , _EVP_PKEY_CTX_free , _NETSCAPE_CERT_SEQUENCE_free , _SCT_CTX_free , _CMAC_CTX_free , _OCSP_ONEREQ_free , _IPAddressOrRange_free , _ASN1_OBJECT_free , _ASN1_OCTET_STRING_free , _COMP_CTX_free , _X509_STORE_free , _USERNOTICE_free , _PBE2PARAM_free , _asn1_primitive_free , _DISPLAYTEXT_free , _ASN1_item_free , _ASN1_TIME_free , _ASN1_T61STRING_free , _NETSCAPE_ENCRYPTED_PKEY_free , _EVP_MD_CTX_free , _ENGINE_free , _CRYPTO_secure_clear_free , _BN_free , _PBEPARAM_free , _GENERAL_SUBTREE_free , _EVP_PKEY_free , _BUF_MEM_free , _DSA_SIG_free , _ASIdentifierChoice_free , _PBKDF2PARAM_free , _BN_GENCB_free , _RSA_PSS_PARAMS_free )
  "_freeaddrinfo", referenced from:
      _BIO_ADDRINFO_free in b_addr.o
      _BIO_lookup_ex in b_addr.o
  "_fseek", referenced from:
      _file_ctrl in bss_file.o
  "_fstat$INODE64", referenced from:
      _rand_pool_cleanup in rand_unix.o
      _rand_pool_acquire_entropy in rand_unix.o
      _RAND_load_file in randfile.o
  "_ftell", referenced from:
      _file_ctrl in bss_file.o
  "_fwrite$UNIX2003", referenced from:
      _send_fp_chars in a_strex.o
      _write_fp in b_dump.o
      _file_write in bss_file.o
      _file_puts in bss_file.o
      _test_rc4_init_key in eng_openssl.o
      _RAND_write_file in randfile.o
      _read_string in ui_openssl.o
      ...
  "_gai_strerror", referenced from:
      _addr_strings in b_addr.o
      _BIO_lookup_ex in b_addr.o
  "_getaddrinfo", referenced from:
      _BIO_lookup_ex in b_addr.o
  "_getcontext", referenced from:
      _ASYNC_is_capable in async_posix.o
      _async_fibre_makecontext in async_posix.o
  "_getegid", referenced from:
      _OPENSSL_issetugid in uid.o
  "_getenv", referenced from:
      _OPENSSL_cpuid_setup in cryptlib.o
      _ossl_safe_getenv in getenv.o
     (maybe you meant: _ossl_safe_getenv)
  "_geteuid", referenced from:
      _OPENSSL_issetugid in uid.o
  "_getgid", referenced from:
      _OPENSSL_issetugid in uid.o
  "_gethostbyname", referenced from:
      _BIO_gethostbyname in b_sock.o
     (maybe you meant: _BIO_gethostbyname)
  "_getnameinfo", referenced from:
      _addr_strings in b_addr.o
  "_getpid", referenced from:
      _rand_pool_add_nonce_data in rand_unix.o
      _openssl_get_fork_id in threads_pthread.o
  "_getsockname$UNIX2003", referenced from:
      _BIO_sock_info in b_sock.o
  "_getsockopt", referenced from:
      _BIO_sock_error in b_sock.o
      _BIO_listen in b_sock2.o
      _dgram_read in bss_dgram.o
      _dgram_ctrl in bss_dgram.o
  "_gettimeofday", referenced from:
      _dgram_read in bss_dgram.o
      _def_time_cb in ts_rsp_sign.o
  "_getuid", referenced from:
      _OPENSSL_issetugid in uid.o
  "_gmtime", referenced from:
      _OPENSSL_gmtime in o_time.o
     (maybe you meant: _OPENSSL_gmtime, _OPENSSL_gmtime_diff , _OPENSSL_gmtime_adj , _X509_gmtime_adj )
  "_ioctl", referenced from:
      _BIO_socket_ioctl in b_sock.o
      _BIO_socket_nbio in b_sock.o
     (maybe you meant: _BIO_socket_ioctl)
  "_listen$UNIX2003", referenced from:
      _BIO_listen in b_sock2.o
  "_lseek", referenced from:
      _fd_ctrl in bss_fd.o
  "_makecontext", referenced from:
      _async_fibre_makecontext in async_posix.o
     (maybe you meant: _async_fibre_makecontext)
  "_malloc", referenced from:
      _OPENSSL_INIT_new in conf_lib.o
      _CRYPTO_malloc in mem.o
      _CRYPTO_zalloc in mem.o
      _CRYPTO_realloc in mem.o
      _CRYPTO_clear_realloc in mem.o
      _OPENSSL_DIR_read in o_dir.o
     (maybe you meant: _CRYPTO_secure_malloc_done, _CRYPTO_secure_malloc_initialized , _CRYPTO_secure_malloc_init , _CRYPTO_secure_malloc , _CRYPTO_malloc )
  "_memchr", referenced from:
      _OCSP_REQ_CTX_nbio in ocsp_ht.o
      _PEM_read_bio_ex in pem_lib.o
      _ossl_store_register_loader_int in store_register.o
      _int_x509_param_set_hosts in x509_vpm.o
      _X509_check_host in v3_utl.o
      _X509_check_email in v3_utl.o
  "_memcmp", referenced from:
      _ASN1_STRING_cmp in asn1_lib.o
      _der_cmp in tasn_enc.o
      _cms_DigestedData_do_final in cms_dd.o
      _cms_Receipt_verify in cms_ess.o
      _CMS_SignerInfo_verify_content in cms_sd.o
      _CTLOG_STORE_get0_log_by_id in ct_log.o
      _SCT_CTX_verify in ct_vfy.o
      ...
     (maybe you meant: _OPENSSL_memcmp, _CRYPTO_memcmp )
  "_memcpy", referenced from:
      _i2c_ASN1_BIT_STRING in a_bitstr.o
      _c2i_ASN1_BIT_STRING in a_bitstr.o
      _d2i_ASN1_UINTEGER in a_int.o
      _i2d_ASN1_OBJECT in a_object.o
      _c2i_ASN1_OBJECT in a_object.o
      _ASN1_TIME_set_string_X509 in a_time.o
      _generate_v3 in asn1_gen.o
      ...
  "_memmove", referenced from:
      _linebuffer_write in bf_lbuf.o
      _linebuffer_ctrl in bf_lbuf.o
      _mem_write in bss_mem.o
      _mem_ctrl in bss_mem.o
      _DH_compute_key_padded in dh_key.o
      _b64_read in bio_b64.o
      _ok_read in bio_ok.o
      ...
  "_memset", referenced from:
      _EVP_EncryptFinal_ex in evp_enc.o
      _PKCS12_key_gen_uni in p12_key.o
      _RSA_padding_add_PKCS1_type_1 in rsa_pk1.o
      _RSA_padding_add_X931 in rsa_x931.o
      _sm2_decrypt in sm2_crypt.o
      _extract_min_max in v3_addr.o
      _i2r_address in v3_addr.o
      ...
  "_mlock", referenced from:
      _CRYPTO_secure_malloc_init in mem_sec.o
  "_mmap$UNIX2003", referenced from:
      _CRYPTO_secure_malloc_init in mem_sec.o
  "_mprotect$UNIX2003", referenced from:
      _CRYPTO_secure_malloc_init in mem_sec.o
  "_munmap$UNIX2003", referenced from:
      _CRYPTO_secure_malloc_init in mem_sec.o
      _CRYPTO_secure_malloc_done in mem_sec.o
  "_open$UNIX2003", referenced from:
      _rand_pool_acquire_entropy in rand_unix.o
      _RAND_write_file in randfile.o
  "_opendir$INODE64$UNIX2003", referenced from:
      _OPENSSL_DIR_read in o_dir.o
  "_openlog", referenced from:
      _slg_ctrl in bss_log.o
      _slg_new in bss_log.o
  "_perror", referenced from:
      _dgram_read in bss_dgram.o
      _dgram_ctrl in bss_dgram.o
  "_pthread_atfork", referenced from:
      _fork_once_func in threads_pthread.o
  "_pthread_equal", referenced from:
      _CRYPTO_THREAD_compare_id in threads_pthread.o
  "_pthread_getspecific", referenced from:
      _CRYPTO_THREAD_get_local in threads_pthread.o
  "_pthread_key_create", referenced from:
      _CRYPTO_THREAD_init_local in threads_pthread.o
  "_pthread_key_delete", referenced from:
      _CRYPTO_THREAD_cleanup_local in threads_pthread.o
  "_pthread_once", referenced from:
      _CRYPTO_THREAD_run_once in threads_pthread.o
      _openssl_init_fork_handlers in threads_pthread.o
  "_pthread_rwlock_destroy$UNIX2003", referenced from:
      _CRYPTO_THREAD_lock_free in threads_pthread.o
  "_pthread_rwlock_init$UNIX2003", referenced from:
      _CRYPTO_THREAD_lock_new in threads_pthread.o
  "_pthread_rwlock_rdlock$UNIX2003", referenced from:
      _CRYPTO_THREAD_read_lock in threads_pthread.o
  "_pthread_rwlock_unlock$UNIX2003", referenced from:
      _CRYPTO_THREAD_unlock in threads_pthread.o
  "_pthread_rwlock_wrlock$UNIX2003", referenced from:
      _CRYPTO_THREAD_write_lock in threads_pthread.o
  "_pthread_self", referenced from:
      _CRYPTO_THREAD_get_current_id in threads_pthread.o
  "_pthread_setspecific", referenced from:
      _CRYPTO_THREAD_set_local in threads_pthread.o
  "_qsort", referenced from:
      _asn1_template_ex_i2d in tasn_enc.o
      _OBJ_NAME_do_all_sorted in o_names.o
      _OPENSSL_sk_find in stack.o
      _OPENSSL_sk_find_ex in stack.o
      _OPENSSL_sk_sort in stack.o
  "_read$UNIX2003", referenced from:
      _conn_read in bss_conn.o
      _fd_read in bss_fd.o
      _sock_read in bss_sock.o
      _rand_pool_acquire_entropy in rand_unix.o
  "_readdir$INODE64", referenced from:
      _OPENSSL_DIR_read in o_dir.o
  "_realloc", referenced from:
      _CRYPTO_realloc in mem.o
     (maybe you meant: _CRYPTO_clear_realloc, _CRYPTO_realloc )
  "_recvfrom$UNIX2003", referenced from:
      _dgram_read in bss_dgram.o
  "_sendto$UNIX2003", referenced from:
      _dgram_write in bss_dgram.o
  "_setbuf", referenced from:
      _RAND_load_file in randfile.o
  "_setcontext", referenced from:
      _async_fibre_swapcontext in async.o
  "_setsockopt", referenced from:
      _BIO_set_tcp_ndelay in b_sock.o
      _BIO_connect in b_sock2.o
      _BIO_bind in b_sock2.o
      _BIO_listen in b_sock2.o
      _dgram_read in bss_dgram.o
      _dgram_ctrl in bss_dgram.o
  "_shutdown", referenced from:
      _acpt_ctrl in bss_acpt.o
      _acpt_free in bss_acpt.o
      _conn_free in bss_conn.o
     (maybe you meant: _X509_LOOKUP_meth_get_shutdown, _X509_LOOKUP_shutdown , _BIO_set_shutdown , _X509_LOOKUP_meth_set_shutdown , _BIO_get_shutdown )
  "_sigaction", referenced from:
      _read_string_inner in ui_openssl.o
  "_signal", referenced from:
      _read_string_inner in ui_openssl.o
  "_socket", referenced from:
      _BIO_socket in b_sock2.o
     (maybe you meant: _BIO_socket_nbio, _BIO_s_socket , _BIO_new_socket , _BIO_socket_ioctl , _BIO_get_accept_socket , _BIO_socket )
  "_sprintf", referenced from:
      _dlfcn_name_converter in dso_dlfcn.o
  "_sscanf", referenced from:
      _a2i_ipadd in v3_utl.o
      _ipv6_cb in v3_utl.o
  "_stat$INODE64", referenced from:
      _def_load_bio in conf_def.o
      _RAND_write_file in randfile.o
      _file_open in loader_file.o
      _get_cert_by_subject in by_dir.o
  "_strcasecmp", referenced from:
      _get_next_file in conf_def.o
      _obj_name_cmp in o_names.o
      _OBJ_NAME_new_index in o_names.o
      _OSSL_STORE_open in store_lib.o
      _v2i_TLS_FEATURE in v3_tlsf.o
  "_strcat", referenced from:
      _BIO_accept in b_sock.o
  "_strchr", referenced from:
      _BIO_parse_hostserv in b_addr.o
      _BIO_new_file in bss_file.o
      _CONF_parse_list in conf_mod.o
      _ssl_module_init in conf_ssl.o
      _dlfcn_name_converter in dso_dlfcn.o
      _int_engine_module_init in eng_cnf.o
      _OCSP_parse_url in ocsp_lib.o
      ...
  "_strcmp", referenced from:
      _ASN1_STRING_set_default_mask_asc in a_strnid.o
      _ASN1_ITEM_lookup in asn1_item_list.o
      _SMIME_read_ASN1 in asn_mime.o
      _SMIME_text in asn_mime.o
      _mime_hdr_cmp in asn_mime.o
      _mime_param_cmp in asn_mime.o
      _stbl_module_init in asn_mstbl.o
      ...
  "_strcpy", referenced from:
      _BIO_accept in b_sock.o
      _dlfcn_name_converter in dso_dlfcn.o
      _dlfcn_merger in dso_dlfcn.o
      _ENGINE_ctrl in eng_ctrl.o
      _CRYPTO_strdup in o_str.o
      _RAND_file_name in randfile.o
  "_strcspn", referenced from:
      _PEM_get_EVP_CIPHER_INFO in pem_lib.o
  "_strdup", referenced from:
      _OPENSSL_INIT_set_config_filename in conf_lib.o
      _OPENSSL_INIT_set_config_appname in conf_lib.o
      _OPENSSL_config in conf_sap.o
     (maybe you meant: _CRYPTO_strdup)
  "_strerror$UNIX2003", referenced from:
      _openssl_strerror_r in o_str.o
  "_strlen", referenced from:
      _ASN1_GENERALIZEDTIME_set_string in a_gentm.o
      _ASN1_mbstring_ncopy in a_mbstr.o
      _a2d_ASN1_OBJECT in a_object.o
      _do_name_ex in a_strex.o
      _do_print_ex in a_strex.o
      _ASN1_TIME_set_string_X509 in a_time.o
      _ASN1_UTCTIME_set_string in a_utctm.o
      ...
  "_strncasecmp", referenced from:
      _EVP_PKEY_asn1_find_str in ameth_lib.o
      _ENGINE_get_pkey_asn1_meth_str in tb_asnmth.o
      _look_str_cb in tb_asnmth.o
      _file_open in loader_file.o
      _file_load in loader_file.o
      _equal_wildcard in v3_utl.o
  "_strncmp", referenced from:
      _ASN1_STRING_set_default_mask_asc in a_strnid.o
      _mask_cb in asn1_gen.o
      _asn1_cb in asn1_gen.o
      _SMIME_read_ASN1 in asn_mime.o
      _slg_write in bss_log.o
      _def_load_bio in conf_def.o
      _CONF_modules_load in conf_mod.o
      ...
  "_strncpy", referenced from:
      _BIO_ADDR_rawmake in b_addr.o
      _BIO_lookup_ex in b_addr.o
      _EVP_set_pw_prompt in evp_key.o
      _TS_RESP_verify_response in ts_rsp_verify.o
      _X509_NAME_oneline in x509_obj.o
  "_strrchr", referenced from:
      _oid_module_init in asn_moid.o
      _BIO_parse_hostserv in b_addr.o
      _CONF_modules_load in conf_mod.o
  "_strspn", referenced from:
      _PEM_get_EVP_CIPHER_INFO in pem_lib.o
      _v2i_IPAddrBlocks in v3_addr.o
      _v2i_ASIdentifiers in v3_asid.o
  "_strstr", referenced from:
      _file_open in loader_file.o
  "_strtol", referenced from:
      _ENGINE_ctrl_cmd_string in eng_ctrl.o
      _v2i_TLS_FEATURE in v3_tlsf.o
  "_strtoul", referenced from:
      _ASN1_STRING_set_default_mask_asc in a_strnid.o
      _parse_tagging in asn1_gen.o
      _bitstr_cb in asn1_gen.o
      _stbl_module_init in asn_mstbl.o
      _OCSP_REQ_CTX_nbio in ocsp_ht.o
      _v2i_IPAddrBlocks in v3_addr.o
  "_sysconf", referenced from:
      _CRYPTO_secure_malloc_init in mem_sec.o
  "_syslog$DARWIN_EXTSN", referenced from:
      _slg_write in bss_log.o
  "_tcgetattr", referenced from:
      _open_console in ui_openssl.o
  "_tcsetattr", referenced from:
      _read_string_inner in ui_openssl.o
  "_time", referenced from:
      _ASN1_TIME_to_generalizedtime in a_time.o
      _ASN1_TIME_to_tm in a_time.o
      _ASN1_TIME_diff in a_time.o
      _ASN1_TIME_cmp_time_t in a_time.o
      _ASN1_TIME_normalize in a_time.o
      _CT_POLICY_EVAL_CTX_new in ct_policy.o
      _OCSP_check_validity in ocsp_cl.o
      ...
     (maybe you meant: _X509_STORE_CTX_set_time, _X509_time_adj_ex , _X509_time_adj , _x509_check_cert_time , _TS_TST_INFO_set_time , _TS_RESP_CTX_set_time_cb , _RAND_DRBG_set_reseed_time_interval , _X509_VERIFY_PARAM_set_time , _PKCS7_add0_attrib_signing_time , _X509_cmp_time , _TS_TST_INFO_get_time , _CT_POLICY_EVAL_CTX_set_time , _SCT_CTX_set_time , _SCT_get_timestamp , _CT_POLICY_EVAL_CTX_get_time , _SCT_set_timestamp , _X509_cmp_current_time , _asn1_time_from_tm , _ASN1_TIME_cmp_time_t , _x509_set1_time , _ASN1_UTCTIME_cmp_time_t , _asn1_time_to_tm , _X509_VERIFY_PARAM_get_time , _err_clear_last_constant_time )
  "_vfprintf", referenced from:
      _OPENSSL_showfatal in cryptlib.o
  "_write$UNIX2003", referenced from:
      _conn_write in bss_conn.o
      _conn_puts in bss_conn.o
      _dgram_write in bss_dgram.o
      _fd_write in bss_fd.o
      _sock_write in bss_sock.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[4]: *** [libcrypto.dylib] Error 1
make[3]: *** [all] Error 2
make[2]: *** [build/src/project_libopenssl-stamp/project_libopenssl-build] Error 2
make[1]: *** [CMakeFiles/project_libopenssl.dir/all] Error 2
make: *** [all] Error 2
CMake Error at CMake/Utilities.cmake:72 (message):
  CMake step for libopenssl failed: 2
Call Stack (most recent call first):
  CMakeLists.txt:120 (build_dependency)
niyatim23 commented 2 years ago

Hi @tubzby, can you try the following:

  1. install openssl with brew: brew install openssl
  2. export the path before the cmake as: export PKG_CONFIG_PATH="<your-path>/openssl@1.1/lib/pkgconfig" (eg: export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@1.1/lib/pkgconfig"). You can find your path after installation with which openssl
  3. turn off this flag in your cmake instruction as: cmake .. -DUSE_OPENSSL=OFF
tubzby commented 2 years ago

Openssl phase passed, but it failed on libwebscoket, seems it had detected mbedtls instead of openssl inside /opt/homebrew but somehow the version is not matching.

-- The C compiler identification is AppleClang 13.1.6.13160021
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Looking for include file ifaddrs.h
-- Looking for include file ifaddrs.h - found
-- Looking for getifaddrs
-- Looking for getifaddrs - found
-- Kinesis Video WebRTC Client path is /Users/liuzhiping/src/amazon-kinesis-video-streams-webrtc-sdk-c
-- dependencies install path is /Users/liuzhiping/src/amazon-kinesis-video-streams-webrtc-sdk-c/open-source
-- Begin building dependencies.
-- Copying patches for dependency websockets: /Users/liuzhiping/src/amazon-kinesis-video-streams-webrtc-sdk-c/./CMake/Dependencies/libwebsockets-leak-pipe-fix.patch;/Users/liuzhiping/src/amazon-kinesis-video-streams-webrtc-sdk-c/./CMake/Dependencies/libwebsockets-old-gcc-fix-cast-cmakelists.patch
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    OPENSSL_DIR
    USE_MBEDTLS

-- Build files have been written to: /Volumes/SamsungSSD/src/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/libwebsockets
[ 11%] Creating directories for 'project_libwebsockets'
[ 22%] Performing download step (git clone) for 'project_libwebsockets'
Cloning into 'project_libwebsockets'...
HEAD is now at 8d605f06 ss: sigv4: disable ctest until new auth available
[ 33%] Performing update step for 'project_libwebsockets'
[ 44%] Performing patch step for 'project_libwebsockets'
[ 55%] Performing configure step for 'project_libwebsockets'
-- The C compiler identification is AppleClang 13.1.6.13160021
-- The CXX compiler identification is AppleClang 13.1.6.13160021
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Compiled with LWS_WITH_DIR and LWS_WITH_LEJP_CONF
-- Found Git: /usr/bin/git (found version "2.32.1 (Apple Git-133)")
Git commit hash: v4.2.2
-- Performing Test LWS_HAVE_inline
-- Performing Test LWS_HAVE_inline - Success
-- Performing Test LWS_HAVE___inline__
-- Performing Test LWS_HAVE___inline__ - Success
-- Performing Test LWS_HAVE___inline
-- Performing Test LWS_HAVE___inline - Success
-- Performing Test LWS_HAVE_MALLOC_TRIM
-- Performing Test LWS_HAVE_MALLOC_TRIM - Failed
-- Performing Test LWS_HAVE_MALLOC_USABLE_SIZE
-- Performing Test LWS_HAVE_MALLOC_USABLE_SIZE - Failed
-- Looking for fork
-- Looking for fork - found
-- Looking for getenv
-- Looking for getenv - found
-- Looking for malloc
-- Looking for malloc - found
-- Looking for memset
-- Looking for memset - found
-- Looking for realloc
-- Looking for realloc - found
-- Looking for socket
-- Looking for socket - found
-- Looking for strerror
-- Looking for strerror - found
-- Looking for vfork
-- Looking for vfork - found
-- Looking for execvpe
-- Looking for execvpe - not found
-- Looking for getifaddrs
-- Looking for getifaddrs - found
-- Looking for snprintf
-- Looking for snprintf - found
-- Looking for _snprintf
-- Looking for _snprintf - not found
-- Looking for _vsnprintf
-- Looking for _vsnprintf - not found
-- Looking for getloadavg
-- Looking for getloadavg - found
-- Looking for atoll
-- Looking for atoll - found
-- Looking for _atoi64
-- Looking for _atoi64 - not found
-- Looking for _stat32i64
-- Looking for _stat32i64 - not found
-- Looking for clock_gettime
-- Looking for clock_gettime - found
-- Looking for localtime_r
-- Looking for localtime_r - found
-- Looking for gmtime_r
-- Looking for gmtime_r - found
-- Looking for ctime_r
-- Looking for ctime_r - found
-- Looking for getgrgid_r
-- Looking for getgrgid_r - found
-- Looking for getgrnam_r
-- Looking for getgrnam_r - found
-- Looking for getpwuid_r
-- Looking for getpwuid_r - found
-- Looking for getpwnam_r
-- Looking for getpwnam_r - found
-- Looking for timegm
-- Looking for timegm - found
-- Looking for in6addr.h
-- Looking for in6addr.h - not found
-- Looking for memory.h
-- Looking for memory.h - found
-- Looking for netinet/in.h
-- Looking for netinet/in.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stdlib.h
-- Looking for stdlib.h - found
-- Looking for strings.h
-- Looking for strings.h - found
-- Looking for string.h
-- Looking for string.h - found
-- Looking for sys/prctl.h
-- Looking for sys/prctl.h - not found
-- Looking for sys/socket.h
-- Looking for sys/socket.h - found
-- Looking for sys/sockio.h
-- Looking for sys/sockio.h - found
-- Looking for sys/stat.h
-- Looking for sys/stat.h - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for vfork.h
-- Looking for vfork.h - not found
-- Looking for sys/capability.h
-- Looking for sys/capability.h - not found
-- Looking for malloc.h
-- Looking for malloc.h - not found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for inttypes.h
-- Looking for inttypes.h - found
-- Looking for sys/resource.h
-- Looking for sys/resource.h - found
-- Looking for cap_set_flag in cap
-- Looking for cap_set_flag in cap - not found
-- Looking for 3 include files stdlib.h, ..., string.h
-- Looking for 3 include files stdlib.h, ..., string.h - found
-- Performing Test LWS_HAS_INTPTR_T
-- Performing Test LWS_HAS_INTPTR_T - Success
-- Performing Test LWS_HAS_PTHREAD_SETNAME_NP
-- Performing Test LWS_HAS_PTHREAD_SETNAME_NP - Failed
-- Performing Test LWS_HAS_GETOPT_LONG
-- Performing Test LWS_HAS_GETOPT_LONG - Success
-- Performing Test LWS_HAVE_RTA_PREF
-- Performing Test LWS_HAVE_RTA_PREF - Failed
-- Performing Test LWS_HAVE_SUSECONDS_T
-- Performing Test LWS_HAVE_SUSECONDS_T - Success
-- Performing Test LWS_HAVE_VISIBILITY
-- Performing Test LWS_HAVE_VISIBILITY - Success
-- Performing Test LWS_GCC_HAS_IGNORED_QUALIFIERS
-- Performing Test LWS_GCC_HAS_IGNORED_QUALIFIERS - Success
-- Performing Test LWS_GCC_HAS_TYPE_LIMITS
-- Performing Test LWS_GCC_HAS_TYPE_LIMITS - Success
-- Performing Test LWS_GCC_HAS_NO_DEPRECATED_DECLARATIONS
-- Performing Test LWS_GCC_HAS_NO_DEPRECATED_DECLARATIONS - Success
-- Performing Test LWS_HAVE_PIPE2
-- Performing Test LWS_HAVE_PIPE2 - Failed
-- Performing Test LWS_HAVE_TCP_USER_TIMEOUT
-- Performing Test LWS_HAVE_TCP_USER_TIMEOUT - Failed
-- Found MBEDTLS: /opt/homebrew/include
-- Performing Test LWS_HAVE_MBEDTLS_NET_SOCKETS
-- Performing Test LWS_HAVE_MBEDTLS_NET_SOCKETS - Failed
Compiling with SSL support
-- Looking for SSL_CTX_set1_param
-- Looking for SSL_CTX_set1_param - not found
-- Looking for SSL_set_info_callback
-- Looking for SSL_set_info_callback - not found
-- Looking for X509_VERIFY_PARAM_set1_host
-- Looking for X509_VERIFY_PARAM_set1_host - not found
-- Looking for X509_VERIFY_PARAM_set1_host
-- Looking for X509_VERIFY_PARAM_set1_host - not found
-- Looking for RSA_set0_key
-- Looking for RSA_set0_key - not found
-- Looking for X509_get_key_usage
-- Looking for X509_get_key_usage - not found
-- Looking for SSL_CTX_EVP_PKEY_new_raw_private_key
-- Looking for SSL_CTX_EVP_PKEY_new_raw_private_key - not found
-- Looking for SSL_CTX_get0_certificate
-- Looking for SSL_CTX_get0_certificate - not found
-- Looking for SSL_get0_alpn_selected
-- Looking for SSL_get0_alpn_selected - not found
-- Looking for SSL_set_alpn_protos
-- Looking for SSL_set_alpn_protos - not found
-- Looking for EVP_aes_128_cfb8
-- Looking for EVP_aes_128_cfb8 - not found
-- Looking for EVP_aes_128_cfb128
-- Looking for EVP_aes_128_cfb128 - not found
-- Looking for EVP_aes_192_cfb8
-- Looking for EVP_aes_192_cfb8 - not found
-- Looking for EVP_aes_192_cfb128
-- Looking for EVP_aes_192_cfb128 - not found
-- Looking for EVP_aes_256_cfb8
-- Looking for EVP_aes_256_cfb8 - not found
-- Looking for EVP_aes_256_cfb128
-- Looking for EVP_aes_256_cfb128 - not found
-- Looking for EVP_aes_128_xts
-- Looking for EVP_aes_128_xts - not found
-- Looking for RSA_verify_pss_mgf1
-- Looking for RSA_verify_pss_mgf1 - not found
-- Looking for EVP_PKEY_new_raw_private_key
-- Looking for EVP_PKEY_new_raw_private_key - not found
-- Looking for SSL_SESSION_set_time
-- Looking for SSL_SESSION_set_time - not found
-- Looking for EC_KEY_new_by_curve_name
-- Looking for EC_KEY_new_by_curve_name - not found
-- Looking for mbedtls_ssl_conf_alpn_protocols
-- Looking for mbedtls_ssl_conf_alpn_protocols - found
-- Looking for mbedtls_ssl_get_alpn_protocol
-- Looking for mbedtls_ssl_get_alpn_protocol - found
-- Looking for mbedtls_ssl_conf_sni
-- Looking for mbedtls_ssl_conf_sni - found
-- Looking for mbedtls_ssl_set_hs_ca_chain
-- Looking for mbedtls_ssl_set_hs_ca_chain - found
-- Looking for mbedtls_ssl_set_hs_own_cert
-- Looking for mbedtls_ssl_set_hs_own_cert - found
-- Looking for mbedtls_ssl_set_hs_authmode
-- Looking for mbedtls_ssl_set_hs_authmode - found
-- Looking for mbedtls_net_init
-- Looking for mbedtls_net_init - found
-- Looking for mbedtls_md_setup
-- Looking for mbedtls_md_setup - found
-- Looking for mbedtls_rsa_complete
-- Looking for mbedtls_rsa_complete - found
-- Looking for mbedtls_internal_aes_encrypt
-- Looking for mbedtls_internal_aes_encrypt - found
Searching for OpenSSL executable and dlls
 GENCERTS = 0
DIR /Volumes/SamsungSSD/src/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/libwebsockets/build/src/project_libwebsockets-build CMP /Volumes/SamsungSSD/src/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/libwebsockets/build/src/project_libwebsockets/cmake
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    LWS_OPENSSL_CRYPTO_LIBRARY
    LWS_OPENSSL_SSL_LIBRARY

-- Build files have been written to: /Volumes/SamsungSSD/src/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/libwebsockets/build/src/project_libwebsockets-build
[ 66%] Performing build step for 'project_libwebsockets'
[  1%] Creating build include dir
[  1%] Built target GENHDR
[  2%] Building C object lib/CMakeFiles/websockets_shared.dir/plat/unix/unix-caps.c.o
[  3%] Building C object lib/CMakeFiles/websockets_shared.dir/plat/unix/unix-misc.c.o
[  5%] Building C object lib/CMakeFiles/websockets_shared.dir/plat/unix/unix-init.c.o
[  6%] Building C object lib/CMakeFiles/websockets_shared.dir/plat/unix/unix-file.c.o
[  7%] Building C object lib/CMakeFiles/websockets_shared.dir/plat/unix/unix-pipe.c.o
[  8%] Building C object lib/CMakeFiles/websockets_shared.dir/plat/unix/unix-service.c.o
[ 10%] Building C object lib/CMakeFiles/websockets_shared.dir/plat/unix/unix-sockets.c.o
/Volumes/SamsungSSD/src/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/libwebsockets/build/src/project_libwebsockets/lib/plat/unix/unix-sockets.c:45:10: fatal error: 'mbedtls/net.h' file not found
#include "mbedtls/net.h"
         ^~~~~~~~~~~~~~~
1 error generated.
make[5]: *** [lib/CMakeFiles/websockets_shared.dir/plat/unix/unix-sockets.c.o] Error 1
make[4]: *** [lib/CMakeFiles/websockets_shared.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [build/src/project_libwebsockets-stamp/project_libwebsockets-build] Error 2
make[1]: *** [CMakeFiles/project_libwebsockets.dir/all] Error 2
make: *** [all] Error 2
CMake Error at CMake/Utilities.cmake:72 (message):
  CMake step for libwebsockets failed: 2
Call Stack (most recent call first):
  CMakeLists.txt:134 (build_dependency)

-- Configuring incomplete, errors occurred!
See also "/Users/liuzhiping/src/amazon-kinesis-video-streams-webrtc-sdk-c/build/CMakeFiles/CMakeOutput.log".
See also "/Users/liuzhiping/src/amazon-kinesis-video-streams-webrtc-sdk-c/build/CMakeFiles/CMakeError.log".
tubzby commented 2 years ago

For anyone having this issue, I have built it with cmake -DUSE_OPENSSL=OFF -DUSE_MBEDTLS=ON ..

In case mbedtls failes to compile, add a line in CMake/Dependencies/libmbedtls-CMakeLists.txt

-DMBEDTLS_FATAL_WARNINGS=OFF
niyatim23 commented 2 years ago

Hi @tubzby, if you want to use openssl, you can use locally installed openssl from your system. To do that with the WebRTC SDK please use this branch. You will also need to set some flags prior to that. The instructions for the same can be found here

Closing assuming resolved. Feel free to reopen in case the issue persists

tubzby commented 2 years ago

Thanks for your support! Unfortunately, the openssl_local branch still failed on building libwebsockets:

(base) ➜  build git:(openssl_local) ✗ ls -l /opt/homebrew/opt/openssl@1.1
lrwxr-xr-x  1 liuzhiping  admin  28 May  9 20:22 /opt/homebrew/opt/openssl@1.1 -> ../Cellar/openssl@1.1/1.1.1o
(base) ➜  build git:(openssl_local) ✗ which openssl
/opt/homebrew/opt/openssl@1.1/bin//openssl
(base) ➜  build git:(openssl_local) ✗ echo $PKG_CONFIG_PATH
/opt/homebrew/opt/openssl@1.1/lib/pkgconfig
(base) ➜  build git:(openssl_local) ✗ echo $CPPFLAGS
-I/opt/homebrew/opt/openssl@1.1/include
(base) ➜  build git:(openssl_local) ✗ echo $LDFLAGS
-L/opt/homebrew/opt/openssl@1.1/lib
(base) ➜  build git:(openssl_local) ✗ cmake -DLOCAL_OPENSSL_BUILD=ON -DOPENSSL_ROOT_DIR="/opt/homebrew/opt/openssl@1.1/include/openssl" ..
-- Kinesis Video WebRTC Client path is /Users/liuzhiping/src/amazon-kinesis-video-streams-webrtc-sdk-c
-- dependencies install path is /Users/liuzhiping/src/amazon-kinesis-video-streams-webrtc-sdk-c/open-source
-- Begin building dependencies.
-- Copying patches for dependency websockets: /Users/liuzhiping/src/amazon-kinesis-video-streams-webrtc-sdk-c/./CMake/Dependencies/libwebsockets-leak-pipe-fix.patch;/Users/liuzhiping/src/amazon-kinesis-video-streams-webrtc-sdk-c/./CMake/Dependencies/libwebsockets-old-gcc-fix-cast-cmakelists.patch
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    OPENSSL_DIR
    USE_MBEDTLS

-- Build files have been written to: /Users/liuzhiping/src/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/libwebsockets
[ 11%] Creating directories for 'project_libwebsockets'
[ 22%] Performing download step (git clone) for 'project_libwebsockets'
Cloning into 'project_libwebsockets'...
HEAD is now at 8d605f06 ss: sigv4: disable ctest until new auth available
[ 33%] Performing update step for 'project_libwebsockets'
[ 44%] Performing patch step for 'project_libwebsockets'
[ 55%] Performing configure step for 'project_libwebsockets'
-- The C compiler identification is AppleClang 13.1.6.13160021
-- The CXX compiler identification is AppleClang 13.1.6.13160021
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Compiled with LWS_WITH_DIR and LWS_WITH_LEJP_CONF
-- Found Git: /usr/bin/git (found version "2.32.1 (Apple Git-133)")
Git commit hash: v4.2.2
-- Performing Test LWS_HAVE_inline
-- Performing Test LWS_HAVE_inline - Success
-- Performing Test LWS_HAVE___inline__
-- Performing Test LWS_HAVE___inline__ - Success
-- Performing Test LWS_HAVE___inline
-- Performing Test LWS_HAVE___inline - Success
-- Performing Test LWS_HAVE_MALLOC_TRIM
-- Performing Test LWS_HAVE_MALLOC_TRIM - Failed
-- Performing Test LWS_HAVE_MALLOC_USABLE_SIZE
-- Performing Test LWS_HAVE_MALLOC_USABLE_SIZE - Failed
-- Looking for fork
-- Looking for fork - found
-- Looking for getenv
-- Looking for getenv - found
-- Looking for malloc
-- Looking for malloc - found
-- Looking for memset
-- Looking for memset - found
-- Looking for realloc
-- Looking for realloc - found
-- Looking for socket
-- Looking for socket - found
-- Looking for strerror
-- Looking for strerror - found
-- Looking for vfork
-- Looking for vfork - found
-- Looking for execvpe
-- Looking for execvpe - not found
-- Looking for getifaddrs
-- Looking for getifaddrs - found
-- Looking for snprintf
-- Looking for snprintf - found
-- Looking for _snprintf
-- Looking for _snprintf - not found
-- Looking for _vsnprintf
-- Looking for _vsnprintf - not found
-- Looking for getloadavg
-- Looking for getloadavg - found
-- Looking for atoll
-- Looking for atoll - found
-- Looking for _atoi64
-- Looking for _atoi64 - not found
-- Looking for _stat32i64
-- Looking for _stat32i64 - not found
-- Looking for clock_gettime
-- Looking for clock_gettime - found
-- Looking for localtime_r
-- Looking for localtime_r - found
-- Looking for gmtime_r
-- Looking for gmtime_r - found
-- Looking for ctime_r
-- Looking for ctime_r - found
-- Looking for getgrgid_r
-- Looking for getgrgid_r - found
-- Looking for getgrnam_r
-- Looking for getgrnam_r - found
-- Looking for getpwuid_r
-- Looking for getpwuid_r - found
-- Looking for getpwnam_r
-- Looking for getpwnam_r - found
-- Looking for timegm
-- Looking for timegm - found
-- Looking for in6addr.h
-- Looking for in6addr.h - not found
-- Looking for memory.h
-- Looking for memory.h - found
-- Looking for netinet/in.h
-- Looking for netinet/in.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stdlib.h
-- Looking for stdlib.h - found
-- Looking for strings.h
-- Looking for strings.h - found
-- Looking for string.h
-- Looking for string.h - found
-- Looking for sys/prctl.h
-- Looking for sys/prctl.h - not found
-- Looking for sys/socket.h
-- Looking for sys/socket.h - found
-- Looking for sys/sockio.h
-- Looking for sys/sockio.h - found
-- Looking for sys/stat.h
-- Looking for sys/stat.h - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for vfork.h
-- Looking for vfork.h - not found
-- Looking for sys/capability.h
-- Looking for sys/capability.h - not found
-- Looking for malloc.h
-- Looking for malloc.h - not found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for inttypes.h
-- Looking for inttypes.h - found
-- Looking for sys/resource.h
-- Looking for sys/resource.h - found
-- Looking for cap_set_flag in cap
-- Looking for cap_set_flag in cap - not found
-- Looking for 3 include files stdlib.h, ..., string.h
-- Looking for 3 include files stdlib.h, ..., string.h - found
-- Performing Test LWS_HAS_INTPTR_T
-- Performing Test LWS_HAS_INTPTR_T - Success
-- Performing Test LWS_HAS_PTHREAD_SETNAME_NP
-- Performing Test LWS_HAS_PTHREAD_SETNAME_NP - Failed
-- Performing Test LWS_HAS_GETOPT_LONG
-- Performing Test LWS_HAS_GETOPT_LONG - Success
-- Performing Test LWS_HAVE_RTA_PREF
-- Performing Test LWS_HAVE_RTA_PREF - Failed
-- Performing Test LWS_HAVE_SUSECONDS_T
-- Performing Test LWS_HAVE_SUSECONDS_T - Success
-- Performing Test LWS_HAVE_VISIBILITY
-- Performing Test LWS_HAVE_VISIBILITY - Success
-- Performing Test LWS_GCC_HAS_IGNORED_QUALIFIERS
-- Performing Test LWS_GCC_HAS_IGNORED_QUALIFIERS - Success
-- Performing Test LWS_GCC_HAS_TYPE_LIMITS
-- Performing Test LWS_GCC_HAS_TYPE_LIMITS - Success
-- Performing Test LWS_GCC_HAS_NO_DEPRECATED_DECLARATIONS
-- Performing Test LWS_GCC_HAS_NO_DEPRECATED_DECLARATIONS - Success
-- Performing Test LWS_HAVE_PIPE2
-- Performing Test LWS_HAVE_PIPE2 - Failed
-- Performing Test LWS_HAVE_TCP_USER_TIMEOUT
-- Performing Test LWS_HAVE_TCP_USER_TIMEOUT - Failed
-- Could NOT find MBEDTLS (missing: LWS_MBEDTLS_INCLUDE_DIRS MBEDTLS_LIBRARY MBEDX509_LIBRARY MBEDCRYPTO_LIBRARY)
-- Performing Test LWS_HAVE_MBEDTLS_NET_SOCKETS
-- Performing Test LWS_HAVE_MBEDTLS_NET_SOCKETS - Failed
Compiling with SSL support
-- Looking for SSL_CTX_set1_param
-- Looking for SSL_CTX_set1_param - not found
-- Looking for SSL_set_info_callback
-- Looking for SSL_set_info_callback - not found
-- Looking for X509_VERIFY_PARAM_set1_host
-- Looking for X509_VERIFY_PARAM_set1_host - not found
-- Looking for X509_VERIFY_PARAM_set1_host
-- Looking for X509_VERIFY_PARAM_set1_host - not found
-- Looking for RSA_set0_key
-- Looking for RSA_set0_key - not found
-- Looking for X509_get_key_usage
-- Looking for X509_get_key_usage - not found
-- Looking for SSL_CTX_EVP_PKEY_new_raw_private_key
-- Looking for SSL_CTX_EVP_PKEY_new_raw_private_key - not found
-- Looking for SSL_CTX_get0_certificate
-- Looking for SSL_CTX_get0_certificate - not found
-- Looking for SSL_get0_alpn_selected
-- Looking for SSL_get0_alpn_selected - not found
-- Looking for SSL_set_alpn_protos
-- Looking for SSL_set_alpn_protos - not found
-- Looking for EVP_aes_128_cfb8
-- Looking for EVP_aes_128_cfb8 - not found
-- Looking for EVP_aes_128_cfb128
-- Looking for EVP_aes_128_cfb128 - not found
-- Looking for EVP_aes_192_cfb8
-- Looking for EVP_aes_192_cfb8 - not found
-- Looking for EVP_aes_192_cfb128
-- Looking for EVP_aes_192_cfb128 - not found
-- Looking for EVP_aes_256_cfb8
-- Looking for EVP_aes_256_cfb8 - not found
-- Looking for EVP_aes_256_cfb128
-- Looking for EVP_aes_256_cfb128 - not found
-- Looking for EVP_aes_128_xts
-- Looking for EVP_aes_128_xts - not found
-- Looking for RSA_verify_pss_mgf1
-- Looking for RSA_verify_pss_mgf1 - not found
-- Looking for EVP_PKEY_new_raw_private_key
-- Looking for EVP_PKEY_new_raw_private_key - not found
-- Looking for SSL_SESSION_set_time
-- Looking for SSL_SESSION_set_time - not found
-- Looking for EC_KEY_new_by_curve_name
-- Looking for EC_KEY_new_by_curve_name - not found
-- Looking for mbedtls_ssl_conf_alpn_protocols
-- Looking for mbedtls_ssl_conf_alpn_protocols - not found
-- Looking for mbedtls_ssl_get_alpn_protocol
-- Looking for mbedtls_ssl_get_alpn_protocol - not found
-- Looking for mbedtls_ssl_conf_sni
-- Looking for mbedtls_ssl_conf_sni - not found
-- Looking for mbedtls_ssl_set_hs_ca_chain
-- Looking for mbedtls_ssl_set_hs_ca_chain - not found
-- Looking for mbedtls_ssl_set_hs_own_cert
-- Looking for mbedtls_ssl_set_hs_own_cert - not found
-- Looking for mbedtls_ssl_set_hs_authmode
-- Looking for mbedtls_ssl_set_hs_authmode - not found
-- Looking for mbedtls_net_init
-- Looking for mbedtls_net_init - not found
-- Looking for mbedtls_md_setup
-- Looking for mbedtls_md_setup - not found
-- Looking for mbedtls_rsa_complete
-- Looking for mbedtls_rsa_complete - not found
-- Looking for mbedtls_internal_aes_encrypt
-- Looking for mbedtls_internal_aes_encrypt - not found
Searching for OpenSSL executable and dlls
 GENCERTS = 0
DIR /Users/liuzhiping/src/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/libwebsockets/build/src/project_libwebsockets-build CMP /Users/liuzhiping/src/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/libwebsockets/build/src/project_libwebsockets/cmake
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    LWS_OPENSSL_CRYPTO_LIBRARY
    LWS_OPENSSL_SSL_LIBRARY

-- Build files have been written to: /Users/liuzhiping/src/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/libwebsockets/build/src/project_libwebsockets-build
[ 66%] Performing build step for 'project_libwebsockets'
[  1%] Creating build include dir
[  1%] Built target GENHDR
[  2%] Building C object lib/CMakeFiles/websockets_shared.dir/plat/unix/unix-caps.c.o
In file included from /Users/liuzhiping/src/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/libwebsockets/build/src/project_libwebsockets/lib/plat/unix/unix-caps.c:28:
In file included from /Users/liuzhiping/src/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/libwebsockets/build/src/project_libwebsockets/lib/core/./private-lib-core.h:140:
/Users/liuzhiping/src/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/libwebsockets/build/src/project_libwebsockets/include/libwebsockets.h:287:10: fatal error: 'mbedtls/ssl.h' file not found
#include <mbedtls/ssl.h>
         ^~~~~~~~~~~~~~~
1 error generated.
make[5]: *** [lib/CMakeFiles/websockets_shared.dir/plat/unix/unix-caps.c.o] Error 1
make[4]: *** [lib/CMakeFiles/websockets_shared.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [build/src/project_libwebsockets-stamp/project_libwebsockets-build] Error 2
make[1]: *** [CMakeFiles/project_libwebsockets.dir/all] Error 2
make: *** [all] Error 2
CMake Error at CMake/Utilities.cmake:72 (message):
  CMake step for libwebsockets failed: 2
Call Stack (most recent call first):
  CMakeLists.txt:137 (build_dependency)

-- Configuring incomplete, errors occurred!
See also "/Users/liuzhiping/src/amazon-kinesis-video-streams-webrtc-sdk-c/build/CMakeFiles/CMakeOutput.log".
See also "/Users/liuzhiping/src/amazon-kinesis-video-streams-webrtc-sdk-c/build/CMakeFiles/CMakeError.log".
tubzby commented 2 years ago

@niyatim23 please reopen this issue.

niyatim23 commented 2 years ago

Hi @tubzby, can you please check if you are able to build openssl and libwebsockets independently on your system?

tubzby commented 2 years ago

@niyatim23 After another refresh git repo initialization, branch openssl_local build successfully with:

  1. export PKG_CONFIG_PATH=/opt/homebrew/opt/openssl@1.1/lib/pkgconfig
  2. cmake .. -DLOCAL_OPENSSL_BUILD=ON

Thanks!