≡ Menu

PPM Install Error: no suitable installation target found for package

Question: How do I fix “Error: no suitable installation target found for package” error message that I received when installing a perl module using ppm install?

Answer: When we are behind firewall, we would opt for ‘ppm through local repository’ to install perl modules, which is the very easiest way. When installing perl module using ppm local repository, we often come across the error “Error: no suitable installation target found for package” as shown below.
 

C:\DBD>ppm install DBD-DB2
Error: no suitable installation target found for package DBD-DB2

(or)

$ ppm install DBD-DB2
Error: no suitable installation target found for package DBD-DB2

 
In this article, let us review how to fix the “Error: no suitable installation target found for package DBD-DB2” while installing any perl packages.
 
The instructions below explains how to fix this problem on windows platform. But, you can follow similar steps on Linux to fix the same issue.
 

Solution to Fix Error: no suitable installation target found for package

1. Download the ppd file and package

Download the following PPD and package files

  • http://theoryx5.uwinnipeg.ca/ppms/DBD-DB2.ppd
  • http://theoryx5.uwinnipeg.ca/ppms/DBD-DB2.tar.gz

Note: Make sure to replace DBD-DB2 with your corresponding package name.

2. Create a Directory to keep downloads

Create DBD directory to store the downloaded ppd file.

C:\> mkdir DBD

 
Create X86 directory to keep downloaded tar file.

C:\DBD>mkdir x86

 
Now it should looks like :

C:\DBD>dir
  Volume in drive C is SYS
  Volume Serial Number is 1223-34B3

  Directory of C:\DBD

  01/12/2009   03:33 PM   		.
  01/12/2009   03:33 PM   		..
  01/12/2009   12:02 PM   	 391	DBD-DB2.ppd
  01/12/2009   03:33 PM   		x86

  C:\DBD> dir x86
  Volume in drive C is SYS
Volume Serial Number is 1223-34B3

  Directory of C:\DBD

  01/12/2009   03:33 PM   			.
  01/12/2009   03:33 PM   			..
  01/12/2009   02:37 PM   	 100,859	DBD-DB2.tar.gz

3. Open the ppd file and Edit the CODEBASE HREF to path of package.tar.gz

<SOFTPKG NAME="DBD-DB2" VERSION="1,7,1,0">
    <TITLE>DBD-DB2</TITLE>
    <ABSTRACT>Perl driver for IBM DB2 Universal Database</ABSTRACT>
    <AUTHOR>DB2 Perl (db2perl@ca.ibm.com)</AUTHOR>
    <IMPLEMENTATION>
        <OS NAME="MSWin32" />
        <ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.8" />
        <CODEBASE HREF="x86\DBD-DB2.tar.gz" />
    </IMPLEMENTATION>
</SOFTPKG>

 
Note: CODEBASE HREF should have the path of tar ball from the directory where ppd file is located.

4. Add the Local repository using ppm repo add

C:\>ppm repo add repositoryname Fullpath
C:\>ppm repo add Local C:\DBD

5. Verify the repository added using ppm repo

C:\DBD>ppm repo
Repositories
[1] Local
[ ] ActiveState Package Repository

6. Issue Resolved: Now ppm install it will go through fine

C:\DBD>ppm install DBD-DB2.ppd
=======================
Install 'DBD-DB2' version 1.7.1 in ActivePerl 5.8.0.806
=======================
Installing C:\Perl\site\lib\auto\DBD\DB2\DB2.bs
Installing C:\Perl\site\lib\auto\DBD\DB2\DB2.dll
Installing C:\Perl\site\lib\auto\DBD\DB2\Constants\Constants.bs
Installing C:\Perl\site\lib\auto\DBD\DB2\Constants\Constants.dll
Installing C:\Perl\site\lib\auto\DBD\DB2\Constants\Constants.dll
Installing C:\Perl\html\site\lib\DBD\DB2.html
Installing C:\Perl\html\site\lib\Bundle\DBD\DB2.html
Installing C:\Perl\site\lib\DBD\DB2.pm
Installing C:\Perl\site\lib\DBD\DB2.pod
Installing C:\Perl\site\lib\DBD\DB2\Constants.pm
Installing C:\Perl\site\lib\Bundle\DBD\DB2.pl
Installing C:\Perl\site\lib\auto\DBD\DB2\Constants\autosplit.ix
Successfully installed DBD-DB2 version 1.7.1 in ActivePerl 5.8.0.806

 
Even after following all the above steps properly, if you are still getting the same error “Error: no suitable installation target found for package”. Check the version of module that you are trying to install and version of perl. To see the details (version) about the module that you are going to install, use ppm desc i.e describe.

C:\DBD>ppm desc DBD-DB2
========================
Name : DBD-DB2
Version : 1.7.1
Author: DB2 Perl >db2perl@ca.ibm.com>
Title: DBD-DB2
Abstract: Perl driver for IBM DB2 Universal Database
Location: local
Available Platforms:
	1. MSWin32-x86-multi-thread-5.8

 
Use perl -v to see version of the perl.

C:\DBD>perl -v
This is perl, V5.8.0 built for MSWin32-x86-multi-thread

 
The version of the module you are trying to install should have build for your perl version. In the above example in the description of the module shows that “Available Platforms: MSWin32-x86-multi-thread-5.8” refers that it is built for 5.8. If this version number does not match you will get this error, then you should download the correct version of module.

Add your comment

If you enjoyed this article, you might also like..

  1. 50 Linux Sysadmin Tutorials
  2. 50 Most Frequently Used Linux Commands (With Examples)
  3. Top 25 Best Linux Performance Monitoring and Debugging Tools
  4. Mommy, I found it! – 15 Practical Linux Find Command Examples
  5. Linux 101 Hacks 2nd Edition eBook Linux 101 Hacks Book

Bash 101 Hacks Book Sed and Awk 101 Hacks Book Nagios Core 3 Book Vim 101 Hacks Book