Asterisk 编译问题

Asterisk 编译问题

我从下载了 Asterisk 的源代码,但http://downloads.asterisk.org/pub/telephony/asterisk/
在 Ubuntu 16.04.1 中从源代码编译时出现错误。请建议编译所需的星号先决条件。

我在尝试制作时收到此错误 -

./libasteriskssl.so: undefined reference to `CRYPTO_num_locks'  
collect2: error: ld returned 1 exit status  
Makefile:321: recipe for target 'asterisk' failed  
make[1]: *** [asterisk] Error 1  
Makefile:368: recipe for target 'main' failed  
make: *** [main] Error 2  

请建议......

答案1

@Luiz Ricardo Ripardo 关于删除 CRYPTO_num_locks 的说法是正确的。我在 configure 脚本中使用了“--disable-asteriskssl”选项,能够在 Raspbain-9-Stretch 上编译和安装 Asterisk 版本 15.1.2。

提到了此选项的使用这里在“构建系统”部分下。

答案2

阅读手册即服务:

https://wiki.asterisk.org/wiki/display/AST/Checking+Asterisk+Requirements

install_prereq.sh如果您正在安装 Asterisk 1.6.1.0 或更高版本,它会在contrib/scripts子目录中附带一个名为的 shell 脚本。
如果您运行install_prereq test,它会为您提供在操作系统上安装必要系统库的确切命令。
如果您运行install_prereq install,它会尝试自动下载并安装先决条件。

答案3

降级 openssl。函数 CRYPTO_num_locks 在版本 1.1.0 中已过时。就我而言(Debian Stretch),我将 /etc/apt/sources.list 编辑为 Debian Jessie Repositories,然后运行 ​​apt-get update 和 upgrade 命令。

相关内容