I get a similar segfault on Fedora Core 11 x86_64
[jnisenson@jpc Perl]$ gdb perl
GNU gdb (GDB) Fedora (6.8.50.20090302-37.fc11)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <
http://gnu.org/licenses/gpl.html
Show quoted text>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<
http://www.gnu.org/software/gdb/bugs/>...
Missing separate debuginfos, use: debuginfo-install
perl-5.10.0-73.fc11.x86_64
(gdb) use Tcl;
Undefined command: "use". Try "help".
(gdb) set args -e 'use Tcl;'
(gdb) run
Starting program: /usr/bin/perl -e 'use Tcl;'
[Thread debugging using libthread_db enabled]
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff24cde9a in NpInitialize (my_perl=0x7fffffffd110, X=0x606fa8) at
Tcl.xs:445
445 Tcl.xs: No such file or directory.
in Tcl.xs
/*
* If we didn't find TclKit_AppInit, then this is a regular Tcl
* installation, so invoke Tcl_Init.
* Otherwise, we need to set the kit path to indicate we want to
* use the dll as our base kit.
*/
if (tclKit_AppInit == NULL) {
tclKit_AppInit = Tcl_Init; # LINE 445 in Tcl.xs
} else {
(SIDENOTE: I RAN INTO ANOTHER BUG DURING CPAN INSTALL WHICH I BELIEVE HAS
ALREADY BEEN REPORTED as bug 36167)
(#1 Install from command line after CPAN failure)
[root@jpc Tcl-0.97-hZDODq]# make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e"
"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/call.t ....... 1/10 Assertion ((svtype)((_svi)->sv_flags & 0xff)) >=
SVt_RV failed: file "Tcl.xs", line 653 at t/call.t line 38.
t/call.t ....... Dubious, test returned 88 (wstat 22528, 0x5800)
Failed 2/10 subtests
t/constants.t .. ok
t/createcmd.t .. ok
t/eval.t ....... ok
t/info.t ....... ok
t/result.t ..... ok
t/subclass.t ... ok
t/trace.t ...... ok
t/unicode.t .... ok
t/var.t ........ ok
Test Summary Report
-------------------
t/call.t (Wstat: 22528 Tests: 8 Failed: 0)
Non-zero exit status: 88
Parse errors: Bad plan. You planned 10 tests but ran 8.
Files=10, Tests=51, 0 wallclock secs ( 0.06 usr 0.01 sys + 0.18 cusr
0.06 csys = 0.31 CPU)
Result: FAIL
Failed 1/10 test programs. 0/51 subtests failed.
make: *** [test_dynamic] Error 255
[root@jpc Tcl-0.97-hZDODq]# patch -i Tcl-rv-assertion.patch
patching file Tcl.xs
can't find file to patch at input line 16
Perhaps you should have used the -p or --strip option?
The text leading up to this was:
--------------------------
|diff -u -r Tcl-0.97.orig/t/result.t Tcl-0.97/t/result.t
|--- Tcl-0.97.orig/t/result.t 2008-09-07 09:21:59.000000000 +0900
|+++ Tcl-0.97/t/result.t 2009-08-13 12:55:53.000000000 +0900
--------------------------
File to patch: t/result.t
patching file t/result.t
[root@jpc Tcl-0.97-hZDODq]# ls
ChangeLog Changes Makefile.old Makefile.PL MANIFEST META.yml README
t tclcfg.tcl tcl-core Tcl.pm Tcl-rv-assertion.patch Tcl.xs typemap
[root@jpc Tcl-0.97-hZDODq]# perl Makefile.PL
LIBS = -Ltcl-core/linux-x86_64 -ltclstub8.4
INC = -Itcl-core/include
DEFINE = -DUSE_TCL_STUBS
Checking if your kit is complete...
Looks good
Warning: -Ltcl-core/linux-x86_64 changed to
-L/root/.cpan/build/Tcl-0.97-hZDODq/tcl-core/linux-x86_64
Writing Makefile for Tcl
[root@jpc Tcl-0.97-hZDODq]# make
cp Tcl.pm blib/lib/Tcl.pm
/usr/bin/perl /usr/lib/perl5/5.10.0/ExtUtils/xsubpp -typemap
/usr/lib/perl5/5.10.0/ExtUtils/typemap -typemap typemap Tcl.xs > Tcl.xsc &&
mv Tcl.xsc Tcl.c
Please specify prototyping behavior for Tcl.xs (see perlxs manual)
gcc -c -Itcl-core/include -D_REENTRANT -D_GNU_SOURCE -DPERL_USE_SAFE_PUTENV
-DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe
-Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m64 -mtune=generic -DVERSION=\"0.97\"
-DXS_VERSION=\"0.97\" -fPIC
"-I/usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi/CORE" -DUSE_TCL_STUBS
Tcl.c
Tcl.xs: In function ‘Tcl_EvalInPerl’:
Tcl.xs:777: warning: value computed is not used
Tcl.xs: In function ‘Tcl_PerlCallWrapper’:
Tcl.xs:845: warning: value computed is not used
Tcl.c: In function ‘XS_Tcl_icall’:
Tcl.c:1557: warning: unused variable ‘sv’
Running Mkbootstrap for Tcl ()
chmod 644 Tcl.bs
rm -f blib/arch/auto/Tcl/Tcl.so
gcc -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic Tcl.o -o
blib/arch/auto/Tcl/Tcl.so \
-L/root/.cpan/build/Tcl-0.97-hZDODq/tcl-core/linux-x86_64
-ltclstub8.4 \
chmod 755 blib/arch/auto/Tcl/Tcl.so
cp Tcl.bs blib/arch/auto/Tcl/Tcl.bs
chmod 644 blib/arch/auto/Tcl/Tcl.bs
Manifying blib/man3/Tcl.3pm
[root@jpc Tcl-0.97-hZDODq]# make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e"
"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/call.t ....... ok
t/constants.t .. ok
t/createcmd.t .. ok
t/eval.t ....... ok
t/info.t ....... ok
t/result.t ..... ok
t/subclass.t ... ok
t/trace.t ...... ok
t/unicode.t .... ok
t/var.t ........ ok
All tests successful.
Files=10, Tests=55, 0 wallclock secs ( 0.05 usr 0.02 sys + 0.18 cusr
0.05 csys = 0.30 CPU)
Result: PASS