"David Fielding" <[EMAIL PROTECTED]> writes:

> Thanks. It does appear that CC will compile the files that fail to
> compile with cc (make CC=CC). I now get include type errors shown
> below.

Ok, that's useful information, thanks!

> As far as Perl being misconfigured I installed Perl 5.6.0 without 
> error long before trying to install Xerces. I'm not sure how this 
> might be misconfigured such that Perl doesn't know enough to use CC.

My bad. Perl's Configure apparently doesn't ask any information about
a C++ compiler at all.

> The errors below would indicate something is not correct with
> include files, as if the types might have changed between the
> version of Perl and Xerces.
>       
> CC -c -I. -IHandler -I/usr/local/src/xerces-c-src1_5_1/include -D_REENTRANT 
> -DHAS_BOOL -O     -DVERSION=\"1.5.6\" -DXS_VERSION=\"1.5.6\" -KPIC 
> -I/usr/local/lib/perl5/5.6.0/sun4-solaris/CORE  Xerces.C
> "/usr/local/lib/perl5/5.6.0/sun4-solaris/CORE/cop.h", line 300: Error: Type name 
> expected instead of "bool".
> "/usr/local/lib/perl5/5.6.0/sun4-solaris/CORE/cop.h", line 300: Error: No 
> storage class or type for this declaration.
> "/usr/local/lib/perl5/5.6.0/sun4-solaris/CORE/cop.h", line 300: Error: "," 
> expected instead of "sbu_once".
> ...many more messages deleted...

This looks like the BOOL problem again. gcc on Solaris needs
-DHAS_BOOL, it looks like CC does not want it. Try the above compile
line manually, but take out -DHAS_BOOL and see if that helps.

> PS: In order to complete the compile in Handler I manually added the include
> path to <iostreams.h> in /opt/SUNWspro/SC4.2/include/CC. Not sure if this is
> left out due to a misconfigured CC or Perl.
> 
>  CC -c -I. -I/opt/SUNWspro/SC4.2/include/CC -IHandler 
> -I/usr/local/src/xerces-c-src1_5_1/include -I/usr/local/include 
> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"0.10\" 
> -DXS_VERSION=\"0.10\" -KPIC -I/usr/local/lib/perl5/5.6.0/sun4-solaris/CORE 
> PerlExceptionHandler.cpp

Ahhh.. very useful information, thanks. Actually I'm beginning to
believe that this is caused by two issues: 
* I don't do my C++ programming and so I haven't kept up with the C++
  standard. I use 'cerr' in some of the code, and it appears that I
  should be using 'std::cerr'

* the code that uses cerr doesn't need to be there at all, but because
  of the current exception handling mechanism I use (which is not
  optimal), I catch unhandled exceptions with cerr. This is slated to
  change in 1.5.8

Thanks for the info, good luck,
jas.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to