makefile - 将 Asterisk 升级到 14 时出错 - PJSIP 未声明

标签 makefile debian asterisk

我尝试在 Debian (8.7) 上将 asterisk 11 升级到 14,当我执行 make install 时出现以下错误。

错误如下

res_pjsip_transport_management.c: In function ‘monitored_transport_state_callback’:
res_pjsip_transport_management.c:190:8: error: ‘PJSIP_TP_STATE_SHUTDOWN’ undeclared (first use in this function)
   case PJSIP_TP_STATE_SHUTDOWN:
        ^
res_pjsip_transport_management.c:190:8: note: each undeclared identifier is reported only once for each function it appears in
/root/asterisk-14.3.0/Makefile.rules:149: recipe for target 'res_pjsip_transport_management.o' failed
make[1]: *** [res_pjsip_transport_management.o] Error 1
Makefile:401: recipe for target 'res' failed
make: *** [res] Error 2

我使用的命令如下

tar -zxvf asterisk-14-current.tar.gz
/etc/init.d/asterisk stop
cd asterisk-14.3.0/
./configure
rm -f /usr/lib/asterisk/modules/*
make install

我尝试了网上的一些解决方案,但没有解决......

最佳答案

pjsip 版本似乎不匹配(可能安装了多个版本),因此您想要删除 PJSip 的所有先前/现有版本。如果您不知道 pjsip 属于哪些软件包,您可以通过以下方式搜索:

apt-cache search pjsip

dpkg -l | grep pj

一旦你知道要删除哪个包

apt-get --purge remove <package name>

然后您想要下载最新版本的 pjsip(根据 Asterisk 网站,当前版本为 2.6)

wget wget http://www.pjsip.org/release/2.6/pjproject-2.6.tar.bz2
tar -xjvf pjproject-2.6.tar.bz2

您想将 pjproject 放置在/usr/local 中。

cp -R pjproject-2.6 /usr/local/

完成后,您必须构建/编译/安装 pjproject 并

./configure --prefix=/usr --enable-shared CFLAGS='-O2 -DNDEBUG' //Various options (enable/disable) can be put in here. Please refer to manual 
make dep
make
make install
ldconfig

验证 pjproject 是否已安装在目标位置

ldconfig -p | grep pj

完成此操作后,您现在可以转到 Asterisk 文件夹并发布

./configure 

并继续安装:)

关于makefile - 将 Asterisk 升级到 14 时出错 - PJSIP 未声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43139457/

相关文章:

android - 如何在android中加载库,支持jni

c - 如何使用 Makefile 将多个文件提供给后台进程

linux - Raspberry Pi/Raspbian 上的 Clang 错误?

java - 在 Debian Server 上安装 Hibernate3 时遇到问题

node.js - Nodejs 与 Asterisk 的工作

linux - 如何在gui中转换 Asterisk ?

Makefile 规则 "foo : bar : baz"

makefile - 如何通过 OCamlbuild 使用 Menhir 错误消息生成?

c++ - g++ -m32 在 debian amd64 上找不到 libstdc++

java - 如果没有 Asterisks Java API 的开放 channel ,如何获取与扩展/对等点关联的名称?