Bug#806897: libembperl-perl: FTBFS with perl 5.22: 'PL_sv_objcount' undeclared
Axel Beckert
abe at debian.org
Thu Jan 14 01:23:27 UTC 2016
Hi,
Dominic Hargreaves wrote:
> This package FTBFS with perl 5.22, in experimental:
>
> epnames.h:329:21: error: 'PL_sv_objcount' undeclared (first use in this function)
> #define sv_objcount PL_sv_objcount
This happens because PL_sv_objcount has been removed from Perl 5.22
(deprecated since 5.20). See e.g.
http://www.gossamer-threads.com/lists/perl/porters/311420 or
https://rt.perl.org/Public/Bug/Display.html?id=121876
Removing all occurrences of PL_sv_objcount and sv_objcount as well as
the according "-OBJs: %d" format strings from Embperl's source
suffices to make it build against 5.22. Unfortunately the test suite
fails afterwards.
Anyways, here's the patch to make the upstream code build again:
Index: libembperl-perl/epmain.c
===================================================================
--- libembperl-perl.orig/epmain.c 2014-10-13 23:44:08.653839074 +0200
+++ libembperl-perl/epmain.c 2016-01-14 02:02:20.330219409 +0100
@@ -1506,8 +1506,8 @@
#ifdef DMALLOC
/* unsigned long mark, int not_freed_b, int freed_b, int details_b */
dmalloc_log_changed (nMemCheckpoint, 1, 0, 1) ;
- dmalloc_message ( "[%d]Request freed. Exit-SVs: %d -OBJs: %d\n", getpid(),
- sv_count, sv_objcount) ;
+ dmalloc_message ( "[%d]Request freed. Exit-SVs: %d\n", getpid(),
+ sv_count) ;
if (nMemCheckpoint2)
{
dmalloc_message ( "***TO PREVIOUS REQUEST***\n") ;
Index: libembperl-perl/epnames.h
===================================================================
--- libembperl-perl.orig/epnames.h 2014-10-13 23:44:08.653839074 +0200
+++ libembperl-perl/epnames.h 2016-01-14 02:01:27.702358491 +0100
@@ -325,9 +325,6 @@
#ifndef sv_count
#define sv_count PL_sv_count
#endif
-#ifndef sv_objcount
-#define sv_objcount PL_sv_objcount
-#endif
#ifndef op_mask
#define op_mask PL_op_mask
#endif
Index: libembperl-perl/Old.xs
===================================================================
--- libembperl-perl.orig/Old.xs 2014-10-13 23:44:08.641839222 +0200
+++ libembperl-perl/Old.xs 2016-01-14 02:03:06.254101118 +0100
@@ -252,7 +252,7 @@
tReq * r
char * sText
CODE:
- lprintf (r->pApp,"[%d]MEM: %s: SVs: %d OBJs: %d\n", r->pThread->nPid, sText, sv_count, sv_objcount) ;
+ lprintf (r->pApp,"[%d]MEM: %s: SVs: %d\n", r->pThread->nPid, sText, sv_count) ;
SV *
embperl_Escape(r, str, mode)
And here's the currently resultung test suite failure:
→ perl -Iblib/lib -Iblib/arch test.pl
loading... ok
Testing offline mode...
#0 ascii... ok
#1 pure.htm... ok
#2 nooutput.htm... ok
#3 nooutput.htm... ok
#4 plain.htm...
Error in Line 23
Is: >HASH%a=num=<BR><
Should: >HASH%a=num=0<BR><
Input: test/html/plain.htm
Output: test/tmp/out.htm
Compared to: test/cmp/plain.htm
Log: test/tmp/test.log
Testparameter:
repeat = 3
ERRORS detected! NOT all tests have been passed successfully
cat: test/tmp/httpd.pid: No such file or directory
Not marking as pending or as with patch for now, as the solution is
still incomplete.
Regards, Axel
--
,''`. | Axel Beckert <abe at debian.org>, http://people.debian.org/~abe/
: :' : | Debian Developer, ftp.ch.debian.org Admin
`. `' | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5
`- | 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE
More information about the pkg-perl-maintainers
mailing list