Skip to content

Conversation

@wangvisual
Copy link

@wangvisual wangvisual commented Jan 15, 2026

for issue #13
this patch is done by Claude Opus 4.5 and inspired by bulk88

@rocky
Copy link
Contributor

rocky commented Jan 16, 2026

When I build, I get this error:

. Can't load '/tmp/Enbugger/blib/arch/auto/Enbugger/Enbugger.so' for module Enbugger: /tmp/Enbugger/blib/arch/auto/Enbugger/Enbugger.so: undefined symbol: GvREFCNT_inc at /usr/lib/x86_64-linux-gnu/perl-base/DynaLoader.pm line 201.

Here is a full log:

$ perl Makefile.PL
Generating a Unix-style Makefile
Writing Makefile for Enbugger
Writing MYMETA.yml and MYMETA.json
$ make test
Running Mkbootstrap for Enbugger ()
chmod 644 "Enbugger.bs"
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Enbugger.bs blib/arch/auto/Enbugger/Enbugger.bs 644
"/usr/bin/perl" "/usr/share/perl/5.38/ExtUtils/xsubpp"  -typemap '/usr/share/perl/5.38/ExtUtils/typemap'  Enbugger.xs > Enbugger.xsc
mv Enbugger.xsc Enbugger.c
x86_64-linux-gnu-gcc -c   -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g   -DVERSION=\"2.016\" -DXS_VERSION=\"2.016\" -fPIC "-I/usr/lib/x86_64-linux-gnu/perl/5.38/CORE"   Enbugger.c
Enbugger.xs: In function ‘Perl_init_debugger’:
Enbugger.xs:67:15: warning: implicit declaration of function ‘GvREFCNT_inc’; did you mean ‘SvREFCNT_inc’? [-Wimplicit-function-declaration]
   67 |     PL_DBgv = GvREFCNT_inc(gv_fetchpvs("DB::DB", GV_ADDMULTI, SVt_PVGV));
      |               ^~~~~~~~~~~~
      |               SvREFCNT_inc
Enbugger.xs:67:13: warning: assignment to ‘GV *’ {aka ‘struct gv *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
   67 |     PL_DBgv = GvREFCNT_inc(gv_fetchpvs("DB::DB", GV_ADDMULTI, SVt_PVGV));
      |             ^
Enbugger.xs:68:15: warning: assignment to ‘GV *’ {aka ‘struct gv *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
   68 |     PL_DBline = GvREFCNT_inc(gv_fetchpvs("DB::dbline", GV_ADDMULTI, SVt_PVAV));
      |               ^
Enbugger.xs:69:14: warning: assignment to ‘GV *’ {aka ‘struct gv *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
   69 |     PL_DBsub = GvREFCNT_inc(gv_HVadd(gv_fetchpvs("DB::sub", GV_ADDMULTI, SVt_PVHV)));
      |              ^
Enbugger.xs: In function ‘alter_cop’:
Enbugger.xs:150:37: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘U32’ {aka ‘unsigned int’} [-Wformat=]
  150 |       PerlIO_printf(Perl_debug_log, "Enbugger: SvOK(o)=%"UVuf" SvROK(o)=%"UVuf" SvIOK(SvRV(o))=%"UVuf"\n",
      |                                     ^~~~~~~~~~~~~~~~~~~~~
Enbugger.xs:150:37: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘U32’ {aka ‘unsigned int’} [-Wformat=]
  150 |       PerlIO_printf(Perl_debug_log, "Enbugger: SvOK(o)=%"UVuf" SvROK(o)=%"UVuf" SvIOK(SvRV(o))=%"UVuf"\n",
      |                                     ^~~~~~~~~~~~~~~~~~~~~
Enbugger.xs:150:37: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘U32’ {aka ‘unsigned int’} [-Wformat=]
  150 |       PerlIO_printf(Perl_debug_log, "Enbugger: SvOK(o)=%"UVuf" SvROK(o)=%"UVuf" SvIOK(SvRV(o))=%"UVuf"\n",
      |                                     ^~~~~~~~~~~~~~~~~~~~~
rm -f blib/arch/auto/Enbugger/Enbugger.so
x86_64-linux-gnu-gcc  -shared -L/usr/local/lib -fstack-protector-strong  Enbugger.o  -o blib/arch/auto/Enbugger/Enbugger.so  \
      \
  
chmod 755 blib/arch/auto/Enbugger/Enbugger.so
cp lib/Enbugger/ebug.pm blib/lib/Enbugger/ebug.pm
cp lib/Enbugger.pm blib/lib/Enbugger.pm
cp lib/Enbugger/trepan.pm blib/lib/Enbugger/trepan.pm
cp lib/Enbugger/ptkdb.pm blib/lib/Enbugger/ptkdb.pm
cp lib/Enbugger.pod blib/lib/Enbugger.pod
cp lib/Enbugger/OnError.pm blib/lib/Enbugger/OnError.pm
cp lib/Enbugger/perl5db.pm blib/lib/Enbugger/perl5db.pm
cp lib/Enbugger/NYTProf.pm blib/lib/Enbugger/NYTProf.pm
cp lib/Enbugger/sdb.pm blib/lib/Enbugger/sdb.pm
cp bin/screen-server blib/script/screen-server
"/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/screen-server
cp bin/screen-server-backend blib/script/screen-server-backend
"/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/screen-server-backend
cp bin/tmux-server blib/script/tmux-server
"/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/tmux-server
cp bin/tmux-server-backend blib/script/tmux-server-backend
"/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/tmux-server-backend
cp bin/xterm-server blib/script/xterm-server
"/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/xterm-server
cp bin/xterm-server-backend blib/script/xterm-server-backend
"/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/xterm-server-backend
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/10load.t ...... Can't load '/tmp/Enbugger/blib/arch/auto/Enbugger/Enbugger.so' for module Enbugger: /tmp/Enbugger/blib/arch/auto/Enbugger/Enbugger.so: undefined symbol: GvREFCNT_inc at /usr/lib/x86_64-linux-gnu/perl-base/DynaLoader.pm line 201.
\0 at t/10load.t line 32.

@rocky
Copy link
Contributor

rocky commented Jan 16, 2026

I should say that this was for Perl 5.38.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants