UPDATE: I finally figured out what's gumming up ppm, deep down in the thread at
Re^4: PPM Hell: "PPM::PPD::init: not a PPD and not a file"
UPDATE 2: Also, Randy answered my email; he wrote
Thanks very much, Thomas. You're right that it's not
a very helpful error message. However, I *think* that
the problem, as you pointed towards, is in one of
the post-install scripts; the one for XML-SAX missed
some proxy settings that were required to work within
a proxy environment. I, hopefully, fixed this - please
let me know if you encounter similar problems in the
future.
Also, please let me know how you get on with PAR-WebStart;
I'm curious to see how it works for others. Thanks.
And sorry it was such a pain to install, but as you say, your
experiences will help others :)
This has happened to me enough times that I am finally trying to figure out why.
Usually, holli's A guide to installing modules for Win32 along with my Script to update your PPM Repositories are enough to install away to my heart's content with ppm magic. But every so often something goes wrong... and more often than not, it's "PPM::PPD::init: not a PPD and not a file." Usually when this happens I just shrug and reach for nmake test/nmake install. But today, I just felt like getting to the root of the problem.
Anyway, I was trying to install Par-WebStart via ppm. It started out promisingly enough, installed this, installed that, then suddenly it coughed, announced "not a ppd and not a file", and spat out some useless html. I reran the command, and this time it skipped the promising stuff and just spit out error and the html, as below.
C:\Dokumente und Einstellungen\Benutzername\Desktop\catalyst\hopstst>p
+pm install
http://theoryx5.uwinnipeg.ca/ppms/PAR-WebStart.ppd
PPM::PPD::init: not a PPD and not a file:
<HTML>
<HEAD>
<TITLE>IP-CONF Servermanager</TITLE>
.......etc (full error reproduced below)
Trying to figure out which of these dependencies was causing the problem, I did
use strict;
use warnings;
use Test::More qw(no_plan);
use_ok('Module::Signature');
use_ok('File::Which');
use_ok('PAR');
use_ok('Archive::Zip');
use_ok('XML::SAX::ExpatXS');
which revealed that it was the last dependency, ExpatXS, that was the problem. Indeed, the
activestate ppm build list indicates that this particular package is all fails. So ok, I can probably get this to work via nmake. But I feel like there's something wrong with the big picture here. ppm was supposed to make things easy, and this isn't easy.
What can I do to make things easier? Yesterday I asked if I should switch to perl -MCPAN instead of ppm. Still haven't tried that out yet. Will that make this kind of thing easier?
Finally, shouldn't there be some kind of mechanism to prevent the publishing of ppds with dependencies that don't play nice with ppm?
Would it be appropriate to notify randy kobes that this ppd causes problems? Is there sometehing I can do to make the error message where pppm fails less cryptic?
Thanks for bearing with me here, monks.
Update: Full html error here, I don't think it's helpful but just in case:
........
stuff installing ok...
........
Install 'Archive-Zip' version 1.16 in ActivePerl 5.8.2.808.
====================
Successfully installed Archive-Zip version 1.16 in ActivePerl 5.8.2.80
+8.
PPM::PPD::init: not a PPD and not a file:
<HTML>
<HEAD>
<TITLE>IP-CONF Servermanager</TITLE>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<LINK href="./style.css" rel=stylesheet type=text/css>
</HEAD>
<BODY background="./anders.gif" bgColor=#ffffff bottomMargin=0 leftMar
+gin=0 topM
argin=0 MARGINHEIGHT="0" MARGINWIDTH="0">
<TABLE border=0 cellPadding=0 cellSpacing=0 height=80 width=700>
<TBODY><TR><TD><IMG height=53 src="./leer.gif" ><IMG height=140 src=".
+/sperr.gif
" ></TD></tr></TBODY></table>
<TABLE border=0 cellPadding=0 cellSpacing=0 height=20 width=700>
<TBODY>
<tr><TD rowspan=8> </td></tr>
</TBODY>
</TABLE>
<TABLE border=0 cellPadding=0 cellSpacing=0 width=800>
<TBODY>
<TR>
<TD valign=top width=1> </TD>
<td valign=top width=120>
<p>
</p>
</td>
<TD width=430 valign="top">
<P align="left">
<FONT face="Arial, Helvetica, sans-serif" size=+1 color="#333333" CLAS
+S="empu" >
!! Fehler 404 !!<BR><BR> </FONT>
</P>
<P align="left">
<FONT face="Arial, Helvetica, sans-serif" size=-1 color="#333333" CLAS
+S="stamm"
>Die Aufgerufene URL ist nicht vorhanden !<BR><BR>Pr³fen Sie Ihre Eing
+abe oder I
hren Link.<BR><BR> </FONT>
</P>
<P align="left"><FONT face="Arial, Helvetica, sans-serif" size=-1 col
+or="#33333
3" CLASS="empn" >© 2005 IP-CONF Servermanager</FONT></P>
</P>
</TD>
</TR>
</TBODY>
</TABLE>
<P> </P>
</BODY>
</HTML>
</code
</readmore>
When I put that install <a href="http://theoryx5.uwinnipeg.ca/ppms/PAR
+-WebStart.ppd">url </a>into my browser trying to figure out what the
+heck was going on, I got
<code>
<SOFTPKG NAME="PAR-WebStart" VERSION="0,18,0,0">
<TITLE>PAR-WebStart</TITLE>
<ABSTRACT>Perl implementation of Java's WebStart</ABSTRACT>
<AUTHOR>Randy Kobes <r.kobes@uwinnipeg.ca></AUTHOR>
<IMPLEMENTATION>
<DEPENDENCY NAME="Module-Signature" VERSION="0,0,0,0" />
<DEPENDENCY NAME="File-Which" VERSION="0,0,0,0" />
<DEPENDENCY NAME="PAR" VERSION="0,0,0,0" />
<DEPENDENCY NAME="Archive-Zip" VERSION="1,02,0,0" />
<DEPENDENCY NAME="XML-SAX-ExpatXS" VERSION="0,0,0,0" />
<OS NAME="MSWin32" />
<ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.8" />
<CODEBASE HREF="http://theoryx5.uwinnipeg.ca/ppms/x86/PAR-WebS
+tart.tar.gz" />
</IMPLEMENTATION>
</SOFTPKG>