PPM Repo shows all repositories with zero packages - Problem installing PadWalker for Eclipse EPIC

Posted by hellesangel on 2011-11-09 04:58
Forums: PPM | OS: Windows 7

First post to this board, so hello everyone.

The problems all arise while trying to install PadWalker to get the Eclipse EIPC plugin to work for debugging. I'm using a 64 bit Windows 7 installation and cannot get this package to install successfully.

So far I have tried adding the bribes.org repository http://www.bribes.org/perl/ppm/ to PPM using both the PPM GUI and the command line, as you can see below the results don't look good:

C:\Perl64>ppm repo
??????????????????????????????????????????????
? id ? pkgs ? name ?
??????????????????????????????????????????????
? 1 ? 0 ? ActiveState Package Repository ?
? 2 ? 0 ? Bdp ?
? 3 ? 0 ? www.bribes.org ?
??????????????????????????????????????????????
(3 enabled repositories)

All repositories show up as zero packages and I cannot install anything.

Meanwhile, being a bit of a hacker, I dowloaded PadWalker-1.92-PPM510.tar.gz and PadWalker.ppd and modified PadWalker.ppd so that it reads:

Without this hack PPM would complain that nothing can be done for this architecture but with the hack it can be installed as:

C:\Perl64>perl -v
This is perl, v5.10.1 built for MSWin32-x64-multi-thread

C:\Perl64>ppm install --area perl PadWalker.ppd
Unpacking PadWalker-1.92...done
Generating HTML for PadWalker-1.92...done
Updating files in perl area...done
6 files installed

This then shows up in PPM GUI as being installed but Eclipse EPIC is not happy, I cannot see local variables and a further test:

C:\Perl64>perl -e "use PadWalker; my $foo;print var_name(0, \$foo);"
Can't load 'c:/Perl64/lib/auto/PadWalker/PadWalker.dll' for module PadWalker: lo
ad_file:%1 is not a valid Win32 application at c:/Perl64/lib/DynaLoader.pm line
201.
at -e line 1
Compilation failed in require at -e line 1.
BEGIN failed--compilation aborted at -e line 1.

Shows that my hack probably didn't work as well as PPM thought it did.

Can anyone explain why I cannot install modules using PPM? I am behind a corporate firewall that I cannot influence and have set the HTTP_proxy environment variable correctly.

Thanks in advance.

hellesangel | Wed, 2011-11-09 05:06

The hack in the PadWalker.ppd reads as below:

ARCHITECTURE NAME="MSWin32-x64-multi-thread-5.10"

ie. the architecture has been changed to be x64. I had to remove the formatting as the board software won't display it properly.

I should also add that all commands are given from a DOS box with administrator rights.

hellesangel | Thu, 2011-11-10 07:07

So, it's a bit of a dog's dinner but it works for single packages, here PadWalker as an example - I am using MS Visual Studio 2010 to compile the sources from scratch for an X64 machine:

1. Download the tar.gz from http://code.activestate.com/ppm/PadWalker/ and extract it somewhere quiet.
2. Start a DOS box and configure for MS VC compiler to cross compile for 64 bit targets by running:
"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86_amd64
3. Set this DOS box to your directory and perl Makefile.pl
4. Edit the resulting makefile and remove bufferoverflowU.lib
5. Enter the command nmake
6. Enter the command nmake install

Et voila, it seems to have installed correctly this time, but something in PPM is totally FUBAR.

helencr | Sat, 2012-01-28 06:25

Hi hellesanger, it seems I have a problem similar to yours, maybe you can help me, I am a newbie.
I have installed ActivePerl, and I would like to debug a Perl program using Eclipse and EPIC. I have installed Eclipse and EPIC, they look OK. (It's doing basic syntax checking on an example Perl program).
I then used PPM to install PadWalker (since that's what they say is needed to use the step debugger).
Now, in Eclipse, when I try to step through the program, I get the error: "Error: install PadWalker module to see local variables".
In PPM, I notice that it had installed PadWalker in area: "site", while all other Perl modules are installed in area: "perl".
For area: "site", @INC shows: ... .../Environments/Active Perl/site/lib
and for area: "perl", @INC shows: ... .../Environments/Active Perl/lib
What should I do?
My system: Windows 7 x64.

Many TIA

Helen