[h323plus] Trouble building h323plus with GCC 4.2.2

Adam Williamson awilliamson at mandriva.com
Mon Dec 24 01:52:08 EST 2007


Hi, there. I'm looking at migrating Mandriva from openh323 to h323plus,
but I'm getting several errors trying to build it. Building against
pwlib 1.12.0.

The first set of errors is as follows:

g++ -fPIC  -D_REENTRANT -fno-exceptions  -Wall  -fPIC -DPIC -DNDEBUG
-DPTRACING -I/home/adamw/rpm/BUILD/h323plus/include
-I/usr/share/pwlib//include -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2
-fstack-protector --param=ssp-buffer-size=4  -fexceptions
-fomit-frame-pointer -march=i586 -mtune=generic
-fasynchronous-unwind-tables -DLDAP_DEPRECATED
-c /home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx
-o /home/adamw/rpm/BUILD/h323plus/lib/obj_linux_x86_r/h350.o
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:69:1: error: pasting
"(" and "commObject" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:69:1: error: pasting
"(" and "commObject" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:69:1: error: pasting
")" and "commObject" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:69:1: error: pasting
"(" and "commObject" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:69:1: error: pasting
"commObject" and ")" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:69:1: error: pasting
"<" and "commObject" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:69:1: error: pasting
">" and "commObject" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:69:1: error: pasting
"(" and "commObject" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:69:1: error: pasting
"&" and "commObject" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:69:1: error: pasting
"(" and "commObject" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:80:1: error: pasting
"(" and "commURIObject" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:80:1: error: pasting
"(" and "commURIObject" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:80:1: error: pasting
")" and "commURIObject" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:80:1: error: pasting
"(" and "commURIObject" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:80:1: error: pasting
"commURIObject" and ")" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:80:1: error: pasting
"<" and "commURIObject" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:80:1: error: pasting
">" and "commURIObject" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:80:1: error: pasting
"(" and "commURIObject" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:80:1: error: pasting
"&" and "commURIObject" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:80:1: error: pasting
"(" and "commURIObject" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:101:1: error: pasting
"(" and "H323Identity" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:101:1: error: pasting
"(" and "H323Identity" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:101:1: error: pasting
")" and "H323Identity" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:101:1: error: pasting
"(" and "H323Identity" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:101:1: error: pasting
"H323Identity" and ")" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:101:1: error: pasting
"<" and "H323Identity" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:101:1: error: pasting
">" and "H323Identity" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:101:1: error: pasting
"(" and "H323Identity" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:101:1: error: pasting
"&" and "H323Identity" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:101:1: error: pasting
"(" and "H323Identity" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:114:1: error: pasting
"(" and "H235Identity" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:114:1: error: pasting
"(" and "H235Identity" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:114:1: error: pasting
")" and "H235Identity" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:114:1: error: pasting
"(" and "H235Identity" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:114:1: error: pasting
"H235Identity" and ")" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:114:1: error: pasting
"<" and "H235Identity" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:114:1: error: pasting
">" and "H235Identity" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:114:1: error: pasting
"(" and "H235Identity" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:114:1: error: pasting
"&" and "H235Identity" does not give a valid preprocessing token
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:114:1: error: pasting
"(" and "H235Identity" does not give a valid preprocessing token

With the help of one of our contributors, we fixed that one with the
following patch to pwlib:

--------------------

--- ptlib_v1_12_0/include/ptclib/pldap.h        2007-10-18 23:22:38.000000000 -0700
+++ ptlib_v1_12_0/include/ptclib/pldap.h.new    2007-12-22 04:56:25.000000000 -0800
@@ -597,9 +597,9 @@
 };
 
 #define LDAP_Schema(name)    \
-static LDAPPluginServiceDescriptor<##name##_schema> ##name##_schema_descriptor; \
-PCREATE_PLUGIN(##name##_schema, PLDAPSchema, &##name##_schema_descriptor); \
-PWLIB_STATIC_LOAD_PLUGIN(##name##_schema, PLDAPSchema); \
+static LDAPPluginServiceDescriptor<name##_schema> name##_schema_descriptor; \
+PCREATE_PLUGIN(name##_schema, PLDAPSchema, &name##_schema_descriptor); \
+PWLIB_STATIC_LOAD_PLUGIN(name##_schema, PLDAPSchema); \
 
 ////////////////////////////////////////////////////////////////////////////////////////////

-----------------

But then we get some further errors in the same macros:

--------------------

/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx: In function 'void PWLibPlugin_TriggerRegister(PPluginManager*)':
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:80: error: redefinition of 'void PWLibPlugin_TriggerRegister(PPluginManager*)'
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:69: error: 'void PWLibPlugin_TriggerRegister(PPluginManager*)' previously defined here
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx: In function 'unsigned int PWLibPlugin_GetAPIVersion()':
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:80: error: redefinition of 'unsigned int PWLibPlugin_GetAPIVersion()'
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:69: error: 'unsigned int PWLibPlugin_GetAPIVersion()' previously defined here
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx: In function 'void PWLibPlugin_TriggerRegister(PPluginManager*)':
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:101: error: redefinition of 'void PWLibPlugin_TriggerRegister(PPluginManager*)'
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:69: error: 'void PWLibPlugin_TriggerRegister(PPluginManager*)' previously defined here
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx: In function 'unsigned int PWLibPlugin_GetAPIVersion()':
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:101: error: redefinition of 'unsigned int PWLibPlugin_GetAPIVersion()'
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:69: error: 'unsigned int PWLibPlugin_GetAPIVersion()' previously defined here
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx: In function 'void PWLibPlugin_TriggerRegister(PPluginManager*)':
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:114: error: redefinition of 'void PWLibPlugin_TriggerRegister(PPluginManager*)'
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:69: error: 'void PWLibPlugin_TriggerRegister(PPluginManager*)' previously defined here
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx: In function 'unsigned int PWLibPlugin_GetAPIVersion()':
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:114: error: redefinition of 'unsigned int PWLibPlugin_GetAPIVersion()'
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:69: error: 'unsigned int PWLibPlugin_GetAPIVersion()' previously defined here
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx: In member function 'BOOL H350_Session::PostNew(const PString&, const std::list<PLDAPSchema, std::allocator<PLDAPSchema> >&)':
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:226: error: 'class PLDAPSession::ModAttrib::Operation' is not a class or namespace
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx: In member function 'BOOL H350_Session::PostUpdate(const PString&, const std::list<PLDAPSchema, std::allocator<PLDAPSchema> >&)':
/home/adamw/rpm/BUILD/h323plus/src/h350/h350.cxx:240: error: 'class PLDAPSession::ModAttrib::Operation' is not a class or namespace

---------

which we've not yet been able to fix. Does anyone have a fix for this? Thanks.
-- 
adamw




More information about the h323plus mailing list