[ previous ] [ next ] [ threads ]
 To :  yate@v...
 From :  Christian Beyerlein <christian.beyerlein+yate@f...>
 Subject :  yate-g729-codec compile error
 Date :  Wed, 28 Sep 2011 10:27:54 +0200
Hi folks.

I have trouble compiling the yate-g729-codec.

System details:

CentOS 5.4 x86_64
Yate 2.2.0
Qodec.Linux.x64-1.1
yate-g729-codec-1.1.0-1

Configured as following:

./configure --prefix=/opt/yate-g729-codec-1.1.0-1
--with-yate=/opt/yate/bin
--with-qodec=/usr/local/src/Qodec.Linux.x64-1.1/C++/Lib

I get following output:

[root@fravocmp01t yate-g729-qodec]# make
g++ -Wall   -I. -O2 -fno-check-new  -fno-exceptions -fPIC
-DHAVE_GCC_FORMAT_CHECK -I/opt/yate-2.2.0/include/yate
-Wl,--retain-symbols-file,/dev/null -export-dynamic -shared
-Wl,--unresolved-symbols=ignore-in-shared-libs -lyate -o
g729codec-qodec.yate
-I/usr/local/src/Qodec.Linux.x64-1.1/C++/Lib/Include g729codec-qodec.cpp
-L/usr/local/src/Qodec.Linux.x64-1.1/C++/Lib -lQodec
In file included from
/usr/local/src/Qodec.Linux.x64-1.1/C++/Lib/Include/Qodec.h:28,
                 from g729codec-qodec.cpp:28:
/usr/local/src/Qodec.Linux.x64-1.1/C++/Lib/Include/CodecFormat.h:12:1:
warning: multi-line comment
/usr/local/src/Qodec.Linux.x64-1.1/C++/Lib/Include/DefinedConstants.h:41:
error: conflicting declaration ‘typedef void* HANDLE’
/opt/yate-2.2.0/include/yate/yateclass.h:148: error: ‘HANDLE’ has a
previous declaration as ‘typedef int HANDLE’
g729codec-qodec.cpp: In constructor
‘::G729Codec::G729Codec(const char*, const char*, bool)’:
g729codec-qodec.cpp:94: error: ‘codecG729EncoderMono’ was not declared
in this scope
g729codec-qodec.cpp:95: error: ‘Qodec_ChannelPool_openChannel’ was not
declared in this scope
g729codec-qodec.cpp:97: error: ‘codecG729DecoderMono’ was not declared
in this scope
g729codec-qodec.cpp:98: error: ‘Qodec_ChannelPool_openChannel’ was not
declared in this scope
g729codec-qodec.cpp: In destructor
‘virtual::G729Codec::~G729Codec()’:
g729codec-qodec.cpp:110: error: ‘Qodec_ChannelPool_closeChannel’ was not
declared in this scope
g729codec-qodec.cpp: In member function ‘virtual
void::G729Codec::Consume(const TelEngine::DataBlock&, long
unsigned int)’:
g729codec-qodec.cpp:127: error: ‘G729_FRAME_SIZE’ was not declared in
this scope
g729codec-qodec.cpp:129: error: ‘Qodec_Channel_encode’ was not declared
in this scope
g729codec-qodec.cpp:139: error: ‘G729_FRAME_SIZE’ was not declared in
this scope
g729codec-qodec.cpp:144: error: ‘Qodec_Channel_decode’ was not declared
in this scope
/usr/local/src/Qodec.Linux.x64-1.1/C++/Lib/Include/Qodec.h: In
constructor ‘::G729Plugin::G729Plugin()’:
/usr/local/src/Qodec.Linux.x64-1.1/C++/Lib/Include/Qodec.h:64: error:
too few arguments to function ‘QodecResult Qodec_getVersion(char*, int)’
g729codec-qodec.cpp:166: error: at this point in file
g729codec-qodec.cpp:170: error: cannot convert ‘QodecLicense**’ to
‘LicenseFormat’ for argument ‘1’ to ‘QodecResult
Qodec_License_licenseFromFile(LicenseFormat, const char*, QodecLicense**)’
g729codec-qodec.cpp:176: error: ‘CODEC_FORMAT_G729’ was not declared in
this scope
g729codec-qodec.cpp:176: error: ‘Qodec_License_getChannelPool’ was not
declared in this scope
g729codec-qodec.cpp:189: error: ‘G729_FRAME_SIZE’ was not declared in
this scope
g729codec-qodec.cpp: In destructor
‘virtual::G729Plugin::~G729Plugin()’:
g729codec-qodec.cpp:200: error: ‘Qodec_License_deleteLicense’ was not
declared in this scope
g729codec-qodec.cpp: In member function ‘virtual
TelEngine::DataTranslator*::G729Plugin::create(const
TelEngine::DataFormat&, const TelEngine::DataFormat&)’:
g729codec-qodec.cpp:215: error: cannot allocate an object of abstract
type ‘::G729Codec’
g729codec-qodec.cpp:51: note:   because the following virtual functions
are pure within ‘::G729Codec’:
/opt/yate-2.2.0/include/yate/yatephone.h:428: note:     virtual long
unsigned int TelEngine::DataConsumer::Consume(const
TelEngine::DataBlock&, long unsigned int, long unsigned int)
g729codec-qodec.cpp:217: error: cannot allocate an object of abstract
type ‘::G729Codec’
g729codec-qodec.cpp:51: note:   since type ‘::G729Codec’ has
pure virtual functions
make: *** [g729codec-qodec.yate] Error 1

Any hints?

Best regard,
  Christian
-- 
Christian Beyerlein
Systemadministrator

First Telecom GmbH
Lyoner Str. 15
60528 Frankfurt/Main

Sitz der Gesellschaft: Frankfurt am Main
Handelsregister: Amtsgericht Frankfurt am Main, HRB 56145
Geschäftsführer: Björn Reiter, Heiko Hellstern, Frank Hartmann