Opened 3 months ago

Closed 3 months ago

Last modified 3 months ago

#70270 closed defect (fixed)

libsrtp: installs a static library which requires linking against openssl, causing gstreamer1-gst-plugins-bad to fail to link: Undefined symbols for architecture arm64: "_EVP_CIPHER_CTX_ctrl"

Reported by: barracuda156 Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.9.3
Keywords: Cc:
Port: libsrtp

Description

:info:build FAILED: ext/srtp/libgstsrtp.dylib 
:info:build /usr/bin/clang  -o ext/srtp/libgstsrtp.dylib ext/srtp/libgstsrtp.dylib.p/meson-generated_.._gstsrtp-enumtypes.c.o ext/srtp/libgstsrtp.dylib.p/gstsrtp.c.o ext/srtp/libgstsrtp.dylib.p/gstsrtpelement.c.o ext/srtp/libgstsrtp.dylib.p/gstsrtpplugin.c.o ext/srtp/libgstsrtp.dylib.p/gstsrtpdec.c.o ext/srtp/libgstsrtp.dylib.p/gstsrtpenc.c.o -L/opt/local/lib -I/opt/local/include -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -shared -install_name @rpath/libgstsrtp.dylib -Wl,-headerpad_max_install_names -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch arm64 -pipe -Os -std=c11 -funroll-loops -fstrict-aliasing -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch arm64 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk /opt/local/lib/libgstrtp-1.0.dylib /opt/local/lib/libgstbase-1.0.dylib /opt/local/lib/libgstreamer-1.0.dylib -Wl,-rpath,/opt/local/lib /opt/local/lib/libgobject-2.0.dylib /opt/local/lib/libglib-2.0.dylib /opt/local/lib/libintl.dylib /opt/local/lib/libgstvideo-1.0.dylib -Wl,-rpath,/opt/local/lib /opt/local/lib/libsrtp2.a
:info:build ld: warning: duplicate -rpath '/opt/local/lib' ignored
:info:build Undefined symbols for architecture arm64:
:info:build   "_EVP_CIPHER_CTX_ctrl", referenced from:
:info:build       _srtp_aes_gcm_openssl_set_aad in libsrtp2.a[7](aes_gcm_ossl.o)
:info:build       _srtp_aes_gcm_openssl_decrypt in libsrtp2.a[7](aes_gcm_ossl.o)
:info:build       _srtp_aes_gcm_openssl_set_iv in libsrtp2.a[7](aes_gcm_ossl.o)
:info:build       _srtp_aes_gcm_openssl_get_tag in libsrtp2.a[7](aes_gcm_ossl.o)
:info:build   "_EVP_CIPHER_CTX_free", referenced from:
:info:build       _srtp_aes_icm_openssl_dealloc in libsrtp2.a[6](aes_icm_ossl.o)
:info:build       _srtp_aes_gcm_openssl_dealloc in libsrtp2.a[7](aes_gcm_ossl.o)
:info:build   "_EVP_CIPHER_CTX_new", referenced from:
:info:build       _srtp_aes_icm_openssl_alloc in libsrtp2.a[6](aes_icm_ossl.o)
:info:build       _srtp_aes_gcm_openssl_alloc in libsrtp2.a[7](aes_gcm_ossl.o)
:info:build   "_EVP_CIPHER_CTX_reset", referenced from:
:info:build       _srtp_aes_icm_openssl_context_init in libsrtp2.a[6](aes_icm_ossl.o)
:info:build       _srtp_aes_gcm_openssl_context_init in libsrtp2.a[7](aes_gcm_ossl.o)
:info:build   "_EVP_Cipher", referenced from:
:info:build       _srtp_aes_gcm_openssl_set_aad in libsrtp2.a[7](aes_gcm_ossl.o)
:info:build       _srtp_aes_gcm_openssl_encrypt in libsrtp2.a[7](aes_gcm_ossl.o)
:info:build       _srtp_aes_gcm_openssl_decrypt in libsrtp2.a[7](aes_gcm_ossl.o)
:info:build       _srtp_aes_gcm_openssl_decrypt in libsrtp2.a[7](aes_gcm_ossl.o)
:info:build       _srtp_aes_gcm_openssl_get_tag in libsrtp2.a[7](aes_gcm_ossl.o)
:info:build   "_EVP_CipherInit_ex", referenced from:
:info:build       _srtp_aes_gcm_openssl_context_init in libsrtp2.a[7](aes_gcm_ossl.o)
:info:build       _srtp_aes_gcm_openssl_set_iv in libsrtp2.a[7](aes_gcm_ossl.o)
:info:build   "_EVP_EncryptFinal_ex", referenced from:
:info:build       _srtp_aes_icm_openssl_encrypt in libsrtp2.a[6](aes_icm_ossl.o)
:info:build   "_EVP_EncryptInit_ex", referenced from:
:info:build       _srtp_aes_icm_openssl_context_init in libsrtp2.a[6](aes_icm_ossl.o)
:info:build       _srtp_aes_icm_openssl_set_iv in libsrtp2.a[6](aes_icm_ossl.o)
:info:build   "_EVP_EncryptUpdate", referenced from:
:info:build       _srtp_aes_icm_openssl_encrypt in libsrtp2.a[6](aes_icm_ossl.o)
:info:build   "_EVP_aes_128_ctr", referenced from:
:info:build       _srtp_aes_icm_openssl_context_init in libsrtp2.a[6](aes_icm_ossl.o)
:info:build   "_EVP_aes_128_gcm", referenced from:
:info:build       _srtp_aes_gcm_openssl_context_init in libsrtp2.a[7](aes_gcm_ossl.o)
:info:build   "_EVP_aes_192_ctr", referenced from:
:info:build       _srtp_aes_icm_openssl_context_init in libsrtp2.a[6](aes_icm_ossl.o)
:info:build   "_EVP_aes_256_ctr", referenced from:
:info:build       _srtp_aes_icm_openssl_context_init in libsrtp2.a[6](aes_icm_ossl.o)
:info:build   "_EVP_aes_256_gcm", referenced from:
:info:build       _srtp_aes_gcm_openssl_context_init in libsrtp2.a[7](aes_gcm_ossl.o)
:info:build   "_EVP_sha1", referenced from:
:info:build       _srtp_hmac_init in libsrtp2.a[11](hmac_ossl.o)
:info:build   "_HMAC_CTX_free", referenced from:
:info:build       _srtp_hmac_dealloc in libsrtp2.a[11](hmac_ossl.o)
:info:build   "_HMAC_CTX_new", referenced from:
:info:build       _srtp_hmac_alloc in libsrtp2.a[11](hmac_ossl.o)
:info:build   "_HMAC_Final", referenced from:
:info:build       _srtp_hmac_compute in libsrtp2.a[11](hmac_ossl.o)
:info:build   "_HMAC_Init_ex", referenced from:
:info:build       _srtp_hmac_init in libsrtp2.a[11](hmac_ossl.o)
:info:build       _srtp_hmac_start in libsrtp2.a[11](hmac_ossl.o)
:info:build   "_HMAC_Update", referenced from:
:info:build       _srtp_hmac_compute in libsrtp2.a[11](hmac_ossl.o)
:info:build       _srtp_hmac_update in libsrtp2.a[11](hmac_ossl.o)
:info:build   "_OPENSSL_cleanse", referenced from:
:info:build       _octet_string_set_to_zero in libsrtp2.a[12](datatypes.o)
:info:build ld: symbol(s) not found for architecture arm64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)

