Thanks for this guidance. Made a little progress, but still could use your help. The commands you suggested worked without error....
C:\Tcl\lib>move tcl86.lib original-tcl86.lib 1 file(s) moved. C:\Tcl\lib>gendef C:\Tcl\bin\tcl86.dll * [C:\Tcl\bin\tcl86.dll] Found PE+ image C:\Tcl\lib>dlltool --kill-at --input-def tcl86.def --output-lib tcl86. +lib C:\Tcl\lib>
I was able to dmake the Tcl package without error. However when I tried to test I got the following for each test (including just one to save your eyes).
C:\STRAWB~1\cpan\build\Tcl-1.02-DZAeQs>dmake test "C:\Strawberry\perl\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::H +arness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\l +ib', 'blib\arch')" t/ *.t t/call.t ........... Can't load 'C:\STRAWB~1\cpan\build\Tcl-1.02-DZAeQ +s\blib\arch/auto/Tcl/Tcl.xs.dll' for module Tcl: load_file:The specif +ied procedure could not be found at C:/Strawberry/perl/lib/DynaLoader +.pm line 193. at t/call.t line 6. Compilation failed in require at t/call.t line 6. BEGIN failed--compilation aborted at t/call.t line 6. t/call.t ........... Dubious, test returned 255 (wstat 65280, 0xff00) No subtests run
In addition I was presented with the windows error message "The procedure entry point inflateGetHeader could not be located in the dynamic link library zlib1.dll"
zlib1.dll is included in c:\Tcl\bin, but without a corresponding library in c:\Tcl\lib
I ran the following code to create the symbol list from zlib1.dll, and indeed the symmbol inflateGetHeader is included in zlib1.def. I also created libzlib1.a
C:\Tcl\lib>gendef C:\Tcl\bin\zlib1.dll * [C:\Tcl\bin\zlib1.dll] Found PE+ image C:\Tcl\lib>dlltool --kill-at --input-def zlib1.def --output-lib zlib1. +lib C:\Tcl\lib>
I then went through dmake clean, perl Malefile.PL, dmake and dmake test again. Same result.
I also tried adding libzlib1.a as an additional library in the makefile so that the output from perl Makefile.pl is
tclsh=C:/Tcl/bin/tclsh.exe tclConfig.sh=C:/Tcl/lib/tclConfig.sh tcl_library=C:/Tcl/lib/tcl8.6 tcl_version=8.6 LIBS = -LC:/Tcl/lib -ltcl86 -lzlib1 INC = -IC:/Tcl/include DEFINE = Checking if your kit is complete... Looks good Generating a dmake-style Makefile Writing Makefile for Tcl Writing MYMETA.yml and MYMETA.json
I repeated the dmake and test again, but with same results. Any recommendations on my next steps?
In reply to Re^6: Tcl for Strawberry Perl on Windows 64bit
by DaveARoberts
in thread Tcl for Strawberry Perl on Windows 64bit
by DaveARoberts
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |