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]

Reply via email to