What do I do now?

The old fashioned method is to RTFS which you will find at Perl/site/lib/PPM/UI.pm. I found this file simply by greping for the error message. Here is the code in question.

# Find the correct target for this package. This means matching the # LANGUAGE tag in the PPD. Basically we find out what LANGUAGE the PPD # represents, and we search through the targets looking for a subset w +hich # implement that language. If more than one target implements the lang +uage # and version, we pick the first. If none work, we fail. If the LANGUA +GE # tag is missing, or the LANGUAGE matches the given target, we use the # given target. # NOTE: because LANGUAGE is a child-node of IMPLEMENTATION, we _first_ + have to # search for an implementation that matches the target, _then_ we have + to # verify that the target supports the LANGUAGE tag. If it does, we ret +urn it, # otherwise we go on to the next target. sub choose_target { my $o = shift; for (@_) { # Load the target: my $target = PPM::UI::get_targ($_); next unless $target->ok; $target = $target->result; # Load the PPD and find a suitable implementation for this target: $o->make_complete($target); my $ppd = $o->getppd_obj($target); return $ppd unless $ppd->ok; # the package doesn't exist. my $impl = $ppd->result->find_impl($target); next unless $impl->ok; my $lang = $impl->result->language; # Older PPDs didn't have a LANGUAGE tag, so we must assume a Perl # implementation. For old-times' sake, we'll assume version 5.6.0 +is # required. unless (defined $lang) { $lang = PPM::PPD::Language->new({ NAME => 'Perl', VERSION => '5.6.0', }); } # Check if this implementation's language is understood by the tar +get: my $match = $lang->matches_target($target); return $match unless $match->ok; return Ok($target) if $match->result; } return Error( "no suitable installation target found for package $o->{name}." ); }

So the error relates vaguely to the (lack of) a LANGUAGE attribute. As you can perhaps see if there is not a LANGUAGE tag in the PPM then it runs some default code. This is the code that is executing to give you the error message. This is a good place to put in some debugging print/warns so you can see what is going on. It may be as simple as adding a LANGUAGE tag to the PPD or possibly changing the default version to 5.8.x to get a valid lang that will match the target.

cheers

tachyon


In reply to Re: Image::Magick Error: no suitable installation target found for package Image-Magick. by tachyon
in thread Image::Magick Error: no suitable installation target found for package Image-Magick. by Nalina

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.