Skip Menu |

This queue is for tickets about the XML-LibXML CPAN distribution.

Report information
The Basics
Id: 70476
Status: resolved
Priority: 0/
Queue: XML-LibXML

People
Owner: Nobody in particular
Requestors: paul [...] city-fan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 1.85
Fixed in: (no value)



Subject: Missing symbol SvPVx_nolen on perl < 5.8.8
The module fails on perl < 5.8.8 due to the missing symbol SvPVx_nolen: $ make test PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/01basic...........................Can't load '/builddir/build/BUILD/XML-LibXML-1.85/blib/arch/auto/XML/LibXML/LibXML.so' for module XML::LibXML: /builddir/build/BUILD/XML-LibXML-1.85/blib/arch/auto/XML/LibXML/LibXML.so: undefined symbol: SvPVx_nolen at /usr/lib64/perl5/5.8.6/x86_64-linux-thread-multi/DynaLoader.pm line 230. at /builddir/build/BUILD/XML-LibXML-1.85/blib/lib/XML/LibXML.pm line 154 BEGIN failed--compilation aborted at /builddir/build/BUILD/XML-LibXML-1.85/blib/lib/XML/LibXML.pm line 154. Compilation failed in require at t/01basic.t line 6. BEGIN failed--compilation aborted at t/01basic.t line 6. # Looks like your test died before it could output anything. dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-3 Failed 3/3 tests, 0.00% okay Attached patch fixes it for me but may not be the "right" way to do it; I'm not an XS expert!
Subject: XML-LibXML-1.85-oldperl.patch
--- XML-LibXML-1.85/LibXML.xs +++ XML-LibXML-1.85/LibXML.xs @@ -24,6 +24,10 @@ #include "ppport.h" #include "Av_CharPtrPtr.h" /* XS_*_charPtrPtr() */ +#ifndef SvPVx_nolen +#define SvPVx_nolen(sv) ({SV *_sv = (sv); SvPV_nolen(_sv); }) +#endif + #include <fcntl.h> #ifndef WIN32
Hi Paul, thanks for the report. I fixed it in XML-LibXML-1.86 which I just uploaded to CPAN, by simply changing SvPVx_nolen() to SvPV_nolen(). SvPVx_nolen() does not appear to be mentioned in perldoc perlapi. Regards, -- Shlomi Fish