codec_g729x 安装出现问题

codec_g729x 安装出现问题

我正在尝试编译 codec_g729x 但其编译存在问题

这是该编解码器的链接 https://bitbucket.org/arkadi/asterisk-g72x

在 make all 命令后我收到以下错误

[root@localhost@asterisk-g72x]# make all
make  all-am
make[1]: Entering directory `/usr/src/asterisk-g72x'
/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.    -DG72X_ASTERISK=100 -I"/opt/intel/ipp/include"  -include "/opt/intel/ipp/tools/intel64/staticlib/ipp_u8.h" -Wall -D_GNU_SOURCE -Iipp -DG72X_3 -O3 -fomit-frame-pointer -march=native   -MT codec_g723_la-codec_g72x.lo -MD -MP -MF .deps/codec_g723_la-codec_g72x.Tpo -c -o codec_g723_la-codec_g72x.lo `test -f 'codec_g72x.c' || echo './'`codec_g72x.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -DG72X_ASTERISK=100 -I/opt/intel/ipp/include -include /opt/intel/ipp/tools/intel64/staticlib/ipp_u8.h -Wall -D_GNU_SOURCE -Iipp -DG72X_3 -O3 -fomit-frame-pointer -march=native -MT codec_g723_la-codec_g72x.lo -MD -MP -MF .deps/codec_g723_la-codec_g72x.Tpo -c codec_g72x.c  -fPIC -DPIC -o .libs/codec_g723_la-codec_g72x.o
codec_g72x.c: In function 'lintog72x_sample':
codec_g72x.c:313: warning: implicit declaration of function 'ast_format_set'
codec_g72x.c:313: error: request for member 'format' in something not a structure or union
codec_g72x.c:320: error: request for member 'ptr' in something not a structure or union
codec_g72x.c: In function 'g72xtolin_sample':
codec_g72x.c:331: error: request for member 'format' in something not a structure or union
codec_g72x.c:338: error: request for member 'ptr' in something not a structure or union
codec_g72x.c: In function 'g72xtolin_framein':
codec_g72x.c:440: error: request for member 'i16' in something not a structure or union
codec_g72x.c:470: error: request for member 'ptr' in something not a structure or union
codec_g72x.c:473: error: request for member 'ptr' in something not a structure or union
codec_g72x.c: In function 'lintog72x_framein':
codec_g72x.c:494: error: request for member 'ptr' in something not a structure or union
codec_g72x.c: In function 'lintog72x_frameout':
codec_g72x.c:533: error: request for member 'uc' in something not a structure or union
codec_g72x.c: At top level:
codec_g72x.c:619: error: unknown field 'native_plc' specified in initializer
codec_g72x.c: In function 'parse_config':
codec_g72x.c:656: error: too many arguments to function 'ast_config_load'
codec_g72x.c: In function 'g72x_toggle_debug':
codec_g72x.c:707: error: 'CLI_FAILURE' undeclared (first use in this function)
codec_g72x.c:707: error: (Each undeclared identifier is reported only once
codec_g72x.c:707: error: for each function it appears in.)
codec_g72x.c:711: error: 'CLI_SUCCESS' undeclared (first use in this function)
codec_g72x.c: At top level:
codec_g72x.c:720: warning: 'struct ast_cli_args' declared inside parameter list
codec_g72x.c:720: warning: its scope is only this definition or declaration, which is probably not what you want
codec_g72x.c: In function 'handle_cli_g72x_toggle_debug':
codec_g72x.c:723: error: 'CLI_INIT' undeclared (first use in this function)
codec_g72x.c:724: error: 'struct ast_cli_entry' has no member named 'command'
codec_g72x.c:727: error: 'CLI_GENERATE' undeclared (first use in this function)
codec_g72x.c:730: error: dereferencing pointer to incomplete type
codec_g72x.c:731: error: 'CLI_SHOWUSAGE' undeclared (first use in this function)
codec_g72x.c:732: error: dereferencing pointer to incomplete type
codec_g72x.c:733: error: 'CLI_SUCCESS' undeclared (first use in this function)
codec_g72x.c: At top level:
codec_g72x.c:736: warning: implicit declaration of function 'AST_CLI_DEFINE'
codec_g72x.c:736: error: invalid initializer
codec_g72x.c: In function 'load_module':
codec_g72x.c:758: error: 'struct ast_translator' has no member named 'src_format'
codec_g72x.c:759: error: 'struct ast_translator' has no member named 'dst_format'
codec_g72x.c:761: error: 'struct ast_translator' has no member named 'src_format'
codec_g72x.c:762: error: 'struct ast_translator' has no member named 'dst_format'
codec_g72x.c: At top level:
codec_g72x.c:812: error: unknown field 'buildopt_sum' specified in initializer
make[1]: *** [codec_g723_la-codec_g72x.lo] Error 1
make[1]: Leaving directory `/usr/src/asterisk-g72x'
make: *** [all] Error 2
enter code here

编辑:

星号开发安装后

make  all-am
make[1]: Entering directory `/usr/src/asterisk-g72x'
/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.    -DG72X_ASTERISK=100 -I"/opt/intel/ipp/include"  -include "/opt/intel/ipp/tools/intel64/staticlib/ipp_u8.h" -Wall -D_GNU_SOURCE -Iipp -DG72X_3 -O3 -fomit-frame-pointer -march=native   -MT codec_g723_la-codec_g72x.lo -MD -MP -MF .deps/codec_g723_la-codec_g72x.Tpo -c -o codec_g723_la-codec_g72x.lo `test -f 'codec_g72x.c' || echo './'`codec_g72x.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -DG72X_ASTERISK=100 -I/opt/intel/ipp/include -include /opt/intel/ipp/tools/intel64/staticlib/ipp_u8.h -Wall -D_GNU_SOURCE -Iipp -DG72X_3 -O3 -fomit-frame-pointer -march=native -MT codec_g723_la-codec_g72x.lo -MD -MP -MF .deps/codec_g723_la-codec_g72x.Tpo -c codec_g72x.c  -fPIC -DPIC -o .libs/codec_g723_la-codec_g72x.o
codec_g72x.c: In function 'lintog72x_sample':
codec_g72x.c:313: warning: implicit declaration of function 'ast_format_set'
codec_g72x.c:313: error: 'union ast_frame_subclass' has no member named 'format'
codec_g72x.c: In function 'g72xtolin_sample':
codec_g72x.c:331: error: 'union ast_frame_subclass' has no member named 'format'
codec_g72x.c: In function 'load_module':
codec_g72x.c:758: error: 'struct ast_translator' has no member named 'src_format'
codec_g72x.c:759: error: 'struct ast_translator' has no member named 'dst_format'
codec_g72x.c:761: error: 'struct ast_translator' has no member named 'src_format'
codec_g72x.c:762: error: 'struct ast_translator' has no member named 'dst_format'
make[1]: *** [codec_g723_la-codec_g72x.lo] Error 1
make[1]: Leaving directory `/usr/src/asterisk-g72x'
make: *** [all] Error 2

任何人都知道这个错误,为什么它给出一些未找到的方法的错误以及我需要安装哪些额外的工具才能使其工作?

答案1

Makefile 似乎在安装时使用了错误版本的 Asterisk。从asterisk-g72x 的 Bitbucket概述:

有两种构建编解码器的方法:

  1. 使用./configure。使用 ./configure --help 检查可用选项。如果 Asterisk 安装在非标准位置,请指定 --prefix。 ICC 支持正在进行中,请暂时设置 CFLAGS。

  2. 编辑 build-ipp.sh (IPP) 或 build-itu.sh (ITU-T) 以选择 Asterisk 版本、编译器和首选优化参数。

也许您需要重新运行 ./configure 或再次编辑“build-iXX.sh”文件以获得正确的版本定义。

相关内容