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

Thanks, it looks like I'll need some help. I have Activestate Perl and Activestate Tcl/Tk.

Activestate doesn't have Windows PPMs for Tcl::Tk or Tcl. So I tried my hand at making Tcl 0.84.

It "looks good", but says, "Note: (probably harmless)" the following libraries are not found (I've taken a random sample and conifirmed that they aren't on my system).

oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib
It ends with "Writing Makefile for Tcl". Running make returns this error:

make: *** No rule to make target `C:\Perl\lib^', needed by `Makefile'.  Stop.

I've poked around online for this issue, but Tcl::Tk doesn't have much coverage.

Replies are listed 'Best First'.
Re^5: Tk Drag and Drop Between Applications
by Courage (Parson) on Dec 16, 2004 at 20:47 UTC
    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

      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

      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...