Asterisk社区官方的说法

编译安装Asterisk 21.2.0版本,按照官网文档,原则上只需要如下几步:

./contrib/scripts/install_prereq install

./configure

make

make install

make samples

make config

然而买家秀是这样的

实际上,在./configure环节,就遇到了问题,如下提示

checking for openssl >= 1.1.0… yes checking for embedded pjproject (may have to download)… configuring [pjproject] Downloading https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/2.14/pjproject-2.14.tar.bz2 to /tmp/pjproject-2.14.tar.bz2 [pjproject] Retrying download [pjproject] Downloading https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/2.14/pjproject-2.14.tar.bz2 to /tmp/pjproject-2.14.tar.bz2 make: *** [Makefile:102: /tmp/pjproject-2.14.tar.bz2] Error 4 failed configure: Unable to configure third-party/pjproject configure: error: Re-run the ./configure command with ‘NOISY_BUILD=yes’ appended to see error details.

提示说下载不了pjproject-2.14。 是的,Asterisk 21.2.0版本开始使用pjproject 2.14版本了。每个Asterisk对应的pjproject1版本是不一样的。

pjproject-2.14下载不了的问题如何解决

https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/2.14/pjproject-2.14.tar.bz2

分析原因:github这个链接下载不到,可能是三个方面原因:

1,链接写错了;

2,链接文件走丢了;

3,dns不对;

4,其他网络问题。

解决办法:

找到正确的链接,然后修改configure文件,重新配置 下载这个链接文件到本地 修改DNS试试 换个网络。 先试试链接对不对,尝试把文件下载到本地:

wget https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/2.14/pjproject-2.14.tar.bz2 --no-check-certificate

正在解析主机 raw.githubusercontent.com (raw.githubusercontent.com)… 0.0.0.0, :: 正在连接 raw.githubusercontent.com (raw.githubusercontent.com)|0.0.0.0|:443… 已连接。 警告: 无法验证 raw.githubusercontent.com 的由 “/C=–/ST=SomeState/L=SomeCity/O=SomeOrganization/OU=SomeOrganizationalUnit/CN=localhost/emailAddress=root@localhost” 颁发的证书: 无法本地校验颁发者的权限。 警告: 证书通用名 “localhost” 与所要求的主机名 “raw.githubusercontent.com” 不符。 已发出 HTTP 请求,正在等待回应… 404 Not Found

看来真的是链接走丢了。 这个时候,网络通信公司的专业优势就出来了,办公室的网络比较多,换个网络是比较简单的办法。而且很幸运的是,切换到天威网络之后,这个问题随之迎刃而解。 这说明链接是正确的。尝试将这个文件

pjproject-2.14.tar.bz2

下载到本地,然后将网络断开,重新 configure。也可以顺利通过。


Asterisk 21.2.0编译安装经常遇到的问题和解决办法之pjproject_github