UNI-MRCP Asterisk 模块出错

UNI-MRCP Asterisk Module make error

我在安装 UNI-Mrcp Asterisk 模块时遇到问题。它只是失败了,我真的不知道为什么...... 运行 make 之后的错误如下:

Makefile:434: recipe for target 'res_speech_unimrcp.lo' failed
make[1]: *** [res_speech_unimrcp.lo] Error 1
make[1]: Leaving directory '/opt/asterisk-unimrcp-1.5.0/res-speech-unimrcp'
Makefile:410: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

失败的第一行是:

Making all in res-speech-unimrcp
make[1]: Entering directory '/opt/asterisk-unimrcp-1.5.0/res-speech-unimrcp'
  CC       res_speech_unimrcp.lo
In file included from res_speech_unimrcp.c:28:0:
../include/ast_compat_defs.h:43:42: error: operator '<=' has no right operand
      && (patch) <= ASTERISK_PATCH_VERSION))

我已经成功安装了 MRCP 1.5 和 MRCP depts 1.5 - 这里没有戏剧性。

我已 运行 Asterisk 11 认证。配置报告没有显示任何迹象 missing/broken

****************************** REPORT ******************************

Asterisk version.............. : certified/11.6
UniMRCP version............... : 1.5.0
UniMRCP modules version....... : 1.5.0

Compiler...................... : gcc
Compiler flags................ : -g -O2
Preprocessor definitions...... :
Linker flags.................. :

Modules install path...........: /usr/lib/asterisk/modules
Configuration install path.....: /etc/asterisk
XML doc install path...........: /var/lib/asterisk/documentation/thirdparty

Speech resource module.........: yes
Application module.............: yes

我试过重新安装,不同的版本,不同的安装顺序...但是无论我做什么,在 Asterisk 模块上总是失败并出现同样的错误。非常感谢任何帮助

好的,问题出在 'detected' 星号名称上 - 任何经过认证(最新)的 Asterisk 版本都将被检测为“certified/xx.xx.xx”。这不是规范的星号名称,因此它会因为“certified”位而误解名称。为了在必须传递 运行 配置参数时解决此问题 - 在我的例子中是:

./configure --with-asterisk-version=11.6.0  

注意:必须提供完整版,不是 11.6,因为这会失败。