Perl programmer for hire: download my resume (PDF).
John Bokma MexIT
freelance Perl programmer

CPAN: Writing Makefile ... NOT OK

Wednesday, September 22, 2010 | 2 comments

Today, when I was installing some missing Perl modules for SpamAssassin on a bare Ubuntu 8.04 LTS Hardy Heron installation I had to use the CPAN shell for a few of those modules. But when I tried to install the first of the Perl modules not available via apt, IP::Country::Fast, I got the following output:

Warning: prerequisite Geography::Countries  not found.
Writing Makefile for IP::Country
    -- NOT OK
Running make test
  Can't test without successful make
Running make install
  make had returned bad status, install seems impossible

At first I thought this had to do with the Perl module Geography::Countries not being installed as well, so I tried to install that one via the CPAN shell. But alas, this also resulted in the "NOT OK" message:

Writing Makefile for Geography::Countries
    -- NOT OK
Running make test
  Can't test without successful make
Running make install
  make had returned bad status, install seems impossible

After some thinking I realised that I was working on a bare Ubuntu installation and make might be missing... And since I had used the default configuration of CPAN instead of manual configuration the first time I started the CPAN shell using perl -MCPAN -e shell I overlooked this. On the other hand the "NOT OK" warning CPAN gives is extremely unclear.

Anyway, I left the CPAN shell and used apt-get install make to install make. Next I used which make to obtain the path to make, since I had to configure this into the CPAN shell.

Back into the CPAN shell I first verified the current setting of the make option using o conf make:

cpan> o conf make
    make   

The above might be read as "the current value of make is make" but it actually shows the name of the option, make, followed by its value, which is empty.

After I set the value of make to the path of make and commited this change, see commands and output below, I was able to install the required Perl modules.

cpan> o conf make /usr/bin/make
    make               /usr/bin/make

cpan> o conf commit
commit: wrote /etc/perl/CPAN/Config.pm

Well... until I had to install a module that required a C++ compiler.

Also today

Please post a comment | read 2 comments, latest by John Bokma | RSS feed