Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

PPM Hell: "PPM::PPD::init: not a PPD and not a file"

by tphyahoo (Vicar)
on Aug 16, 2005 at 09:56 UTC ( #484112=perlquestion: print w/ replies, xml ) Need Help??
tphyahoo has asked for the wisdom of the Perl Monks concerning the following question:

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>&nbsp;</td></tr> </TBODY> </TABLE> <TABLE border=0 cellPadding=0 cellSpacing=0 width=800> <TBODY> <TR> <TD valign=top width=1>&nbsp;</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>&nbsp;</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>&nbsp;</FONT> </P> <P align="left"><FONT face="Arial, Helvetica, sans-serif" size=-1 col +or="#33333 3" CLASS="empn" >&copy; 2005 IP-CONF Servermanager</FONT></P> </P> </TD> </TR> </TBODY> </TABLE> <P>&nbsp;</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 &lt;r.kobes@uwinnipeg.ca&gt;</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>

Comment on PPM Hell: "PPM::PPD::init: not a PPD and not a file"
Select or Download Code
Re: PPM Hell: "PPM::PPD::init: not a PPD and not a file"
by PodMaster (Abbot) on Aug 16, 2005 at 11:25 UTC
    For general ppm debugging, always turn on verbosity, and if that's not helpful, turn on LWP::Debug ( perl -MLWP::Debug=+ -S ppm).

    Now to your particular error message, its looks like an error message generated by ipconf. PPM apparently isn't telling you which URL it's trying when it gets that message, but I wouldn't leap to the conclusion that its ExpatXS, especially since it is available from theoryx5. It looks more like a DNS problem than anything else (but you only show the top of the html returned).

    Finally, shouldn't there be some kind of mechanism to prevent the publishing of ppds with dependencies that don't play nice with ppm?
    No.
    Would it be appropriate to notify randy kobes that this ppd causes problems?
    Sure, but I'd contact him with more information than you've presented, something reproducible (if theoryx5 is having DNS problems, he might be in a position to fix it).

    update: As a general note, since the theoryx5 repository is now being mirrored as part of the apache project, I'd try one of these mirrors (http://www.apache.org/dyn/closer.cgi/perl/win32-bin/ppms/) if its close .

    MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
    I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
    ** The third rule of perl club is a statement of fact: pod is sexy.

      Thanks podmaster. I don't know if this sheds any light, but FWIW, what I got is pasted below, with LWP debug and verbose. Would you say this is reproducible enough to submit as a problem report?

      I didn't think this was a DNS problem because the first several dependencies installed okay, it just choked on the last. Or am I overlooking something?

      C:\thomasdata\experiments\catalyst>perl -MLWP::Debug=+ -S ppm PPM - Programmer's Package Manager version 3.1. Copyright (c) 2001 ActiveState SRL. All Rights Reserved. Entering interactive shell. Using Term::ReadLine::Stub as readline lib +rary. Type 'help' to get started. ppm> set install-verbose 1 Setting 'install-verbose' set to '1'. ppm> 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> <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>&nbsp;</td></tr> </TBODY> </TABLE> <TABLE border=0 cellPadding=0 cellSpacing=0 width=800> <TBODY> <TR> <TD valign=top width=1>&nbsp;</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>&nbsp;</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>&nbsp;</FONT> </P> <P align="left"><FONT face="Arial, Helvetica, sans-serif" size=-1 col +or="#33333 3" CLASS="empn" >&copy; 2005 IP-CONF Servermanager</FONT></P> </P> </TD> </TR> </TBODY> </TABLE> <P>&nbsp;</P> </BODY> </HTML>
        No. I don't see any lines beginning with LWP::, such as
        LWP::UserAgent::new: () LWP::UserAgent::request: () LWP::UserAgent::send_request: GET http://theoryx5.uwinnipeg.ca/ppms/PA +R-WebStart.ppd
        Either you're leaving something out, or you're pasting the wrong thing.

        The error message looks like a 404 error, but http://theoryx5.uwinnipeg.ca/ppms/PAR-WebStart.ppd is clearly not 404.

        Also, it appears your locale is dutch, and the error message is in dutch, it could be that you're behind some proxy (calling itself ip conf? not the ipconf i linked), but that wouldn't explain the lack of LWP debug messages.

        You could try adding Devel::Trace to the mix, but at this point it looks like a problem on your end somewhere (near the wire or the keys :)

        MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
        I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
        ** The third rule of perl club is a statement of fact: pod is sexy.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://484112]
Approved by davido
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (12)
As of 2014-07-29 10:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (214 votes), past polls