I have been trying to install several perl modules on my brand new Opensuse installation, but to no avail. I have tried to install them both via CPAN, PPM and manually but keep incurring in the same error:
Unparsable version '' for prerequisite Test at Makefile.PL line 4.
nevertheless, Makefile.PL
seems to be able to execute without problems, but the subsequent make execution incurrs into problems. This is the message causing the problem i think:
make: *** [LevenshteinXS.o] Error 127
JGOLDBERG/Text-LevenshteinXS-0.03.tar.gz
/usr/bin/make -- NOT OK
i tried to do a whereis make
and the result seems ok:
make: /usr/bin/make /usr/bin/X11/make /usr/share/man/man1/make.1.gz /usr/share/man/man1p/make.1p.gz
here's the complete recount of the actions that cpan carries on before telling me that the installation failed:
CPAN: Storable loaded ok (v2.34)
Reading '/home/tito/.cpan/Metadata'
Database was generated on Wed, 24 Oct 2012 19:07:03 GMT
Running install for module 'Text::LevenshteinXS'
Running make for J/JG/JGOLDBERG/Text-LevenshteinXS-0.03.tar.gz
CPAN: Digest::SHA loaded ok (v5.71)
CPAN: Compress::Zlib loaded ok (v2.048)
Checksum for /home/tito/.cpan/sources/authors/id/J/JG/JGOLDBERG/Text-LevenshteinXS-0.03.tar.gz ok
CPAN: File::Temp loaded ok (v0.22)
CPAN: Parse::CPAN::Meta loaded ok (v1.4404)
CPAN: CPAN::Meta loaded ok (v2.120630)
CPAN.pm: Building J/JG/JGOLDBERG/Text-LevenshteinXS-0.03.tar.gz
Unparsable version '' for prerequisite Test at Makefile.PL line 4.
Checking if your kit is complete...
Looks good
Writing Makefile for Text::LevenshteinXS
Writing MYMETA.yml and MYMETA.json
CPAN: Module::CoreList loaded ok (v2.66)
cp LevenshteinXS.pm blib/lib/Text/LevenshteinXS.pm
AutoSplitting blib/lib/Text/LevenshteinXS.pm (blib/lib/auto/Text/LevenshteinXS)
/usr/bin/perl /usr/lib/perl5/5.16.0/ExtUtils/xsubpp -typemap /usr/lib/perl5/5.16.0/ExtUtils/typemap LevenshteinXS.xs > LevenshteinXS.xsc && mv LevenshteinXS.xsc LevenshteinXS.c
Please specify prototyping behavior for LevenshteinXS.xs (see perlxs manual)
cc -c -D_REENTRANT -D_GNU_SOURCE -DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wall -pipe -DVERSION=\"0.03\" -DXS_VERSION=\"0.03\" -fPIC "-I/usr/lib/perl5/5.16.0/x86_64-linux-thread-multi/CORE" LevenshteinXS.c
/bin/sh: cc: command not found
make: *** [LevenshteinXS.o] Error 127
JGOLDBERG/Text-LevenshteinXS-0.03.tar.gz
/usr/bin/make -- NOT OK
CPAN: YAML loaded ok (v0.84)
Running make test
Can't test without successful make
Running make install
Make had returned bad status, install seems impossible
The warning about the version is just that, a warning. The real problem is this:
/bin/sh: cc: command not found
In other words: this module needs a C compiler and you don't have one. Not one Perl can find anyway. Installing the gcc package from OpenSuSE should solve that.
The "unparsable version" is from this line in the Makefile.PL.
'PREREQ_PM' => { Test },
PREREQ_PM indicates prerequisite modules and their minimum version. The author forgot the minimum version. No biggie, Test has come with Perl forever.