All - Tracked down this error, -DWIN32 solves the threads problems, but there are lots of other issues.
Mark -- Mark Riehl Agile Communications, Inc. Email: [EMAIL PROTECTED] > -----Original Message----- > From: Mark Riehl [mailto:[EMAIL PROTECTED]] > Sent: Thursday, October 25, 2001 10:30 AM > To: '[EMAIL PROTECTED]' > Subject: RE: Xerces-P and Win2k > > > All - I've been looking into porting Xerces-P to Win2k. I've > got a few > problems, hoping you might be able to point me in the right direction. > > I'm using ActiveState 5.6.1 (build 626) and Visual C++ under > Win2k. I'm > having problems resolving errors related to threads. > > Here's the output of nmake: > > ################################## > C:\Xerces\Xerces-P\XML-Xerces-1.5.7>nmake > > Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 > Copyright (C) Microsoft Corp 1988-1998. All rights reserved. > > NMAKE -C Handler static > cl -c -I. -IHandler > -IC:\Xerces\Xerces-C\xerces-c_2001-10-05-win32\inclu > de -D_REENTRANT -O1 -MD -DNDEBUG -DVERSION=\"1.5.7\" > -DXS_VERSION=\"1.5.7\" > -IC:\Perl\lib\CORE Xerces.c > Microsoft (R) 32-bit C/C++ Optimizing Compiler Version > 12.00.8168 for 80x86 > Copyright (C) Microsoft Corp 1984-1998. All rights reserved. > > Xerces.c > C:\Perl\lib\CORE\perl.h(788) : warning C4273: 'win32_strerror' : > inconsistent dl > l linkage. dllexport assumed. > C:\Perl\lib\CORE\dosish.h(111) : warning C4005: 'Stat' : > macro redefinition > C:\Perl\lib\CORE\win32.h(305) : see previous > definition of 'Stat' > C:\Perl\lib\CORE\perl.h(1746) : error C2061: syntax error : identifier > 'perl_os_ > thread' > C:\Perl\lib\CORE\perl.h(1746) : error C2059: syntax error : ';' > C:\Perl\lib\CORE\perl.h(1747) : error C2061: syntax error : identifier > 'perl_mut > ex' > C:\Perl\lib\CORE\perl.h(1747) : error C2059: syntax error : ';' > C:\Perl\lib\CORE\perl.h(1748) : error C2061: syntax error : identifier > 'perl_con > d' > C:\Perl\lib\CORE\perl.h(1748) : error C2059: syntax error : ';' > C:\Perl\lib\CORE\perl.h(1749) : error C2061: syntax error : identifier > 'perl_key > ' > C:\Perl\lib\CORE\perl.h(1749) : error C2059: syntax error : ';' > C:\Perl\lib\CORE\perl.h(2194) : warning C4273: 'mktemp' : > inconsistent dll > linka > ge. dllexport assumed. > C:\Perl\lib\CORE\perl.h(2196) : warning C4273: 'atof' : > inconsistent dll > linkage > . dllexport assumed. > C:\Program Files\Microsoft Visual > Studio\VC98\include\math.h(174) : warning > C427 > 3: 'atof' : inconsistent dll linkage. dllexport assumed. > C:\Perl\lib\CORE\perl.h(2237) : warning C4273: 'win32_crypt' > : inconsistent > dll > linkage. dllexport assumed. > C:\Perl\lib\CORE\perl.h(2347) : warning C4273: 'win32_environ' : > inconsistent dl > l linkage. dllexport assumed. > C:\Perl\lib\CORE\perlvars.h(22) : error C2061: syntax error : > identifier > 'PL_thr > _key' > C:\Perl\lib\CORE\perlvars.h(22) : error C2059: syntax error : ';' > C:\Perl\lib\CORE\perlvars.h(39) : error C2061: syntax error : > identifier > 'PL_op_ > mutex' > C:\Perl\lib\CORE\perlvars.h(39) : error C2059: syntax error : ';' > C:\Perl\lib\CORE\perlvars.h(22) : error C2143: syntax error : > missing '{' > before > '*' > C:\Perl\lib\CORE\perlvars.h(39) : error C2143: syntax error : > missing '{' > before > '*' > Xerces.c(482) : fatal error C1083: Cannot open include file: > 'strstream.h': > No s > uch file or directory > NMAKE : U1077: 'cl' : return code '0x2' > Stop. > NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual > Studio\VC98\bin\N > MAKE.EXE"' : return code '0x2' > Stop. > ################################## > > Problem is that pthread_t (and other thread-related defines > referenced in > c:\Perl\lib\CORE\perl.h) isn't defined anywhere in Visual C++. > > Questions - > 1. Are the nightly binaries of Xerces-C built with > multithreaded support? > 2. I'm assuming that I should only need the Visual C++ > include files, right? > That is, I shouldn't need to be including the Cygwin > includes, correct? > > Any suggestions? > > Thanks, > Mark > > -- > Mark Riehl > Agile Communications, Inc. > Email: [EMAIL PROTECTED] > > > -----Original Message----- > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] > > Sent: Thursday, October 18, 2001 4:01 PM > > To: Mark Riehl > > Cc: [EMAIL PROTECTED] > > Subject: Re: Xerces-P and Win2k > > > > > > "Mark Riehl" <[EMAIL PROTECTED]> writes: > > > > > Jason - I've been looking at this on and off for a few > weeks. We've > > > got a project (under Win2k) that requires an XML parser in C++ and > > > Perl. We're using Xerces-C, so I'd like to use Xerces-P > so that we > > > have consistent XML parser APIs. > > > > Right, that makes sense. The API's will be *nearly* identical. The > > only difference is that I've simplified some things to work using > > Perls builtin data types: strings, arrays, and hashes. > > > > > In a nutshell, I think I need to do the following: > > > > > > 1. Install one of the latest nightly builds of Xerces-C > > > 2. Modify Makefile.PL so that I can compile Xerces-P using > > MS Visual C++ 6 > > > off the command line. > > > > One issue is how perl was built. Presumably you're using ActiveState > > Perl, which I believe gets compiled using VC++. > > > > In order for Perl to build it's modules, it keeps track of all the > > configuration information that was generated when Perl was > built. All > > this info is stored in the Perl module, Config.pm. > > > > When you configure a new module, like XML::Xerces, you need > to have a > > script, Makefile.PL, which tells Perl how to build the new > > module. Most of these scripts are really simple, and simply > invoke the > > command ExtUtils::MakeMaker::WriteMakefile() with a few > > parameters. Perl then recursively descends the module > directories and > > creates Makefiles based on your configuration info and the info > > supplied by the module author. > > > > > One question - what is the end result of the build, i.e., > > what is missing > > > for Xerces-P to run under Windows? Is the end product a > > dll? I've worked > > > with C++ for years, but I'm a little new to Perl and I'm > > having a little > > > trouble seeing the dependencies. > > > > Two pieces: a dll, and a Perl module, Xerces.pm. > > > > I'm hoping that 'make install' will just 'Do The Right > Thing', but if > > not it shouldn't be too hard to figure out where ActiveState wants > > things to be. > > > > > I've also got a Linux box here (Red Hat 7.1), so I can > experiment a > > > bit and get familiar with the process on a supported platform. > > > > Ok. sounds like a plan. > > > > Let me know how it goes, > > jas. > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
