星号编译

时间:2017-11-09 09:46:13

标签: asterisk

我从http://downloads.asterisk.org/pub/telephony/asterisk/下载了Asterisk的源代码。

我正在尝试调用make时从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

谢谢

2 个答案:

答案 0 :(得分:1)

正如@arheops指出的那样,编译取决于操作系统的版本和星号本身的版本。以下工作在带有星号v14的Debian 9中

假设您在/ usr / src / asterisk中有源代码。所以,首先要做的事情。您必须下载依赖项:

# apt-get update
# apt-get install autoconf
# cd /usr/src/asterisk/contrib/scripts
# ./install_prereq install

然后,配置步骤:

# cd /usr/asterisk
# ./bootstrap.sh
# ./configure <your fancy options>
# make menuconfig

现在,编译阶段:

# make

安装可执行文件和库

# make install

安装配置模板

# make samples

安装服务

# make config

答案 1 :(得分:0)

您的星号版本不支持libcrypto / openssl版本,或者您已破坏openssl安装。

尝试使用不同的版本,作为参考,获取与您使用的源代码相同的RHEL / Centos版本。