[Asterisk-Users] h323 channel compile error

Ing. Germán González B. gglez at leon.podernet.com.mx
Sun Dec 19 18:27:28 MST 2004



On Mon, 20 Dec 2004, James wrote:

> Do the paths to each of the include files exist?
> If not, you will need to edit the Makefile in that directory to point
> to the right include directories.
>
> - James
>
> On 18/12/2004, at 1:14 PM, David Adade wrote:
>
> > Hi,
> >
> > Can anyone help?  I get the following error when trying to complie the
> > h323 channel under the source installation directory
> >
> > asterisk/channels/h323
> >
> > i have read the readme file and kept to the  recomended versions;
> > h.323 v1.12.2 and PWLIB v1.5.2
> >
> >
> >
> > Thanks in advance
> >
> > [root at gw01 h323]# make
> > g++ -g -c -fno-rtti -o ast_h323.o -march=i686
> > -DPBYTE_ORDER=PLITTLE_ENDIAN -DNDE
> > BUG -DDO_CRASH -DDEBUG_THREADS -pipe -Wall -fPIC -DP_LINUX
> > -D_REENTRANT -D_GNU_S
> > OURCE -DP_HAS_SEMAPHORES -DP_SSL -DP_PTHREADS -DPHAS_TEMPLATES
> > -DPTRACING -DP_US
> > E_PRAGMA -I../../include -I/root/pwlib/include/ptlib/unix
> > -I/root/pwlib/include
> > -I/root/openh323/include -Wno-missing-prototypes
> > -Wno-missing-declarations ast_h
> > 323.cpp
> > ast_h323.cpp:35:18: h323.h: No such file or directory
> > ast_h323.cpp:36:21: h323pdu.h: No such file or directory
> > ast_h323.cpp:37:22: mediafmt.h: No such file or directory
> > ast_h323.cpp:38:17: lid.h: No such file or directory
> > In file included from ast_h323.cpp:49:
> > ast_h323.h:61: parse error before `{'
> > ast_h323.h:62: virtual outside class declaration
> > ast_h323.h:62: non-member function `InternalIsDescendant (const char
> > *)' cannot have `const' method qualifier
> > ast_h323.h: In function `BOOL InternalIsDescendant (const char *)':
> > ast_h323.h:62: `H323AudioCapability' undeclared (first use this
> > function)
> > ast_h323.h:62: (Each undeclared identifier is reported only once for
> > each function it appears in.)
> > ast_h323.h:62: parse error before `::'
> > ast_h323.h:62: warning: no return statement in function returning
> > non-void
> > ast_h323.h: At top level:
> > ast_h323.h:62: virtual outside class declaration
> > ast_h323.h:62: non-member function `GetClass (unsigned int)' cannot
> > have `const' method qualifier
> > ast_h323.h: In function `const char *GetClass (unsigned int)':
> > ast_h323.h:62: parse error before `::'
> > ast_h323.h:62: no method `H323_G7231Capability::Class'
> > ast_h323.h: At top level:
> > ast_h323.h:62: syntax error before `('
> > ast_h323.h:67: syntax error before `('
> > ast_h323.h:69: non-member function `Clone ()' cannot have `const'
> > method qualifier
> > ast_h323.h:71: syntax error before `*'
> > ast_h323.h:75: non-member function `GetSubType ()' cannot have `const'
> > method qualifier
> > ast_h323.h:76: non-member function `GetFormatName ()' cannot have
> > `const' method qualifier
> > ast_h323.h:78: `H245_AudioCapability' was not declared in this scope
> > ast_h323.h:78: `pdu' was not declared in this scope
> > ast_h323.h:80: parse error before `)'
> > ast_h323.h:80: non-member function `OnSendingPDU (...)' cannot have
> > `const' method qualifier
> > ast_h323.h:83: parse error before `&'
> > ast_h323.h:94: parse error before `{'
> > ast_h323.h:95: virtual outside class declaration
> > ast_h323.h:95: non-member function `InternalIsDescendant (const char
> > *)' cannot have `const' method qualifier
> > ast_h323.h: In function `BOOL InternalIsDescendant (const char *)':
> > ast_h323.h:95: redefinition of `BOOL InternalIsDescendant (const char
> > *)'
> > ast_h323.h:62: `BOOL InternalIsDescendant (const char *)' previously
> > defined here
> > ast_h323.h: In function `BOOL InternalIsDescendant (const char *)':
> > ast_h323.h:95: parse error before `::'
> > ast_h323.h:95: warning: no return statement in function returning
> > non-void
> > ast_h323.h: At top level:
> > ast_h323.h:95: virtual outside class declaration
> > ast_h323.h:95: non-member function `GetClass (unsigned int)' cannot
> > have `const' method qualifier
> > ast_h323.h: In function `const char *GetClass (unsigned int)':
> > ast_h323.h:95: redefinition of `const char *GetClass (unsigned int =
> > 0)'
> > ast_h323.h:62: `const char *GetClass (unsigned int = 0)' previously
> > defined here
> > ast_h323.h: In function `const char *GetClass (unsigned int)':
> > ast_h323.h:95: parse error before `::'
> > ast_h323.h:95: no method `AST_G729Capability::Class'
> > ast_h323.h: At top level:
> > ast_h323.h:95: syntax error before `('
> > ast_h323.h:109: virtual outside class declaration
> > ast_h323.h:109: non-member function `Clone ()' cannot have `const'
> > method qualifier
> > ast_h323.h:116: syntax error before `*'
> > ast_h323.h:129: virtual outside class declaration
> > ast_h323.h:129: non-member function `GetSubType ()' cannot have `const'
> > method qualifier
> > ast_h323.h:133: virtual outside class declaration
> > ast_h323.h:133: non-member function `GetFormatName ()' cannot have
> > `const' method qualifier
> > ast_h323.h:135: parse error before `}'
> > ast_h323.h:141: parse error before `{'
> > ast_h323.h:142: virtual outside class declaration
> > ast_h323.h:142: non-member function `InternalIsDescendant (const char
> > *)' cannot have `const' method qualifier
> > ast_h323.h: In function `BOOL InternalIsDescendant (const char *)':
> > ast_h323.h:142: redefinition of `BOOL InternalIsDescendant (const char
> > *)'
> > ast_h323.h:95: `BOOL InternalIsDescendant (const char *)' previously
> > defined here
> > ast_h323.h: In function `BOOL InternalIsDescendant (const char *)':
> > ast_h323.h:142: parse error before `::'
> > ast_h323.h:142: warning: no return statement in function returning
> > non-void
> > ast_h323.h: At top level:
> > ast_h323.h:142: virtual outside class declaration
> > ast_h323.h:142: non-member function `GetClass (unsigned int)' cannot
> > have `const' method qualifier
> > ast_h323.h: In function `const char *GetClass (unsigned int)':
> > ast_h323.h:142: redefinition of `const char *GetClass (unsigned int =
> > 0)'
> > ast_h323.h:95: `const char *GetClass (unsigned int = 0)' previously
> > defined here
> > ast_h323.h: In function `const char *GetClass (unsigned int)':
> > ast_h323.h:142: parse error before `::'
> > ast_h323.h:142: no method `AST_G729ACapability::Class'
> > ast_h323.h: At top level:
> > ast_h323.h:142: syntax error before `('
> > ast_h323.h:156: virtual outside class declaration
> > ast_h323.h:156: non-member function `Clone ()' cannot have `const'
> > method qualifier
> > ast_h323.h:163: syntax error before `*'
> > ast_h323.h:176: virtual outside class declaration
> > ast_h323.h:176: non-member function `GetSubType ()' cannot have `const'
> > method qualifier
> > ast_h323.h:180: virtual outside class declaration
> > ast_h323.h:180: non-member function `GetFormatName ()' cannot have
> > `const' method qualifier
> > ast_h323.h:182: parse error before `}'
> > ast_h323.h:185: parse error before `{'
> > ast_h323.h:187: virtual outside class declaration
> > ast_h323.h:187: non-member function `InternalIsDescendant (const char
> > *)' cannot have `const' method qualifier
> > ast_h323.h: In function `BOOL InternalIsDescendant (const char *)':
> > ast_h323.h:187: redefinition of `BOOL InternalIsDescendant (const char
> > *)'
> > ast_h323.h:142: `BOOL InternalIsDescendant (const char *)' previously
> > defined here
> > ast_h323.h: In function `BOOL InternalIsDescendant (const char *)':
> > ast_h323.h:187: `H323EndPoint' undeclared (first use this function)
> > ast_h323.h:187: parse error before `::'
> > ast_h323.h:187: warning: no return statement in function returning
> > non-void
> > ast_h323.h: At top level:
> > ast_h323.h:187: virtual outside class declaration
> > ast_h323.h:187: non-member function `GetClass (unsigned int)' cannot
> > have `const' method qualifier
> > ast_h323.h: In function `const char *GetClass (unsigned int)':
> > ast_h323.h:187: redefinition of `const char *GetClass (unsigned int =
> > 0)'
> > ast_h323.h:142: `const char *GetClass (unsigned int = 0)' previously
> > defined here
> > ast_h323.h: In function `const char *GetClass (unsigned int)':
> > ast_h323.h:187: parse error before `::'
> > ast_h323.h:187: no method `MyH323EndPoint::Class'
> > ast_h323.h: At top level:
> > ast_h323.h:187: syntax error before `('
> > ast_h323.h:194: `H323Connection' was not declared in this scope
> > ast_h323.h:194: parse error before `,'
> > ast_h323.h:195: `H323Connection' was not declared in this scope
> > ast_h323.h:195: parse error before `,'
> > ast_h323.h:196: `H323Connection' was not declared in this scope
> > ast_h323.h:196: parse error before `,'
> > ast_h323.h:197: syntax error before `*'
> > ast_h323.h:199: syntax error before `('
> > ast_h323.h:200: `H323Connection' was not declared in this scope
> > ast_h323.h:200: parse error before `,'
> > ast_h323.h:202: `H323Connection' was not declared in this scope
> > ast_h323.h:202: parse error before `,'
> > ast_h323.h:206: `H225_EndpointType' was not declared in this scope
> > ast_h323.h:206: `info' was not declared in this scope
> > ast_h323.h:206: variable or field `SetEndpointTypeInfo' declared void
> > ast_h323.h:208: parse error before `}'
> > ast_h323.h:210: parse error before `{'
> > ast_h323.h:212: virtual outside class declaration
> > ast_h323.h:212: non-member function `InternalIsDescendant (const char
> > *)' cannot have `const' method qualifier
> > ast_h323.h: In function `BOOL InternalIsDescendant (const char *)':
> > ast_h323.h:212: redefinition of `BOOL InternalIsDescendant (const char
> > *)'
> > ast_h323.h:187: `BOOL InternalIsDescendant (const char *)' previously
> > defined here
> > ast_h323.h: In function `BOOL InternalIsDescendant (const char *)':
> > ast_h323.h:212: `H323Connection' undeclared (first use this function)
> > ast_h323.h:212: parse error before `::'
> > ast_h323.h:212: warning: no return statement in function returning
> > non-void
> > ast_h323.h: At top level:
> > ast_h323.h:212: virtual outside class declaration
> > ast_h323.h:212: non-member function `GetClass (unsigned int)' cannot
> > have `const' method qualifier
> > ast_h323.h: In function `const char *GetClass (unsigned int)':
> > ast_h323.h:212: redefinition of `const char *GetClass (unsigned int =
> > 0)'
> > ast_h323.h:187: `const char *GetClass (unsigned int = 0)' previously
> > defined here
> > ast_h323.h: In function `const char *GetClass (unsigned int)':
> > ast_h323.h:212: parse error before `::'
> > ast_h323.h:212: no method `MyH323Connection::Class'
> > ast_h323.h: At top level:
> > ast_h323.h:212: syntax error before `('
> > ast_h323.h:216: destructors must be member functions
> > ast_h323.h:218: syntax error before `*'
> > ast_h323.h:222: syntax error before `::'
> > ast_h323.h:223: parse error before `&'
> > ast_h323.h:224: parse error before `&'
> > ast_h323.h:225: `H323SignalPDU' was not declared in this scope
> > ast_h323.h:225: parse error before `)'
> > ast_h323.h:226: parse error before `&'
> > ast_h323.h:227: parse error before `&'
> > ast_h323.h:228: `H323SignalPDU' was not declared in this scope
> > ast_h323.h:228: parse error before `)'
> > ast_h323.h:229: `H323Channel' was not declared in this scope
> > ast_h323.h:229: parse error before `)'
> > ast_h323.h:230: `H323Channel' was not declared in this scope
> > ast_h323.h:230: parse error before `)'
> > ast_h323.h:240: syntax error before `::'
> > ast_h323.h:246: parse error before `}'
> > ast_h323.h:248: parse error before `{'
> > ast_h323.h:250: virtual outside class declaration
> > ast_h323.h:250: non-member function `InternalIsDescendant (const char
> > *)' cannot have `const' method qualifier
> > ast_h323.h: In function `BOOL InternalIsDescendant (const char *)':
> > ast_h323.h:250: redefinition of `BOOL InternalIsDescendant (const char
> > *)'
> > ast_h323.h:212: `BOOL InternalIsDescendant (const char *)' previously
> > defined here
> > ast_h323.h: In function `BOOL InternalIsDescendant (const char *)':
> > ast_h323.h:250: `H323_ExternalRTPChannel' undeclared (first use this
> > function)
> > ast_h323.h:250: parse error before `::'
> > ast_h323.h:250: warning: no return statement in function returning
> > non-void
> > ast_h323.h: At top level:
> > ast_h323.h:250: virtual outside class declaration
> > ast_h323.h:250: non-member function `GetClass (unsigned int)' cannot
> > have `const' method qualifier
> > ast_h323.h: In function `const char *GetClass (unsigned int)':
> > ast_h323.h:250: redefinition of `const char *GetClass (unsigned int =
> > 0)'
> > ast_h323.h:212: `const char *GetClass (unsigned int = 0)' previously
> > defined here
> > ast_h323.h: In function `const char *GetClass (unsigned int)':
> > ast_h323.h:250: parse error before `::'
> > ast_h323.h:250: no method `MyH323_ExternalRTPChannel::Class'
> > ast_h323.h: At top level:
> > ast_h323.h:250: syntax error before `('
> > ast_h323.h:260: parse error before `&'
> > ast_h323.h:269: parse error before `&'
> > ast_h323.h:277: destructors must be member functions
> > ast_h323.h:279: parse error before `&'
> > ast_h323.h:281: syntax error before `::'
> > ast_h323.h:282: redefinition of `WORD externalPort'
> > ast_h323.h:241: `WORD externalPort' previously declared here
> > ast_h323.h:283: parse error before `}'
> > ast_h323.cpp: In method `void MyProcess::Main ()':
> > ast_h323.cpp:88: invalid use of undefined type `class MyH323EndPoint'
> > ast_h323.h:185: forward declaration of `class MyH323EndPoint'
> > ast_h323.cpp: At top level:
> > ast_h323.cpp:96: type specifier omitted for parameter
> > ast_h323.cpp:96: parse error before string constant
> > ast_h323.cpp:96: ISO C++ forbids declaration of
> > `H323_REGISTER_CAPABILITY' with no type
> > ast_h323.cpp:97: type specifier omitted for parameter
> > ast_h323.cpp:97: parse error before string constant
> > ast_h323.cpp:97: ISO C++ forbids declaration of
> > `H323_REGISTER_CAPABILITY' with no type
> > ast_h323.cpp:98: type specifier omitted for parameter
> > ast_h323.cpp:98: parse error before string constant
> > ast_h323.cpp:98: ISO C++ forbids declaration of
> > `H323_REGISTER_CAPABILITY' with no type
> > ast_h323.cpp:101: invalid use of undefined type `class
> > H323_G7231Capability'
> > ast_h323.h:60: forward declaration of `class H323_G7231Capability'
> > ast_h323.cpp: In method `H323_G7231Capability::H323_G7231Capability
> > (int)':
> > ast_h323.cpp:101: class `H323_G7231Capability' does not have any field
> > named `H323AudioCapability'
> > ast_h323.cpp:103: `annexA' undeclared (first use this function)
> > ast_h323.cpp: At top level:
> > ast_h323.cpp:107: invalid use of undefined type `class
> > H323_G7231Capability'
> > ast_h323.h:60: forward declaration of `class H323_G7231Capability'
> > ast_h323.cpp: In method `PObject::Comparison
> > H323_G7231Capability::Compare (const PObject &) const':
> > ast_h323.cpp:108: `Comparison' undeclared (first use this function)
> > ast_h323.cpp:108: parse error before `='
> > ast_h323.cpp:109: `result' undeclared (first use this function)
> > ast_h323.cpp:109: `EqualTo' undeclared (first use this function)
> > ast_h323.cpp:112: invalid use of undefined type `class
> > H323_G7231Capability'
> > ast_h323.h:60: forward declaration of `class H323_G7231Capability'
> > ast_h323.cpp:114: `LessThan' undeclared (first use this function)
> > ast_h323.cpp:116: `GreaterThan' undeclared (first use this function)
> > ast_h323.cpp: At top level:
> > ast_h323.cpp:121: invalid use of undefined type `class
> > H323_G7231Capability'
> > ast_h323.h:60: forward declaration of `class H323_G7231Capability'
> > ast_h323.cpp: In method `PObject *H323_G7231Capability::Clone ()
> > const':
> > ast_h323.cpp:122: invalid use of undefined type `class
> > H323_G7231Capability'
> > ast_h323.h:60: forward declaration of `class H323_G7231Capability'
> > ast_h323.cpp: At top level:
> > ast_h323.cpp:127: invalid use of undefined type `class
> > H323_G7231Capability'
> > ast_h323.h:60: forward declaration of `class H323_G7231Capability'
> > ast_h323.cpp: In method `PString H323_G7231Capability::GetFormatName ()
> > const':
> > ast_h323.cpp:128: `OPAL_G7231_6k3' undeclared (first use this function)
> > ast_h323.cpp:128: parse error before string constant
> > ast_h323.cpp:129: warning: no return statement in function returning
> > non-void
> > ast_h323.cpp: At top level:
> > ast_h323.cpp:133: invalid use of undefined type `class
> > H323_G7231Capability'
> > ast_h323.h:60: forward declaration of `class H323_G7231Capability'
> > ast_h323.cpp: In method `unsigned int H323_G7231Capability::GetSubType
> > () const':
> > ast_h323.cpp:134: `H245_AudioCapability' undeclared (first use this
> > function)
> > ast_h323.cpp:134: parse error before `::'
> > ast_h323.cpp:135: warning: no return statement in function returning
> > non-void
> > ast_h323.cpp: At top level:
> > ast_h323.cpp:138: `cap' was not declared in this scope
> > ast_h323.cpp:139: parse error before `)'
> > ast_h323.cpp:140: invalid use of undefined type `class
> > H323_G7231Capability'
> > ast_h323.h:60: forward declaration of `class H323_G7231Capability'
> > ast_h323.cpp: In method `BOOL H323_G7231Capability::OnSendingPDU (...)
> > const':
> > ast_h323.cpp:141: `cap' undeclared (first use this function)
> > ast_h323.cpp:141: parse error before `::'
> > ast_h323.cpp:143: `H245_AudioCapability_g7231' undeclared (first use
> > this function)
> > ast_h323.cpp:143: `g7231' undeclared (first use this function)
> > ast_h323.cpp:144: `packetSize' undeclared (first use this function)
> > ast_h323.cpp: At top level:
> > ast_h323.cpp:151: parse error before `&'
> > ast_h323.cpp:153: invalid use of undefined type `class
> > H323_G7231Capability'
> > ast_h323.h:60: forward declaration of `class H323_G7231Capability'
> > ast_h323.cpp: In method `BOOL H323_G7231Capability::OnReceivedPDU
> > (...)':
> > ast_h323.cpp:154: parse error before `::'
> > ast_h323.cpp:157: ISO C++ forbids declaration of
> > `H245_AudioCapability_g7231' with no type
> > ast_h323.cpp:157: uninitialized const `H245_AudioCapability_g7231'
> > ast_h323.cpp:157: parse error before `&'
> > ast_h323.cpp:157: warning: unused variable `const int
> > H245_AudioCapability_g7231'
> > ast_h323.cpp:162: confused by earlier errors, bailing out
> > {standard input}: Assembler messages:
> > {standard input}:1359: Error: symbol `InternalIsDescendant__FPCc' is
> > already def
> > ined
> > {standard input}:1381: Error: symbol `GetClass__FUi' is already defined
> > {standard input}:1403: Error: symbol `InternalIsDescendant__FPCc' is
> > already def
> > ined
> > {standard input}:1425: Error: symbol `GetClass__FUi' is already defined
> > {standard input}:1447: Error: symbol `InternalIsDescendant__FPCc' is
> > already def
> > ined
> > {standard input}:1469: Error: symbol `GetClass__FUi' is already defined
> > {standard input}:1491: Error: symbol `InternalIsDescendant__FPCc' is
> > already def
> > ined
> > {standard input}:1513: Error: symbol `GetClass__FUi' is already defined
> > {standard input}:1535: Error: symbol `InternalIsDescendant__FPCc' is
> > already def
> > ined
> > {standard input}:1557: Error: symbol `GetClass__FUi' is already defined
> > make: *** [ast_h323.o] Error 2
> > [root at gw01 h323]#
> >


Did You define:

PWLIBDIR=/root/pwlib
export PWLIBDIR
OPENH323DIR=/root/openh323
export OPENH323DIR
LD_LIBRARY_PATH=$PWLIBDIR/lib:$OPENH323DIR/lib
export LD_LIBRARY_PATH


Regards

GGB


> >
> >
> >
> >
> >
> > ***********************************************************************
> > IMPORTANT NOTICE:
> > The information transmitted is intended only for the person or entity
> > to
> > which it is addressed and may contain confidential and/or privileged
> > material. If you receive this in error, please contact the sender and
> > delete the material from any computer.
> > This e-mail is intended for the above named addressee only.
> > Should you receive this e-mail in error please contact
> > Customer Services on Tel: +44 (0)870 241 2439
> > ***********************************************************************
> > *
> >
> > _______________________________________________
> > Asterisk-Users mailing list
> > Asterisk-Users at lists.digium.com
> > http://lists.digium.com/mailman/listinfo/asterisk-users
> > To UNSUBSCRIBE or update options visit:
> >    http://lists.digium.com/mailman/listinfo/asterisk-users
>
> _______________________________________________
> Asterisk-Users mailing list
> Asterisk-Users at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-users
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-users
>



More information about the asterisk-users mailing list