Skip Menu |

This queue is for tickets about the Clone-Fast CPAN distribution.

Report information
The Basics
Id: 65485
Status: open
Priority: 0/
Queue: Clone-Fast

People
Owner: Nobody in particular
Requestors: softdev [...] leandrohermida.com
Cc: dom [...] cpan.org
gregoa [...] cpan.org
AdminCc:

Bug Information
Severity: Important
Broken in: 0.93
Fixed in: (no value)



Subject: make test failure in 5.12.2 and 5.12.3
On Perl 5.12.2/5.12.3 x86_64-linux-thread-multi there is a test failure (see below) that causes certain CPAN libraries that depend on Clone::Fast not to work (e.g. Algorithm::Evolutionary) Running [/usr/bin/make test]... PERL_DL_NONLAZY=1 /home/hermida/soft/perl/5.12.3/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00general.t .. ok t/01array.t .... ok t/02hash.t ..... ok t/03scalar.t ... Failed 1/10 subtests t/04tie.t ...... ok t/05dtype.t .... ok t/06refcnt.t ... ok t/07magic.t .... ok t/20hooks.t .... ok Test Summary Report ------------------- t/03scalar.t (Wstat: 0 Tests: 10 Failed: 1) Failed test: 5 Files=9, Tests=72, 0 wallclock secs ( 0.03 usr 0.02 sys + 0.18 cusr 0.04 csys = 0.27 CPU) Result: FAIL Failed 1/9 test programs. 1/72 subtests failed. make: *** [test_dynamic] Error 255
The attached patch from Niko Tyni fixed this issue. Cheers, gregor
Subject: 0001-Use-clone_sv-instead-of-clone_rv-for-cloning-referen.patch
From f35f6e19700b9f0680484fd44c656ad971059c08 Mon Sep 17 00:00:00 2001 From: Niko Tyni <ntyni@debian.org> Date: Wed, 4 May 2011 21:38:23 +0300 Subject: [PATCH] Use clone_sv() instead of clone_rv() for cloning references on newer perls As of Perl 5.11, SVt_RV is gone and replaced by SVt_IV. Using clone_sv() instead fixes test 5 of t/03scalar.t failing on 5.12. --- Fast.xs | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/Fast.xs b/Fast.xs index 870d1ab..9261717 100644 --- a/Fast.xs +++ b/Fast.xs @@ -129,7 +129,11 @@ static sv_clone_t sv_clone_table[] = { #endif (sv_clone_t)clone_sv, // SVt_IV (sv_clone_t)clone_sv, // SVt_NV +#if PERL_VERSION < 11 (sv_clone_t)clone_rv, // SVt_RV +#else + (sv_clone_t)clone_sv, // SVt_IV +#endif (sv_clone_t)clone_sv, // SVt_PV (sv_clone_t)clone_sv, // SVt_PVIV (sv_clone_t)clone_sv, // SVt_PVNV -- 1.7.4.4