[prev in list] [next in list] [prev in thread] [next in thread]
List: perl-xml
Subject: Re: XML::Xerces: DynaLoader.pm chokes on "undefined symbol"
From: Jonathan Stowe <jns () gellyfish ! com>
Date: 2004-04-26 11:08:56
Message-ID: 1082977736.2792.27.camel () localhost
[Download RAW message or body]
On Fri, 2004-04-23 at 01:03, kynn@panix.com wrote:
> From: Jonathan Stowe <jns@gellyfish.com>
> Date: Thu, 22 Apr 2004 08:45:04 +0100
>
> On Wed, 2004-04-21 at 18:21, kynn@panix.com wrote:
> >
> > I'm trying to install XML::Xerces via the usual
> >
> > perl Makefile.PL
> > make
> > make test
> > make install
> >
> > I'm getting wholesale failure at the "make test" stage, with error
> > messages such as this:
> >
> > Can't load '/home/jones/.cpan/build/XML-Xerces-2.3.0-4/blib/arch/auto/XML/Xerces/Xerces.so' \
> > for module XML::Xerces: \
> > /home/jones/.cpan/build/XML-Xerces-2.3.0-4/blib/arch/auto/XML/Xerces/Xerces.so: \
> > undefined symbol: _Q211xercesc_2_316XMLPlatformUtils.fgMemoryManager at \
> > /opt/lib/perl5/5.8.3/i686-linux/DynaLoader.pm line 229. at \
> > /home/jones/.cpan/build/XML-Xerces-2.3.0-4/blib/lib/XML/Xerces.pm line 7 \
> > Compilation failed in require at t/AttributeList.t line 11.
> > It is not *entirely* clear to me why I'm getting this undefined
> > "symbol error" now, but not during the earlier "make" stage (which
> > proceeded without a hitch, as did "perl Makefile.PL").
> >
> > FWIW, the problematic symbol
> > _Q211xercesc_2_316XMLPlatformUtils.fgMemoryManager is mentioned
> > both in ./blib/arch/auto/XML/Xerces/Xerces.so and in
> > ./Xerces.o.
>
> This looks like you are getting caught by C++ name mangling for some
> reason...
>
> OK, here's an update. I finally got Xerces 2.3.0 to compile (g++-2.95
> was throwing an internal compiler error, but g++-3.0 managed to do the
> job). After installing this newly compiled version of Xerces, I
> attempted to install XML::Xerces. As before "perl Makefile.PL" and
> "make" went without a hitch (the compiler used by make was the same as
> I used to compile libxerces, gcc-3.0/g++-3.0).
>
> But once I tried "make test" the errors returned:
>
> Can't load '/home/jones/.cpan/build/XML-Xerces-2.3.0-4/blib/arch/auto/XML/Xerces/Xerces.so' \
> for module XML::Xerces: \
> /home/jones/.cpan/build/XML-Xerces-2.3.0-4/blib/arch/auto/XML/Xerces/Xerces.so: \
> undefined symbol: __gxx_personality_v0 at \
> /opt/lib/perl5/5.8.3/i686-linux/DynaLoader.pm line 229.
> I get the same undefined-symbol-type error as before, but the details
> are different. Before, the "undefined symbol" was
> _Q211xercesc_2_316XMLPlatformUtils.fgMemoryManager; now it's
> __gxx_personality_v0.
>
What compiler was your perl compiled with - the output of 'perl -V' will
tell you. Also if you have two versions of gcc on your machine you have
to be sure that you are getting the correct libs and includes for both -
when you downloaded the new gcc where did you install it?
/J\
_______________________________________________
Perl-XML mailing list
Perl-XML@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic