aiortc / pylibsrtp

Python bindings for libsrtp
BSD 3-Clause "New" or "Revised" License
29 stars 7 forks source link

_binding.abi3.so: undefined symbol: EVP_aes_128_gcm #3

Closed supermanhuyu closed 5 years ago

supermanhuyu commented 5 years ago

Hi, @jlaine after install pylibsrtp , i get a error about _binding.abi3.so: undefined symbol: EVP_aes_128_gcm

$ python 
Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pylibsrtp
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/nvidia/py_env/kr214_tf1110/lib/python3.5/site-packages/pylibsrtp-0.6.0-py3.5-linux-aarch64.egg/pylibsrtp/__init__.py", line 3, in <module>
    from ._binding import ffi, lib
ImportError: /home/nvidia/py_env/kr214_tf1110/lib/python3.5/site-packages/pylibsrtp-0.6.0-py3.5-linux-aarch64.egg/pylibsrtp/_binding.abi3.so: undefined symbol: EVP_aes_128_gcm
jlaine commented 5 years ago

That's odd, pylibsrtp itself makes no direct call to EVP_aes_128_gcm, this must be coming from libsrtp itself. Did you build libsrtp yourself or was it provided by your distro? What distro is this?

supermanhuyu commented 5 years ago

Hi, @jlaine
I have tried out libsrtp the 1.6.0 , 2.2.0 and master branch , but i get the same error . I don't down how to deal it . I just want to use aiortc on my aarch64 ...

jlaine commented 5 years ago

You definitely need libsrtp >= 2.0 so you can forget about version 1.6.0.

You did not answer my question about libsrtp nor your distro, so I'll have to assume you compiled it yourself.

The strange thing is: when you build libsrtp, it detects whether your OpenSSL version supports AES GCM, and only compiles support for it if your OpenSSL version supports it. My guess is that you have several OpenSSL versions installed on your system, and are not using the same one when building libsrtp and when using it.

supermanhuyu commented 5 years ago

Hi, @jlaine Does pyOpenSSL conflict with openssl ? I don't know it . I compiled it myself, because i can not auto install libsrtp2 by apt install on my nvidia-jetson-tx2(arm64). Finally i find a package in this place . I install it and it works.

Thanks very much.