Attachments (1)

main.log (1.6 MB) - added by barracuda156 3 months ago.

Download all attachments as: .zip

Change History (8)

Changed 3 months ago by barracuda156

Attachment: main.log added

comment:1 Changed 3 months ago by barracuda156

Same error with 1.24.4.

comment:2 Changed 3 months ago by barracuda156

Keywords: sonoma removed
Summary: gstreamer1-gst-plugins-bad: fails to build on Sonoma, again: Undefined symbols for architecture arm64: "_EVP_CIPHER_CTX_ctrl"gstreamer1-gst-plugins-bad fails to build: Undefined symbols for architecture arm64: "_EVP_CIPHER_CTX_ctrl"

comment:3 Changed 3 months ago by barracuda156

Nothing to do with Sonoma, same failure now on 10.6 ppc:

FAILED: ext/srtp/libgstsrtp.dylib 
/opt/local/bin/gcc-mp-13  -o ext/srtp/libgstsrtp.dylib ext/srtp/libgstsrtp.dylib.p/meson-generated_.._gstsrtp-enumtypes.c.o ext/srtp/libgstsrtp.dylib.p/gstsrtp.c.o ext/srtp/libgstsrtp.dylib.p/gstsrtpelement.c.o ext/srtp/libgstsrtp.dylib.p/gstsrtpplugin.c.o ext/srtp/libgstsrtp.dylib.p/gstsrtpdec.c.o ext/srtp/libgstsrtp.dylib.p/gstsrtpenc.c.o -L/opt/local/lib -I/opt/local/include -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -shared -install_name @rpath/libgstsrtp.dylib -Wl,-headerpad_max_install_names -arch ppc -pipe -Os -std=c11 -funroll-loops -fstrict-aliasing -arch ppc /opt/local/lib/libgstrtp-1.0.dylib /opt/local/lib/libgstbase-1.0.dylib /opt/local/lib/libgstreamer-1.0.dylib -Wl,-rpath,/opt/local/lib /opt/local/lib/libgobject-2.0.dylib /opt/local/lib/libglib-2.0.dylib /opt/local/lib/libintl.dylib /opt/local/lib/libgstvideo-1.0.dylib -Wl,-rpath,/opt/local/lib /opt/local/lib/libsrtp2.a
Undefined symbols:
  "_EVP_EncryptUpdate", referenced from:
      _srtp_aes_icm_openssl_encrypt in libsrtp2.a(aes_icm_ossl.o)
  "_EVP_sha1", referenced from:
      _srtp_hmac_init in libsrtp2.a(hmac_ossl.o)
  "_EVP_aes_192_ctr", referenced from:
      _srtp_aes_icm_openssl_context_init in libsrtp2.a(aes_icm_ossl.o)
  "_HMAC_CTX_free", referenced from:
      _srtp_hmac_dealloc in libsrtp2.a(hmac_ossl.o)
  "_OPENSSL_cleanse", referenced from:
      _octet_string_set_to_zero in libsrtp2.a(datatypes.o)
  "_EVP_CIPHER_CTX_ctrl", referenced from:
      _srtp_aes_gcm_openssl_decrypt in libsrtp2.a(aes_gcm_ossl.o)
      _srtp_aes_gcm_openssl_get_tag in libsrtp2.a(aes_gcm_ossl.o)
      _srtp_aes_gcm_openssl_set_iv in libsrtp2.a(aes_gcm_ossl.o)
      _srtp_aes_gcm_openssl_set_aad in libsrtp2.a(aes_gcm_ossl.o)
  "_EVP_Cipher", referenced from:
      _srtp_aes_gcm_openssl_encrypt in libsrtp2.a(aes_gcm_ossl.o)
      _srtp_aes_gcm_openssl_decrypt in libsrtp2.a(aes_gcm_ossl.o)
      _srtp_aes_gcm_openssl_decrypt in libsrtp2.a(aes_gcm_ossl.o)
      _srtp_aes_gcm_openssl_get_tag in libsrtp2.a(aes_gcm_ossl.o)
      _srtp_aes_gcm_openssl_set_aad in libsrtp2.a(aes_gcm_ossl.o)
  "_HMAC_CTX_new", referenced from:
      _srtp_hmac_alloc in libsrtp2.a(hmac_ossl.o)
  "_EVP_EncryptFinal_ex", referenced from:
      _srtp_aes_icm_openssl_encrypt in libsrtp2.a(aes_icm_ossl.o)
  "_EVP_aes_256_ctr", referenced from:
      _srtp_aes_icm_openssl_context_init in libsrtp2.a(aes_icm_ossl.o)
  "_EVP_aes_256_gcm", referenced from:
      _srtp_aes_gcm_openssl_context_init in libsrtp2.a(aes_gcm_ossl.o)
  "_EVP_aes_128_ctr", referenced from:
      _srtp_aes_icm_openssl_context_init in libsrtp2.a(aes_icm_ossl.o)
  "_EVP_CIPHER_CTX_free", referenced from:
      _srtp_aes_gcm_openssl_dealloc in libsrtp2.a(aes_gcm_ossl.o)
      _srtp_aes_icm_openssl_dealloc in libsrtp2.a(aes_icm_ossl.o)
  "_HMAC_Init_ex", referenced from:
      _srtp_hmac_start in libsrtp2.a(hmac_ossl.o)
      _srtp_hmac_init in libsrtp2.a(hmac_ossl.o)
  "_EVP_aes_128_gcm", referenced from:
      _srtp_aes_gcm_openssl_context_init in libsrtp2.a(aes_gcm_ossl.o)
  "_HMAC_Final", referenced from:
      _srtp_hmac_compute in libsrtp2.a(hmac_ossl.o)
  "_EVP_CIPHER_CTX_reset", referenced from:
      _srtp_aes_gcm_openssl_context_init in libsrtp2.a(aes_gcm_ossl.o)
      _srtp_aes_icm_openssl_context_init in libsrtp2.a(aes_icm_ossl.o)
  "_HMAC_Update", referenced from:
      _srtp_hmac_update in libsrtp2.a(hmac_ossl.o)
      _srtp_hmac_compute in libsrtp2.a(hmac_ossl.o)
  "_EVP_CipherInit_ex", referenced from:
      _srtp_aes_gcm_openssl_set_iv in libsrtp2.a(aes_gcm_ossl.o)
      _srtp_aes_gcm_openssl_context_init in libsrtp2.a(aes_gcm_ossl.o)
  "_EVP_EncryptInit_ex", referenced from:
      _srtp_aes_icm_openssl_set_iv in libsrtp2.a(aes_icm_ossl.o)
      _srtp_aes_icm_openssl_context_init in libsrtp2.a(aes_icm_ossl.o)
  "_EVP_CIPHER_CTX_new", referenced from:
      _srtp_aes_gcm_openssl_alloc in libsrtp2.a(aes_gcm_ossl.o)
      _srtp_aes_icm_openssl_alloc in libsrtp2.a(aes_icm_ossl.o)
ld: symbol(s) not found
collect2: error: ld returned 1 exit status

comment:4 Changed 3 months ago by barracuda156

Passing -Dsrtp=disabled allows it to compile.

comment:5 Changed 3 months ago by barracuda156

In 76edafe88d8b8d474304c627a46961c1e8d5aaaf/macports-ports (master):

gstreamer1-gst-plugins-bad: disable srtp since it fails to build

See: #70270

comment:6 Changed 3 months ago by kencu (Ken)

Port: libsrtp added; gstreamer1-gst-plugins-bad removed
Resolution: fixed
Status: newclosed
Summary: gstreamer1-gst-plugins-bad fails to build: Undefined symbols for architecture arm64: "_EVP_CIPHER_CTX_ctrl"libsrtp: installs a static library which requires linking against openssl, causing gstreamer1-gst-plugins-bad to fail to link: Undefined symbols for architecture arm64: "_EVP_CIPHER_CTX_ctrl"

comment:7 Changed 3 months ago by kencu (Ken)

gstreamer1-gst-plugins-bad can now re-enable srtp since it links now

Note: See TracTickets for help on using tickets.