emailbuilder88 has asked for the wisdom of the Perl Monks concerning the following question:

All, I have looked high and low and was directed here by someone who I trust knew what he was saying when he said this is probably the best place to ask this kind of question. If it isn't, I'd appreciate a redirect. I am trying to install perl module Net::Ident on a Fedora Core 1 machine, I get make test errors as follows. I'd really appreciate any tips. I've no idea why this is happening, as I've installed this on other similar machines in the past.
# perl -MCPAN -e'CPAN::Shell->install("Net::Ident")' CPAN: Storable loaded ok Going to read /root/.cpan/Metadata Database was generated on Sat, 27 Nov 2004 04:00:47 GMT Running install for module Net::Ident Running make for J/JP/JPC/Net-Ident-1.20.tar.gz CPAN: Digest::MD5 loaded ok Checksum for /root/.cpan/sources/authors/id/J/JP/JPC/Net-Ident-1.20.ta +r.gz ok Scanning cache /root/.cpan/build for sizes Net-Ident-1.20/ Net-Ident-1.20/t/ Net-Ident-1.20/t/0use.t Net-Ident-1.20/t/apache/ Net-Ident-1.20/t/apache/logs/ Net-Ident-1.20/t/apache/logs/.exists Net-Ident-1.20/t/apache/conf/ Net-Ident-1.20/t/apache/conf/httpd.conf.in Net-Ident-1.20/t/apache/conf/apache_config.pl.in Net-Ident-1.20/t/apache/conf/access.conf.in Net-Ident-1.20/t/apache/conf/srm.conf.in Net-Ident-1.20/t/apache/conf/mime.types Net-Ident-1.20/t/apache/html/ Net-Ident-1.20/t/apache/html/testapache.txt Net-Ident-1.20/t/apache/perl/ Net-Ident-1.20/t/apache/perl/testmodperl Net-Ident-1.20/t/apache/perl/testident Net-Ident-1.20/t/apache.t Net-Ident-1.20/t/compat.t Net-Ident-1.20/t/hosts Net-Ident-1.20/t/Ident.t Net-Ident-1.20/Makefile.PL Net-Ident-1.20/README Net-Ident-1.20/INSTALL Net-Ident-1.20/MANIFEST Net-Ident-1.20/Changes Net-Ident-1.20/Ident.pm Removing previously used /root/.cpan/build/Net-Ident-1.20 CPAN.pm: Going to build J/JP/JPC/Net-Ident-1.20.tar.gz Checking if your kit is complete... Looks good Do not worry if any of the following items are not found Checking for previous Net::Ident... Not found. You could force installing the backwards-compatible Net::Ident, for example because you want to use scripts that rely on the backwards compatible calling syntax [not that that's very likely; I'm not aware of any existing scripts that use it -- JohnPC]. To enable this, re-run this Makefile.PL using: perl Makefile.PL --force-compat Checking for Apache.pm... not found Writing Makefile for Net::Ident cp Ident.pm blib/lib/Net/Ident.pm Manifying blib/man3/Net::Ident.3pm /usr/bin/make -- OK Running make test PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_h +arness(0, 'blib/lib', 'blib/arch')" t/*.t t/0use......Net::Ident::_export_hooks() called too early to check prot +otype at /root/.cpan/build/Net-Ident-1.20/blib/lib/Net/Ident.pm line +29. t/0use......ok + t/apache....Net::Ident::_export_hooks() called too early to check prot +otype at /root/.cpan/build/Net-Ident-1.20/blib/lib/Net/Ident.pm line +29. skipped all skipped: no reason given t/compat....Net::Ident::_export_hooks() called too early to check prot +otype at /root/.cpan/build/Net-Ident-1.20/blib/lib/Net/Ident.pm line +29. skipped all skipped: no reason given t/Ident.....Net::Ident::_export_hooks() called too early to check prot +otype at /root/.cpan/build/Net-Ident-1.20/blib/lib/Net/Ident.pm line +29. t/Ident.....FAILED tests 1-3 + Failed 3/7 tests, 57.14% okay Failed Test Stat Wstat Total Fail Failed List of Failed ---------------------------------------------------------------------- +--------- t/Ident.t 7 3 42.86% 1-3 2 tests skipped. Failed 1/4 test scripts, 75.00% okay. 3/8 subtests failed, 62.50% okay +. make: *** [test_dynamic] Error 255 /usr/bin/make test -- NOT OK Running make install make test had returned bad status, won't install without force

Replies are listed 'Best First'.
Re: make test error installing Net::Ident
by Steve_p (Priest) on Nov 28, 2004 at 06:58 UTC

    Looking at the code in the module, it has some issues. The function _export_hooks() is called as the module is loaded. The call for the function is, however, well before the declaration for the function.

    So, its nothing your doing wrong, its just the module. To fix it, you could remove the prototype off of _export_hooks().

      Thank you. FWIW, this is the other advice I received, which makes sense:

      Net::Ident appears to be abandoned to some degree.

      Version 1.20 was written in 1999, and some CPAN testers have failed to install this module. The problem, I believe, is caused by not being able to connect to particular servers the author has specified in the test scripts. After 5 years, it isn't all that surprising if they no longer exist.
      From the top of "t/Ident.t":
      # test the Net::Ident module, which is a bitch, because you really # need an ident daemon to test it, and then you usually get a connecti +on # from a remote machine, and then ask for the username. # so what we do is try to make a connection to an ident daemon, on # some machine, and if that succeeds, see if we can do a successful lo +okup # on that. # This isn't guaranteed to succeed. If you are not (properly) connecte +d # to the internet, and if your localhost doesn't run an ident daemon, # then this script won't work. If you do know a machine that you can # currently reach, which runs an ident daemon, then put it's name or # IPnumber in the 'hosts' file in the t/ directory. #

      You have two choices:

      1. Install manually, jumping through the hoops to get the tests to pass. From the comment it looks like "t/hosts" is the hoop you need.

      2. Force install without tests.