Hi Adam,
I would suggest you disable H.350 on Linux for now (configure --disable-h350). It probably won't be used by any current applications and my guess is the code hasn't compiled on Linux so far - the standard configure has a bug so it won't vere get activated.
Happy holidays, Jan
Adam Williamson wrote:
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