in reply to Re^4: Tk Drag and Drop Between Applications
in thread Tk Drag and Drop Between Applications

Do you have compiler? Which one?

Usually extensions with XS are built with MSVC and nmake (not make)

However I can share my own Tcl.dll that is used fom ActiveState's Perl 5.8.4 and ActiveState's Tcl at http://www.vkonovalov.ru/unicode/Tcl.dll
this file should be copied into (you-perl-path)/site/lib/auto/Tcl
Tcl.pm should be in (you-perl-path)/site/lib
Tcl::Tk is pure-perl so it will be easier to install, but just copying Tk.pm into (you-perl-path)/site/lib/Tcl/

Still, I can help you building your own binaries.

About low coverage of Tcl::Tk - keep in mind this is only a light bridge module between Perl and Tcl/Tk (both has huge couverages...)
However Tcl::Tk has its own support list, so your problems written to it will be answered quickly.
Write to http://sourceforge.net/mailarchive/forum.php?forum_id=40170 or subscribe there...

Best regards,
Courage, the Cowardly Dog

  • Comment on Re^5: Tk Drag and Drop Between Applications

Replies are listed 'Best First'.
Re^6: Tk Drag and Drop Between Applications
by Ardemus (Beadle) on Dec 16, 2004 at 21:42 UTC
    Thanks for all your help Courage. I followed your instructions but I get these errors when I run the widget demo from Tcl::Tk...

    Window

    perl.exe - Unable To Locate Component The application has failed to start beceause tcl85.dll was not found. + Re-installing the applicaion may fix this problem.
    Console

    C:\DOCUME~1\nburger\Desktop\PERL&T~1\Tcl-Tk-0.84\tk-demos>perl widget Can't load 'c:/Perl/site/lib/auto/Tcl/Tcl.dll' for module Tcl: load_fi +le:The specified module could not be found at c:/Perl/lib/Dyna Loader +.pm line 230. at c:/Perl/site/lib/Tcl/Tk.pm line 4 Compilation failed in require at c:/Perl/site/lib/Tcl/Tk.pm line 4. BEGIN failed--compilation aborted at c:/Perl/site/lib/Tcl/Tk.pm line 4 +. Compilation failed in require at widget line 5. BEGIN failed--compilation aborted at widget line 5.
    I've double checked the location of the dll and it matches what the console says is missing. However, the pop-up is asking for a different dll, which I don't have. I'll check out the group that you recommended. Thanks again.
      looks like I built Tcl.xs w/out Tcl stubs and it found tcl85.lib at that time. sorry
      Please try a bit different tcl.dll - from http://www.vkonovalov.ru/unicode/84/Tcl.dll

      BTW for my own application I tend to built entire tcl/tk into one large single dll, and will share that on the web afterwards...

        Thanks for the second dll. Unfortunately, it looks like it was from 0.81 (a prior build):
        C:\DOCUME~1\nburger\Desktop\PERL&T~1\Tcl-Tk-0.84\tk-demos>perl widget Tcl object version 0.81 does not match bootstrap parameter 0.84 at c:/ +Perl/lib/DynaLoader.pm line 253. Compilation failed in require at c:/Perl/site/lib/Tcl/Tk.pm line 4. BEGIN failed--compilation aborted at c:/Perl/site/lib/Tcl/Tk.pm line 4 +. Compilation failed in require at widget line 5. BEGIN failed--compilation aborted at widget line 5.
Re^6: Tk Drag and Drop Between Applications
by Ardemus (Beadle) on Dec 16, 2004 at 21:51 UTC
    Regarding building my own binaries. I haven't added anything to my install. I haven't ever built a binary.

    First I tried adding through Activestate's PPM. They don't have these two. I've tried CPAN's auto install: "perl -MCPAN -e shell", but that errors out because it can't find 'test'. And trying the basic makefile.pl file and make give me the errors listed above.

    Note perl -V:make points to nmake, but nmake and dmake aren't in the path on my system, nor are they in my perl directory.

    I haven't really RTFM'ed on building binaries. So, I'll start down that road.

      it is quite trivial to say, but in order to build C you need C compiler.

      ActiveState's binaries are built with MSVC. Most supported way for Win32 nowadays.

      Best regards,
      Courage, the Cowardly Dog

        Courage, Thanks, I'll see if I can find MSVC (is the MS Visual C?). I downloaded and installed nmake according to this site:

        http://johnbokma.com/perl/make-for-windows.html

        But I get fatal errors with that too:

        C:\DOCUME~1\nburger\Desktop\PERL&T~1\Tcl-0.84>nmake Microsoft (R) Program Maintenance Utility Version 1.50 Copyright (c) Microsoft Corp 1988-94. All rights reserved. cl -c -IC:/Tcl/include -nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 +-DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEE D -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVC +RT_READFIX -MD -Zi -DNDEBUG -O1 -DVERSION=\"0.84\" -DXS_VE RSION=\"0.84\" "-IC:\Perl\lib\CORE" Tcl.c 'cl' is not recognized as an internal or external command, operable program or batch file. NMAKE : fatal error U1077: 'C:\WINDOWS\system32\cmd.exe' : return code + '0x1' Stop.

        P.S. Although it's trivial to know that you need a compiler to compile something, I would say that it's not trivial to know what compilers will work and if I already had one installed ;) Make is trying, and perl -V:Make seems to indicate that nmake is being used (even though I couldn't find it). In any case, I really appreciate your help, because figuring this stuff out is quite a project for me.