hi,
i am trying to build universal ( x86_64 and x86) binary for MAC (
Darwin 10.4 ). i am currently using XERCES Version 2.2.
i am able to successfully build Universal binary for ( x86 and PPC ) ,
but getting below issues for ( x86 and X86-64 ) ..
: : : :g++ -DMACOSX -D_REENTRANT -DVXPSP_CCFLAGS
-c -I/xerces/include -O -arch i386 -arch x86_64 -isysroot
/Developer/SDKs/MacOSX10.6.sdk -arch x86_64 -arch i386 -w -O
-DPROJ_XMLPARSER -DPROJ_XMLUTIL -DPROJ_PARSERS -DPROJ_SAX4C -DPROJ_SAX2
-DPROJ_DOM -DPROJ_VALIDATORS -DXML_USE_ICU_TRANSCODER -I/icu/include
-DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS
-DXML_USE_NETACCESSOR_NATIVE -D_GNU_SOURCE -D__USE_GNU -o
/xerces/obj/MACOSX/MacOSPlatformUtils.o MacOSPlatformUtils.cpp
: : : :MacOSPlatformUtils.cpp: In member function
'virtual unsigned int xercesc_2_2::XMLMacFile::currPos()':
: : : :MacOSPlatformUtils.cpp:213: error:
'GetFPos' was not declared in this scope
: : : :MacOSPlatformUtils.cpp: In member function
'virtual void xercesc_2_2::XMLMacFile::close()':
: : : :MacOSPlatformUtils.cpp:235: error:
'FSClose' was not declared in this scope
: : : :MacOSPlatformUtils.cpp: In member function
'virtual unsigned int xercesc_2_2::XMLMacFile::size()':
: : : :MacOSPlatformUtils.cpp:263: error: 'GetEOF'
was not declared in this scope
: : : :MacOSPlatformUtils.cpp: In member function
'void xercesc_2_2::XMLMacFile::openWithPermission(const XMLCh*, int)':
: : : :MacOSPlatformUtils.cpp:294: error: cannot
convert 'short int*' to 'FSIORefNum*' for argument '5' to 'OSErr
FSOpenFork(const FSRef*, UniCharCount, const UniChar*, SInt8, FSIORefNum*)'
: : : :MacOSPlatformUtils.cpp:303: error:
'FSpOpenDF' was not declared in this scope
: : : :MacOSPlatformUtils.cpp: In member function
'void xercesc_2_2::XMLMacFile::create(const XMLCh*)':
: : : :MacOSPlatformUtils.cpp:360: error:
'FSpDelete' was not declared in this scope
: : : :MacOSPlatformUtils.cpp:380: error: 'struct
FSSpec' has no member named 'name'
: : : :MacOSPlatformUtils.cpp:393: error: 'struct
FSSpec' has no member named 'vRefNum'
: : : :MacOSPlatformUtils.cpp:393: error: 'struct
FSSpec' has no member named 'parID'
: : : :MacOSPlatformUtils.cpp:393: error:
'FSMakeFSSpec' was not declared in this scope
: : : :MacOSPlatformUtils.cpp:396: error:
'FSpCreate' was not declared in this scope
: : : :MacOSPlatformUtils.cpp: In member function
'virtual unsigned int xercesc_2_2::XMLMacFile::read(unsigned int,
XMLByte*)':
: : : :MacOSPlatformUtils.cpp:442: error: 'FSRead'
was not declared in this scope
: : : :MacOSPlatformUtils.cpp: In member function
'virtual void xercesc_2_2::XMLMacFile::write(long int, const XMLByte*)':
One more thing I noticed is there is a ENV called DEVELOPER_SDK which I set
to /Developer/SDKs/MacOSX10.6.sdk because in the x86_64 build it takes only
this directory else for the other directories (MacOSX10.5.sdk and
MacOSX10.4u.sdk) it fails. I am not sure if this is causing the failure
below.
I am currently trying to build with 10.6 SDK as this is the only one which
is being allowed by gcc for compiling x86_64 architecture. If it try 10.4
and 10.5 the build fails with gcc giving an error that x86_64 is not a
supported flag.
When I looked closely into the Mac errors , I found out that there are a few
functions used in the code like GetFPos which are not at all declared
anywhere and are already deprecated in 10.6 now.
How can we proceed ahead ... Any Comments will
be helpful ...
Thanks
Anil