0

我在安装 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 认证。配置报告未显示任何丢失/损坏的迹象

****************************** 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 模块上失败,并出现相同的错误。非常感谢任何帮助

4

1 回答 1

0

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

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

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

于 2018-03-05T16:58:18.940 回答