ohmygod has asked for the wisdom of the Perl Monks concerning the following question:

Dear Gurus,

I've got a GPL Perl App that needs to be compiled in Windows. First of all, I would like to add that
1. this is my first ever program compile
2. this is my first ever plunge into Perl
3. this is my first ever coding experience

So you see, there are alot of firsts, so please be kind and gentle ... even if I made a glaring mistake!

I have been working on this for like the past 96 hours already

There are 5 PL files and 1 LIB file and I managed to dig out all the "use" information as follows:

use Carp::Heavy; use Cwd; use Cwd qw(chdir getcwd); use Fcntl qw(:flock); use File::Basename; use File::Copy; use File::Find; use Getopt::Long; use Net::Ping; use POSIX qw(strftime mktime); use Socket; use strict; use Tk; use Tk::Button; use Tk::Canvas; use Tk::Checkbutton; use Tk::DirSelect; use Tk::DirTree; use Tk::Entry; use Tk::Event; use Tk::Label; use Tk::Listbox; use Tk::Menu; use Tk::Menubutton; use Tk::NoteBook; use Tk::Optionmenu; use Tk::Pixmap; use Tk::Radiobutton; use Tk::Scrollbar; use vars qw(%conf); use vars qw/$gScriptRunFullPath $LastError/; use vars qw ($key $working_dir $gui_text $finalfile $focusin_flag $use +r $hide $OEMencode $autoexit $backuptest); use vars qw(%lang); use vars qw ($sec $min $hour $mday $mon $year $wday $ydat $isdst); use vars qw ($time %dir_list $value $dashdir); use Win32; use Win32API::File qw( :ALL ); use Win32::File; use Win32::Internet; use Win32::OLE; use Win32::OLE qw( in ); use Win32::Process; use Win32::TaskScheduler; use Win32::TieRegistry;

Then I went to do this on a Windows 2000 machine

1. downlad active-state-perl from
http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.7.813-MSWin32-x86-148120.msi
and install ActivePerl-5.8.7.813-MSWin32-x86-148120.msi on a windows 2000 system

But after installing PAR and compiling, upon executing the EXEs, I got the errors

"The procedure entry point PL_memory_wrap could not be located in the +dynamic link library perl58.dll"


So, I had to downlod the following and install instead
http://ftp.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.6.811-MSWin32-x86-122208.msi
and install ActivePerl-5.8.6.811-MSWin32-x86-122208.msi on a windows 2000 system

2. on the command prompt of the system, I ran the following

ppm install Tk::DirSelect install Win32-Process-Perf install Win32-TieRegistry install Getopt-Long install App-Packer install App-Packer-Backend-Par install http://www.bribes.org/perl/ppm/PAR.ppd ~or~ install http://theoryx5.uwinnipeg.ca/ppms/PAR.ppd ~or~ install http://crazyinsomniac.perlmonk.org/perl/ppm/5.8/PAR.ppd install http://theoryx5.uwinnipeg.ca/ppms/Win32-Exe.ppd install http://search.cpan.org/src/UNICOLET/Win32-TaskScheduler2.0.3/W +in32-TaskScheduler-58/Win32-TaskScheduler.ppd install http://www.bribes.org/perl/ppm/Tk.ppd install http://www.bribes.org/perl/ppm/Win32-OLE.ppd install http://www.bribes.org/perl/ppm/Win32Util.ppd install http://www.bribes.org/perl/ppm/Win32-GUI.ppd install http://www.bribes.org/perl/ppm/Win32-DDE.ppd install http://www.bribes.org/perl/ppm/Win32-API.ppd install http://www.bribes.org/perl/ppm/Win32-Internet.ppd install http://www.bribes.org/perl/ppm/Win32-Process-Info.ppd install http://www.bribes.org/perl/ppm/Win32-Process-List.ppd install http://www.bribes.org/perl/ppm/Win32-Process-Memory.ppd exit

Here's the major question
Notice that the "use" statements in my PL and LIB files do not tally with the ones that I have installed?
I have some missing ones that I cannot ever seem to find the PPD files. Eg.
"use Tk::Button"

Do I actually need to find every single PPD and install? I tried to search and search but really come up zero.

Would appreciate any help please?

Edit: g0n - added code tags

Replies are listed 'Best First'.
Re: GPL Perl App to be compiled in Windows .. Help
by holli (Abbot) on Oct 13, 2005 at 09:18 UTC
    You are looking for a module that is part of a bundle, here Tk::Button is a part of the Tk-Bundle.

    You can easily tell that by searching the CPAN like so. When you find the module you will see the link to the modules bundle below the modules name.
    Tk::Button
    Create and manipulate Button widgets
    Tk-804.027 - 11 Apr 2004 - Nick Ing-Simmons


    holli, /regexed monk/
Re: GPL Perl App to be compiled in Windows .. Help
by marto (Cardinal) on Oct 13, 2005 at 07:07 UTC
    Hi ohmygod,

    I notice this is your first post (under this user id anyway), welcome!
    Please have a read at the PerlMonks FAQ and Writeup Formatting Tips nodes.

    Regards your module problem, I would suggest reading holli's fantastic Tutorial, A guide to installing modules for Win32 for your module query.
    Which version of PAR have you got?
    I have found this post regards a problem with the version of Perl (5.8.7) and the version of PAR ppm you get from the default repository (.79).
    Have a look at the post which advises getting PAR version .89 by tying this from the command prompt:
    ppm install http://www.bribes.org/perl/ppm/PAR.ppd

    Let us know how you get on with this.

    Hope this helps.

    Martin