Training, Open Source computer languages
PerlPHPPythonMySQLApache / TomcatTclRubyJavaC and C++LinuxCSS 
Search for:
Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
Upgrading ActiveState Perl

Posted by meanroy (meanroy), 28 July 2006
Hi Graham and all,

This may be a kind of trivial question, even though it's kind of long winded.
Recently I ran across a module called HTTP::Recorder which seemed very interesting and usefull.
I attempted to install the requisite modules in my usual clumsy fashion (uncompress and extract manually) but though I usually get it to work, this time it didn't.
 
I then downloaded and installed the latest ActiveState Perl, which worked just fine. (Bought Komodo Personal Edition too)
 
I then checked to see that my scripts still worked. They did.
Since I have a second lib directory, into which I had installed some modules which didn't come with my previous ActiveState release, I next checked to see if it was still necessary.
I renamed the folder temporarily and found (by running one of my scripts) that indeed, there were some modules missing from the new version that I needed.
 
I then used ExamDiff Pro to compare the two lib folders.
This is the resulttoo big, see next post)

Posted by meanroy (meanroy), 28 July 2006
Here is a partial view of the output, sniped to fit.
Code:
Only in (second) C:\Perl\site\lib -> Tk.pm
Only in (second) C:\Perl\site\lib -> Tk.pod
Only in (second) C:\Perl\site\lib -> UDDI
Different directories -> C:\Perl\lib\Unicode *and* C:\Perl\site\lib\Unicode
Only in (first) C:\Perl\lib -> unicore
Only in (first) C:\Perl\lib -> UNIVERSAL.pm
Only in (second) C:\Perl\site\lib -> URI
Only in (second) C:\Perl\site\lib -> URI.pm

.
.
.
Newer file -> C:\Perl\lib\Win32.pm *than* C:\Perl\site\lib\Win32.pm
Only in (first) C:\Perl\lib -> Win32.pod
Only in (second) C:\Perl\site\lib -> Win32API
Only in (second) C:\Perl\site\lib -> WWW
Only in (second) C:\Perl\site\lib -> XML
Only in (second) C:\Perl\site\lib -> XMLRPC
Only in (first) C:\Perl\lib -> XS
Only in (first) C:\Perl\lib -> XSLoader.pm


I intend deleting the files from C:\Perl\Site\lib which have a newer version in the folder C:\Perl\lib, and moving any files present in  C:\Perl\site\lib but missing in C:\Perl\lib.
Do you know of any reason using this method to resolve the differences will get me in big trouble?

Roy.

OK, You guys are sleeping too late!
I've backed up both dirs(folders) and started hacking.
I'll let you know how it comes out.
If you have suggestions, PLEASE, let me know.
Roy.

Posted by admin (Graham Ellis), 29 July 2006
Quote:
OK, You guys are sleeping too late!

I've backed up both dirs(folders) and started hacking.


Roy, we're UK based .... you posted after 9 O'Clock on a Friday night and were getting jokingly grumpy in an edit at 1 a.m. on Saturday morning. Geeze - gimme time!

The commitment that I've made on this board is that I'll read everything within 24 hours (not 5 hours, note!) and come back with at least directional pointers if I can.  If you need hotline support, you can buy it elsewhere but we're not in a position to provide it.

Having said that ... yes, do let us know how you get on, and please do post follow up questions if you can afford to wait for us to answer in our quoted timeframe

Posted by meanroy (meanroy), 29 July 2006
Hi Graham,
Ha Ha - I knew that, I have quite a few internet buddies in the UK.

on 07/29/06 at 10:49:13, Graham Ellis wrote:
.... you posted after 9 O'Clock on a Friday night

Thanks for getting back to me, I confess I had forgotten you're a day ahead of me! It's really good of you to be so responsive.

I looked all over for a forum dedicated to ActiveState but there doesn't seem to be one.
( I've been unable to locate a university level course on Perl so I'm continuing to study and experiment on my own.)

After some considerable messing around, I started working through the Komodo/Perl tutorial. I found that the installation program for ActiveState installs in C:/Perl. Later updates using ppm (for example:>ppm install Text::CSV_XS) installs the new module in C:/Perl/site.
I haven't yet determined if the ActiveState installation program is smart enough to locate and update modules in C:/Perl/site.
From the output of ExamDiff Pro it appears that it may well be. The structure of some of the directories appears to have changed between releases. That may account for why I had so much trouble installing HTTP:roxy and HTTP::Recorder.
I'll be sure to continue to update as I get further along.
Roy.


Note:

I have bribed 2 of my sons friends with the offer of a BBQ this evening. They are both young CS graduates who have jobs at a game company and I'm using them as tutors. They say they are really ready for a BBQ as they are in the middle of a hot project, working 10-12 hour days, 7 days a week.



Posted by meanroy (meanroy), 30 July 2006
Hi Graham,
Ok, it appears the upgrade more-or-less worked.
I found that, indeed, both directories ActiveState uses by default were modified by the upgrade process.
I have run my scripts and they still function. The modules I added manually also still work.
I found this resource helpful. Perl Beginners First Response.
  For example, I learned that you can't use ppm (Programmer's Package Manager) with CPAN directly.
  ActiveState runs a script which automatically attempts to build ppm versions of everything on CPAN. It's an automatic process though and doesn't always succeed.

In the event the module doesn't exist in the ActiveState ppm repository you may be able to find it *somewhere else*.
There is a module available at CPAN called PPM::Repositories which contains a list of "all known repositories". By un-commenting various sections of code in the example any or all of the repository list can be added to your ppm repositories.
In the event the module you are looking for isn't found anywhere in the ppm repositories there are several
remaining methods which can be used.
(If you are an experienced Windows C/C++ programmer you can compile from source. Good luck.)
  • Use CPAN - The program - This is included in the ActiveState installation. I have been able to make this work a couple of times. See CPAN - ActiveState Docs, CPAN at cpan.org
  • Manually install the module
    General directions to do this are found here. (You'll probably learn more than you really wanted to know and have to install some programs/scripts to do the job.)
    This may prove quite difficult if you suffer missing dependencies.
  • Build a ppm package
    If the CPAN package contains only Perl code (ie. no C, C++, etc) according to these directions, it seems fairly easy to make your own ppm package.  (I haven't tried this yet YMMV )
    Here is anther excellent tutorial on creating ppm's on perlmonks.org.


OK, thats it for now, I'm off to try to install HTTP:: Proxy and HTTP::Recorder.

Roy.

I'm pretty darn sure You (Graham) already know all this. Again, anything you can suggest will be welcomed.

Posted by meanroy (meanroy), 31 July 2006
Well, kinda

I had to try each and every one of the methods in the post above.

I used a combination of the Komodo Debugger and command line error messages to identify all the missing modules.
Here's an edited copy of the Install Log. Copied and pasted from my cmd window.

I still have a lot of work to do to get things actually working as described in Web Testing with HTTP::Recorder

Mainly fishing around to find how to configure my browser to use the proxy I think. By looking at the variables in the Komodo Debugger I think I can eventually get there.

Roy.

Got it!



Posted by admin (Graham Ellis), 1 August 2006
Doesn't it always seem to take an age to sort out things like this, Roy!  Thanks for the follow ups ... really good to see the progressing story and conclusions; your posts are likely, in turn, to help other people who read this thread later on the archive.



This page is a thread posted to the opentalk forum at www.opentalk.org.uk and archived here for reference. To jump to the archive index please follow this link.

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2014: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 899360 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho