[Pkg-electronics-devel] Bug#1112517: fungw: FTBFS with Perl 5.42: ‘PerlInterpreter’ {aka ‘struct interpreter’} has no member named ‘IXpv’

Niko Tyni ntyni at debian.org
Sat Aug 30 12:05:33 BST 2025


Source: fungw
Version: 1.2.1-3.1
Severity: important
Tags: ftbfs forky sid upstream
User: debian-perl at lists.debian.org
Usertags: perl-5.42-transition

This package fails to build with Perl 5.42 (currently in experimental.)

  cd perl && make all
  make[3]: Entering directory '/build/fungw-BK8n9O/fungw-1.2.1/libfungwbind/perl'
  cc -c -Wall -g -I../../ -I../../src_3rd -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/fungw-BK8n9O/fungw-1.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib/x86_64-linux-gnu/perl/5.42/CORE -o fungw_perl.o fungw_perl.c
  fungw_perl.c: In function ‘fgws_perl_call_fgw’:
  fungw_perl.c:96:48: error: ‘PerlInterpreter’ {aka ‘struct interpreter’} has no member named ‘IXpv’
     96 |         perl_ctx_t *ctx = (perl_ctx_t *)my_perl->perl_user_data;
        |                                                ^~
  fungw_perl.c: In function ‘fgws_perl_func_reg’:
  fungw_perl.c:240:48: error: ‘PerlInterpreter’ {aka ‘struct interpreter’} has no member named ‘IXpv’
    240 |         perl_ctx_t *ctx = (perl_ctx_t *)my_perl->perl_user_data;
        |                                                ^~
  fungw_perl.c: In function ‘fgws_perl_init’:
  fungw_perl.c:286:20: error: ‘PerlInterpreter’ {aka ‘struct interpreter’} has no member named ‘IXpv’
    286 |         ctx->interp->perl_user_data = (void *)ctx;
        |                    ^~
  make[3]: *** [Makefile:36: fungw_perl.o] Error 1

This seems to be fallout from

  https://github.com/Perl/perl5/commit/079a9d4ad36ef1a5b3d792b63137d406168df0e9

which indicates that the Xpv member was long obsolete and has now been removed.

I see that fungw upstream SVN has recently added a configuration probe
for the Xpv member and is now disabling the Perl parts altogether if
that probe fails.

While that would be a rather sad outcome, it's certainly one solution. I'm
attaching those upstream changes as adapted to the current fungw Debian
source package. They make the build work again for me, but further
packaging changes (presumably removing the libfungw-perl1 package)
would also be needed for this approach.

The fungw code doesn't really seem to care much about which interpreter
struct member it uses, it just needs a slot for user data. I wonder if
modglobal hash would do:

  PL_modglobal is a general purpose, interpreter global HV for use by
  extensions that need to keep information on a per-interpreter basis.
  In a pinch, it can also be used as a symbol table for extensions to
  share data among each other.  It is a good idea to use keys prefixed
  by the package name of the extension that owns the data.

I'm not an expert in this area though, and I don't plan to drive such a
change myself. I assume the Perl upstream developers would be happy to
give further advice, perhaps on the perl5-porters list.

If you want to test changes against Perl 5.42 in experimental and run
into uninstallability problems, there is a test repository of rebuilt
Debian sid packages for amd64 available at <https://perl.debian.net/>.

Thanks for your work on Debian,
-- 
Niko Tyni   ntyni at debian.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Add-optional-detector-for-perl-perl_with_IXpv-accept.patch
Type: text/x-diff
Size: 4418 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-electronics-devel/attachments/20250830/29d9c871/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Fix-scconfig-accepts-perl-only-if-IXpv-is-available-.patch
Type: text/x-diff
Size: 1029 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-electronics-devel/attachments/20250830/29d9c871/attachment-0001.patch>


More information about the Pkg-electronics-devel mailing list