--- Begin Message ---
Jason:
Thanks for the reply. Further information is embedded below...
CRY
Jason E. Stewart wrote:
>[EMAIL PROTECTED] (Jason E. Stewart) writes:
>
>
>
>>I have attempted several times to build XML::Xerces for Perl. I still
>>haven't been successful. I've done several searches on the web to find
>>help but have come up empty. Thus I've decided to bother you...I hope
>>you can help me.
>>
>>BACKGROUND:
>>My operating system: SunOS 5.7
>>My C++ compiler: Sun WorkShop 6 2000/04/07 C++ 5.1
>>My version of perl: v5.6.0
>>
>>
>
>if you want to use unicode, you'll want to upgrade that.
>
>
>
>>My version of XercesC++: xerces-c_2_3_0-Sol2.7ForCC
>>My version of XML::Xerces: XML-Xerces-2.3.0-3
>>
>>
>
>so far so good.
>
>
>
>>I downloaded the binary version of XercesC++ to my home directory,
>>extracted everything from the .gz file, set appropriate environment
>>variables, and the samples ran just fine.
>>
>>
>
>ok, that's useful
>
>
>
>>I then proceeded to follow instructions on downloading and building the
>>XML::Xerces for Perl. I created a small script to set up the build
>>environment. That script is a csh file whose contents are:
>>
>># Begin csh file
>>setenv PERLLIB /home/younkin/install/XML-Xerces-2.3.0-3/blib/lib
>>setenv MYXERCESCROOT /home/younkin/install/xerces-c_2_3_0-Sol2.7ForCC
>>setenv XERCES_CONFIG $MYXERCESCROOT/etc/config.status
>>setenv XERCES_INCLUDE $MYXERCESCROOT/include
>>setenv XERCES_LIB $MYXERCESCROOT/lib
>>setenv LD_LIBRARY_PATH $MYXERCESCROOT/lib
>>setenv LD_RUN_PATH
>>"/lib:/home/younkin/install/xerces-c_2_3_0-Sol2.7ForCC/lib:/apps/base/SUNWspro/WS6/lib"
>># End csh file
>>
>>
>
>Ok, you didn't define XERCESCROOT - which (unfortunately) is critical
>for building things with xerces-c.
>
Yeah, I initiallly tried using XERCESCROOT, but then I got an error
message saying that the config.status file couldn't be found. So, I saw
on your web page that I could use XERCES_LIB and XERCES_INCLUDE
directly, so I tried that. Again, it couldn't find config.status. So,
I found config.status myself, looked at Makefile.PL, and saw that it
used XERCES_CONFIG. That's why you see XERCES_INCLUDE, XERCES_LIB, and
XERCES_CONFIG set explicitly. When that still failed, I removed
XERCESCROOT entirely, but to no avail.
>
>
>
>>Then I started in following the steps provided on your web page:
>>
>>STEP 1: perl Makefile.PL
>>This step worked fine, with the following output:
>>
>># Begin output
>>Using XERCES_LIB = /home/younkin/install/xerces-c_2_3_0-Sol2.7ForCC/lib
>>Using XERCES_INCLUDE =
>>/home/younkin/install/xerces-c_2_3_0-Sol2.7ForCC/include
>>Using Xerces-C version info from
>>/home/younkin/install/xerces-c_2_3_0-Sol2.7ForCC/include/xercesc/util/XercesVersion.hpp
>>Checking to see if libxerces is in your library path...Success!!
>>Using Xerces-C version: 2.3.0
>>Checking if your kit is complete...
>>Looks good
>>Processing hints file hints/solaris_2.pl
>>Writing Makefile for Handler
>>Writing Makefile for XML::Xerces
>># End output
>>
>>
>
>Because you didn't define XERCESCROOT, Makefile.PL doesn't know where
>to look to find the config.status file. The Xerces-C people promised
>me that they would start included it for the binary
>distributions. Because I can't read your config.status file, I can't
>find where your C++ compiler is located, nor can I find any of the
>CFLAGS or LDFLAGS used to build Xerces-C - which means Perl has to
>guess, and it is notoriously bad at guessing...
>
See above...
>
>
>
>>cc -c -I. -IHandler
>>-I/home/younkin/install/xerces-c_2_3_0-Sol2.7ForCC/include -D_REENTRANT
>>-O -DVERSION=\"0.10\" -DXS_VERSION=\"0.10\" -KPIC
>>-I/apps/base/lib/perl5/5.6.0/sun4-solaris/CORE PerlCallbackHandler.cpp
>>cc: No input file specified, no output generated
>>
>>
>
>This is the error you get when using cc on a C++ file - I can't
>remember why - whether it's a license issue, or what.
>
>
>
>>I determined that the generated makefiles set the CC variable to 'cc' so
>>I tried 'CC' (upper case as opposed to lower case). This helped but I
>>got the following compiler error:
>>
>># Begin output
>>CC -c -I. -IHandler
>>-I/home/younkin/install/xerces-c_2_3_0-Sol2.7ForCC/include -D_REENTRANT
>>-O -DVERSION=\"2.3.0-3\" -DXS_VERSION=\"2.3.0-3\" -KPIC
>>-I/apps/base/lib/perl5/5.6.0/sun4-solaris/CORE Xerces.cpp
>>"Xerces.cpp", line 499: Error: PERL_MAGIC_tied is not defined.
>>"Xerces.cpp", line 845: Warning: String literal converted to char* in
>>initialization.
>>"Xerces.cpp", line 862: Warning: String literal converted to char* in
>>initialization.
>>"Xerces.cpp", line 879: Warning: String literal converted to char* in
>>initialization.
>>"Xerces.cpp", line 896: Warning: String literal converted to char* in
>>initialization.
>>1 Error(s) and 4 Warning(s) detected.
>># End output
>>
>>
>>I did a 'find' in both the XML_Xerces and xercesc directories and did
>>not find any definition of PERL_MAGIC_tied anywhere.
>>
>>
>
>Sorry, 2.3.0-4 solves this problem, that is a Perl-5.8 variable, and
>you're using 5.6. If you don't want to upgrade XML::Xerces again, you
>can simply modify the one use of PERL_MAGIC_tied to be the character:
>'P'.
>
I changed the PERL_MAGIC_tied to be 'P'. That made everything build,
but the "make test" command still fails.
>
>
>
>>When I tried the previous version of XML::Xerces, I got the same problem
>>with CC=cc, but it did build after I changed it to upper case.
>>
>>
>
>correct, it is a C++ project, you must use CC. XML::Xerces will autodetect
>this if you set the XERCESCROOT variable.
>
>
As you see from above, this didn't happen for me.
>
>
>>However, the make test failed and the sample perl scripts provided
>>all caused a core dump. Like I said, I haven't found anything on
>>the web where folks are having the same problems that I'm having.
>>I've tried several things that aren't worth explaining to you, but
>>have not had any success.
>>
>>
>
>Please rebuild after setting XERCESCROOT, and if the test scripts
>still dump core, please post the results to the list, and we'll see
>what we can do.
>
I did try it again, just in case I'm crazy...but it failed again. As I
said, I still have to manually change the CC make variable from cc to
CC. I need to define XERCES_CONFIG myself, and then I can't run "make
test."
The error I get is:
t/DOMCreate.........Can't load 'blib/arch/auto/XML/Xerces/Xerces.so' for
module XML::Xerces: ld.so.1: /apps/base/bin/perl: fatal: relocation
error: file blib/arch/auto/XML/Xerces/Xerces.so: symbol
__1cLxercesc_2_3QXMLPlatformUtilsKisRelative6FkpkH_c_: referenced symbol
not found at /apps/base/lib/perl5/5.6.0/sun4-solaris/DynaLoader.pm line 200.
at blib/lib/XML/Xerces.pm line 7
Compilation failed in require at t/DOMCreate.t line 11.
BEGIN failed--compilation aborted at t/DOMCreate.t line 11.
t/DOMCreate.........dubious
I get this many times, once for each file in the t directory. When I
run a script from the samples directory, I get this error:
Can't locate loadable object for module XML::Xerces in @INC (@INC
contains: /home/younkin/install/XML-Xerces-2.3.0-3/blib/lib
/apps/base/lib/perl5/5.6.0/sun4-solaris /apps/base/lib/perl5/5.6.0
/apps/base/lib/perl5/site_perl/5.6.0/sun4-solaris
/apps/base/lib/perl5/site_perl/5.6.0 /apps/base/lib/perl5/site_perl .)
at /home/younkin/install/XML-Xerces-2.3.0-3/blib/lib/XML/Xerces.pm line 7
Compilation failed in require at DOMCount.pl line 67.
This seems related to the "make test" errors. I've tried mucking with
LD_LIBRARY_PATH and LD_RUN_PATH but nothing seems to help. Another
thing to note that I hadn't told you, I've tried 2 previous versions of
XML::Xerces and had basically the same problems with all three
versions. The PERL_MAGIC_tied was a new one with the newest version,
but the inability to find config.status, the changing of the make var
CC, and the unlocatable so files has been consistent throughout.
I see that you posted a new version of XML::Xerces yesterday. I'll give
it a try and report back.
Lastly, I see that you asked me to "post results to the list" if I have
trouble. Well, if I could find "the list" I would be happy to do that
and stop bothering you directly. But I didn't see where I could do
that. I checked on-line and in the downloaded doc files and couldn't
find any information on a list. Please tell me where it is and I'll
make sure to use it in the future.
>
>Cheers,
>jas.
>
>.
>
>
>
--
[EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--- End Message ---