< update at the end >
Cc: [email protected]
From: [email protected] (Jason E. Stewart)
Hi,
Thanks for reporting the problem. There is a seperate development list
for XML-Xerces issues (see the Cc: line).
Unfortunately the dynamic loading problem you are having could be
caused by any number or errors and without more information we are
unlikely to be able to help.
Is it a RedHat system?
What Xerces-C are you using: binary (if so which) or self-compiled?
Full context and any attached attachments can be found at:
<URL: https://rt.cpan.org/Ticket/Display.html?id=6094 >
This is a bug with XML-Xerces-2.3.0-4. After uneventful "perl Makefile.PL" and "make", all tests run during "make test" fail, all with the same error. For example:
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.
$ perl -v
This is perl, v5.8.3 built for i686-linux
...
$ uname -a
Linux luna 2.4.18c #1 Sun Apr 4 17:45:51 EDT 2004 i686 unknown
The only unusual aspect of my system is that perl is installed with prefix '/opt' instead of prefix '/usr' or '/usr/local'.
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.
I have three files in /usr/lib that mention __gxx_personality_v0:
/usr/lib/libstdc++.so.3.0.4
/usr/lib/gcc-lib/i386-linux/3.0.4/libstdc++.a
/usr/lib/libstdc++.so.5.0.5
...so I tried re-compiling Xerces (for the 973,526th time), with the
additional linker flag -lstdc++. After installing this new Xerces,
and re-making XML::Xerces, once again, at the "make test" stage I get:
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: _ZN19PerlCallbackHandler16set_callback_objEP2sv at /opt/lib/perl5/5.8.3/i686-linux/DynaLoader.pm line 229.
The good news (maybe) is that the "undefined symbol:
__gxx_personality_v0" error message is gone. The bad news is that it
has been replaced by an entirely novel one "undefined symbol:
_ZN19PerlCallbackHandler16set_callback_objEP2sv".
Any ideas would be much appreciated.
kj
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.