codec_g729xをコンパイルしようとしていますが、コンパイルに問題があります。
コーデックリンクは次のとおりです。 https://bitbucket.org/arkadi/asterisk-g72x
すべてのコマンドを実行した後、次のエラーが発生します。
[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を使用しているようです。 ~からアスタリスク-g72x用Bitbucket概要ページ:
コーデックを作成する方法は2つあります。
./configure を使用してください。 ./configure --help を使用して利用可能なオプションを確認してください。 Asteriskが非標準の場所にインストールされている場合は--prefixを指定します。 ICCサポートが進行中です。一時的にCFLAGSを設定してください。
build-ipp.sh(IPP)またはbuild-itu.sh(ITU-T)を編集して、Asteriskのバージョン、コンパイラ、およびデフォルトの最適化パラメータを選択します。
正しいバージョン定義を取得するには、./configure を再実行するか、「build-iXX.sh」ファイルを再編集する必要があります。