Makefile 将星号升级到14时出错-PJSIP未声明

Makefile 将星号升级到14时出错-PJSIP未声明,makefile,debian,asterisk,Makefile,Debian,Asterisk,我正在尝试将Debian(8.7)上的asterisk 11升级到14,在进行安装时出现了以下错误 错误如下所示 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 functi

我正在尝试将Debian(8.7)上的asterisk 11升级到14,在进行安装时出现了以下错误

错误如下所示

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版本不匹配

从未尝试过14*(它不是LTS),对于13*。这样的错误意味着您有多个pjsip或pjsip不是2.4

在重建pjsip之前,请检查

yum remove -y pjsip
rm -f `find / -name *pjsip*`

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

apt-cache search pjsip

一旦你知道要删除哪个包,你会怎么做

apt-get --purge remove <package name>
您希望将PJP项目放置在/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
完成后,您现在可以转到星号文件夹并发布

./configure 

然后继续安装:)

如果我没有弄错的话,Asterisk 13源代码附带了一个内置的pjproject,但14将在系统上查找已安装的pjproject

确保安装了它(包括-dev或-devel包,其中包含头文件),然后尝试重新配置asterisk源文件

./bootstrap.sh
./configure
make menuconfig

您是否针对新安装重新构建/升级pjsip?不,我没有。请尝试,然后重新加载pjsip模块或重新启动pbx,并告诉我是否修复了它
./configure 
./bootstrap.sh
./configure
make menuconfig