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