R – Why isn’t Scalar::Util::Numeric installing correctly

cpaninstallationperl

Sorry if this all runs together; it looks like the line breaks aren't showing up in the preview window. I got this output when running sudo cpan Scalar::Util::Numeric; thx, Josh.

jmm@freekbox:~/bfwsandbox/sa/angel/astroportal/dtu8e/resources$ sudo cpan Scalar::Util::Numeric
[sudo] password for jmm: 
CPAN: Storable loaded ok
Going to read /home/jmm/.cpan/Metadata
  Database was generated on Tue, 09 Sep 2008 16:02:51 GMT
CPAN: LWP::UserAgent loaded ok
Fetching with LWP:
  ftp://ftp.perl.org/pub/CPAN/authors/01mailrc.txt.gz
Going to read /home/jmm/.cpan/sources/authors/01mailrc.txt.gz
Fetching with LWP:
  ftp://ftp.perl.org/pub/CPAN/modules/02packages.details.txt.gz
Going to read /home/jmm/.cpan/sources/modules/02packages.details.txt.gz
  Database was generated on Tue, 16 Sep 2008 16:02:50 GMT

  There's a new CPAN.pm version (v1.9205) available!
  [Current version is v1.7602]
  You might want to try
    install Bundle::CPAN
    reload cpan
  without quitting the current session. It should be a seamless upgrade
  while we are running...

Fetching with LWP:
  ftp://ftp.perl.org/pub/CPAN/modules/03modlist.data.gz
Going to read /home/jmm/.cpan/sources/modules/03modlist.data.gz
Going to write /home/jmm/.cpan/Metadata
Running install for module Scalar::Util::Numeric
Running make for C/CH/CHOCOLATE/Scalar-Util-Numeric-0.02.tar.gz
CPAN: Digest::MD5 loaded ok
Checksum for /home/jmm/.cpan/sources/authors/id/C/CH/CHOCOLATE/Scalar-Util-Numeric-0.02.tar.gz ok
Scanning cache /home/jmm/.cpan/build for sizes
Scalar-Util-Numeric-0.02/
Scalar-Util-Numeric-0.02/Changes
Scalar-Util-Numeric-0.02/lib/
Scalar-Util-Numeric-0.02/lib/Scalar/
Scalar-Util-Numeric-0.02/lib/Scalar/Util/
Scalar-Util-Numeric-0.02/lib/Scalar/Util/Numeric.pm
Scalar-Util-Numeric-0.02/Makefile.PL
Scalar-Util-Numeric-0.02/MANIFEST
Scalar-Util-Numeric-0.02/META.yml
Scalar-Util-Numeric-0.02/Numeric.xs
Scalar-Util-Numeric-0.02/ppport.h
Scalar-Util-Numeric-0.02/README
Scalar-Util-Numeric-0.02/t/
Scalar-Util-Numeric-0.02/t/pod.t
Scalar-Util-Numeric-0.02/t/Scalar-Util-Numeric.t
Removing previously used /home/jmm/.cpan/build/Scalar-Util-Numeric-0.02

  CPAN.pm: Going to build C/CH/CHOCOLATE/Scalar-Util-Numeric-0.02.tar.gz

Checking if your kit is complete...
Looks good
Writing Makefile for Scalar::Util::Numeric
cp lib/Scalar/Util/Numeric.pm blib/lib/Scalar/Util/Numeric.pm
AutoSplitting blib/lib/Scalar/Util/Numeric.pm (blib/lib/auto/Scalar/Util/Numeric)
/usr/bin/perl /usr/share/perl/5.8/ExtUtils/xsubpp  -typemap /usr/share/perl/5.8/ExtUtils/typemap  Numeric.xs > Numeric.xsc && mv Numeric.xsc Numeric.c
cc -c   -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O3   -DVERSION=\"0.02\" -DXS_VERSION=\"0.02\" -fPIC "-I/usr/lib/perl/5.8/CORE"   Numeric.c
In file included from Numeric.xs:2:
/usr/lib/perl/5.8/CORE/perl.h:420:24: error: sys/types.h: No such file or directory
/usr/lib/perl/5.8/CORE/perl.h:451:19: error: ctype.h: No such file or directory
/usr/lib/perl/5.8/CORE/perl.h:463:23: error: locale.h: No such file or directory
/usr/lib/perl/5.8/CORE/perl.h:480:20: error: setjmp.h: No such file or directory
/usr/lib/perl/5.8/CORE/perl.h:486:26: error: sys/param.h: No such file or directory
/usr/lib/perl/5.8/CORE/perl.h:491:23: error: stdlib.h: No such file or directory
/usr/lib/perl/5.8/CORE/perl.h:496:23: error: unistd.h: No such file or directory
/usr/lib/perl/5.8/CORE/perl.h:776:23: error: string.h: No such file or directory
/usr/lib/perl/5.8/CORE/perl.h:925:27: error: netinet/in.h: No such file or directory
/usr/lib/perl/5.8/CORE/perl.h:929:26: error: arpa/inet.h: No such file or directory
/usr/lib/perl/5.8/CORE/perl.h:939:25: error: sys/stat.h: No such file or directory
/usr/lib/perl/5.8/CORE/perl.h:961:21: error: time.h: No such file or directory
/usr/lib/perl/5.8/CORE/perl.h:968:25: error: sys/time.h: No such file or directory
/usr/lib/perl/5.8/CORE/perl.h:975:27: error: sys/times.h: No such file or directory
/usr/lib/perl/5.8/CORE/perl.h:982:19: error: errno.h: No such file or directory
/usr/lib/perl/5.8/CORE/perl.h:997:25: error: sys/socket.h: No such file or directory
/usr/lib/perl/5.8/CORE/perl.h:1024:21: error: netdb.h: No such file or directory
/usr/lib/perl/5.8/CORE/perl.h:1127:24: error: sys/ioctl.h: No such file or directory
/usr/lib/perl/5.8/CORE/perl.h:1156:23: error: dirent.h: No such file or directory
In file included from /usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h:7,
                 from /usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h:11,
                 from /usr/lib/perl/5.8/CORE/perl.h:1510,
                 from Numeric.xs:2:
/usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h:122:61: error: limits.h: No such file or directory
In file included from /usr/lib/perl/5.8/CORE/perl.h:2120,
                 from Numeric.xs:2:
/usr/lib/perl/5.8/CORE/handy.h:136:25: error: inttypes.h: No such file or directory
In file included from /usr/lib/perl/5.8/CORE/perl.h:2284,
                 from Numeric.xs:2:
/usr/lib/perl/5.8/CORE/unixish.h:106:21: error: signal.h: No such file or directory
In file included from Numeric.xs:2:
/usr/lib/perl/5.8/CORE/perl.h:2421:33: error: pthread.h: No such file or directory
In file included from Numeric.xs:2:
/usr/lib/perl/5.8/CORE/perl.h:2423: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘perl_os_thread’
/usr/lib/perl/5.8/CORE/perl.h:2424: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘perl_mutex’
/usr/lib/perl/5.8/CORE/perl.h:2425: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘perl_cond’
/usr/lib/perl/5.8/CORE/perl.h:2426: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘perl_key’
In file included from /usr/lib/perl/5.8/CORE/iperlsys.h:51,
                 from /usr/lib/perl/5.8/CORE/perl.h:2733,
                 from Numeric.xs:2:
/usr/lib/perl/5.8/CORE/perlio.h:65:19: error: stdio.h: No such file or directory
In file included from /usr/lib/perl/5.8/CORE/iperlsys.h:51,
                 from /usr/lib/perl/5.8/CORE/perl.h:2733,
                 from Numeric.xs:2:
/usr/lib/perl/5.8/CORE/perlio.h:259: error: expected ‘)’ before ‘*’ token
/usr/lib/perl/5.8/CORE/perlio.h:262: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/lib/perl/5.8/CORE/perlio.h:265: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/lib/perl/5.8/CORE/perlio.h:268: error: expected declaration specifiers or ‘...’ before ‘FILE’
In file included from /usr/lib/perl/5.8/CORE/perl.h:2747,
                 from Numeric.xs:2:
/usr/lib/perl/5.8/CORE/sv.h:389: error: expected specifier-qualifier-list before ‘DIR’
In file included from /usr/lib/perl/5.8/CORE/op.h:497,
                 from /usr/lib/perl/5.8/CORE/perl.h:2754,
                 from Numeric.xs:2:
/usr/lib/perl/5.8/CORE/reentr.h:72:20: error: pwd.h: No such file or directory
/usr/lib/perl/5.8/CORE/reentr.h:75:20: error: grp.h: No such file or directory
/usr/lib/perl/5.8/CORE/reentr.h:85:26: error: crypt.h: No such file or directory
/usr/lib/perl/5.8/CORE/reentr.h:90:27: error: shadow.h: No such file or directory
In file included from /usr/lib/perl/5.8/CORE/op.h:497,
                 from /usr/lib/perl/5.8/CORE/perl.h:2754,
                 from Numeric.xs:2:
/usr/lib/perl/5.8/CORE/reentr.h:612: error: field ‘_crypt_struct’ has incomplete type
/usr/lib/perl/5.8/CORE/reentr.h:620: error: field ‘_drand48_struct’ has incomplete type
/usr/lib/perl/5.8/CORE/reentr.h:624: error: field ‘_grent_struct’ has incomplete type
/usr/lib/perl/5.8/CORE/reentr.h:635: error: field ‘_hostent_struct’ has incomplete type
/usr/lib/perl/5.8/CORE/reentr.h:654: error: field ‘_netent_struct’ has incomplete type
/usr/lib/perl/5.8/CORE/reentr.h:669: error: field ‘_protoent_struct’ has incomplete type
/usr/lib/perl/5.8/CORE/reentr.h:684: error: field ‘_pwent_struct’ has incomplete type
/usr/lib/perl/5.8/CORE/reentr.h:695: error: field ‘_servent_struct’ has incomplete type
/usr/lib/perl/5.8/CORE/reentr.h:710: error: field ‘_spent_struct’ has incomplete type
/usr/lib/perl/5.8/CORE/reentr.h:721: error: field ‘_gmtime_struct’ has incomplete type
/usr/lib/perl/5.8/CORE/reentr.h:724: error: field ‘_localtime_struct’ has incomplete type
/usr/lib/perl/5.8/CORE/reentr.h:771: error: field ‘_random_struct’ has incomplete type
/usr/lib/perl/5.8/CORE/reentr.h:772: error: expected specifier-qualifier-list before ‘int32_t’
In file included from /usr/lib/perl/5.8/CORE/perl.h:2756,
                 from Numeric.xs:2:
/usr/lib/perl/5.8/CORE/av.h:13: error: expected specifier-qualifier-list before ‘ssize_t’
In file included from /usr/lib/perl/5.8/CORE/perl.h:2759,
                 from Numeric.xs:2:
/usr/lib/perl/5.8/CORE/scope.h:232: error: expected specifier-qualifier-list before ‘sigjmp_buf’
In file included from Numeric.xs:2:
/usr/lib/perl/5.8/CORE/perl.h:2931: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘getuid’
/usr/lib/perl/5.8/CORE/perl.h:2932: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘geteuid’
/usr/lib/perl/5.8/CORE/perl.h:2933: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘getgid’
/usr/lib/perl/5.8/CORE/perl.h:2934: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘getegid’
In file included from Numeric.xs:2:
/usr/lib/perl/5.8/CORE/perl.h:3238:22: error: math.h: No such file or directory
In file included from /usr/lib/perl/5.8/CORE/perl.h:3881,
                 from Numeric.xs:2:
/usr/lib/perl/5.8/CORE/thrdvar.h:85: error: field ‘Tstatbuf’ has incomplete type
/usr/lib/perl/5.8/CORE/thrdvar.h:86: error: field ‘Tstatcache’ has incomplete type
/usr/lib/perl/5.8/CORE/thrdvar.h:91: error: field ‘Ttimesbuf’ has incomplete type
In file included from /usr/lib/perl/5.8/CORE/perl.h:3883,
                 from Numeric.xs:2:
/usr/lib/perl/5.8/CORE/intrpvar.h:66: error: expected specifier-qualifier-list before ‘time_t’
In file included from /usr/lib/perl/5.8/CORE/perl.h:3950,
                 from Numeric.xs:2:
/usr/lib/perl/5.8/CORE/proto.h:128: error: expected declaration specifiers or ‘...’ before ‘mode_t’
/usr/lib/perl/5.8/CORE/proto.h:128: error: expected declaration specifiers or ‘...’ before ‘uid_t’
/usr/lib/perl/5.8/CORE/proto.h:297: error: expected declaration specifiers or ‘...’ before ‘off64_t’
/usr/lib/perl/5.8/CORE/proto.h:299: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Perl_do_sysseek’
/usr/lib/perl/5.8/CORE/proto.h:300: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Perl_do_tell’
/usr/lib/perl/5.8/CORE/proto.h:411: error: expected declaration specifiers or ‘...’ before ‘gid_t’
/usr/lib/perl/5.8/CORE/proto.h:411: error: expected declaration specifiers or ‘...’ before ‘uid_t’
/usr/lib/perl/5.8/CORE/proto.h:736: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Perl_my_fork’
/usr/lib/perl/5.8/CORE/proto.h:1020: error: expected declaration specifiers or ‘...’ before ‘pid_t’
/usr/lib/perl/5.8/CORE/proto.h:1300: error: expected declaration specifiers or ‘...’ before ‘pid_t’
/usr/lib/perl/5.8/CORE/proto.h:1456: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/lib/perl/5.8/CORE/proto.h:2001: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Perl_PerlIO_read’
/usr/lib/perl/5.8/CORE/proto.h:2002: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Perl_PerlIO_write’
/usr/lib/perl/5.8/CORE/proto.h:2003: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Perl_PerlIO_unread’
/usr/lib/perl/5.8/CORE/proto.h:2004: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Perl_PerlIO_tell’
/usr/lib/perl/5.8/CORE/proto.h:2005: error: expected declaration specifiers or ‘...’ before ‘off64_t’
In file included from /usr/lib/perl/5.8/CORE/perl.h:3988,
                 from Numeric.xs:2:
/usr/lib/perl/5.8/CORE/perlvars.h:31: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘PL_thr_key’
/usr/lib/perl/5.8/CORE/perlvars.h:48: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘PL_op_mutex’
/usr/lib/perl/5.8/CORE/perlvars.h:52: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘PL_dollarzero_mutex’
/usr/lib/perl/5.8/CORE/perl.h:4485:24: error: sys/ipc.h: No such file or directory
/usr/lib/perl/5.8/CORE/perl.h:4486:24: error: sys/sem.h: No such file or directory
/usr/lib/perl/5.8/CORE/perl.h:4611:24: error: sys/file.h: No such file or directory
In file included from /usr/lib/perl/5.8/CORE/perlapi.h:38,
                 from /usr/lib/perl/5.8/CORE/XSUB.h:349,
                 from Numeric.xs:3:
/usr/lib/perl/5.8/CORE/intrpvar.h:66: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/lib/perl/5.8/CORE/intrpvar.h:237: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/lib/perl/5.8/CORE/intrpvar.h:238: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/lib/perl/5.8/CORE/intrpvar.h:239: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/lib/perl/5.8/CORE/intrpvar.h:240: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
In file included from /usr/lib/perl/5.8/CORE/perlapi.h:39,
                 from /usr/lib/perl/5.8/CORE/XSUB.h:349,
                 from Numeric.xs:3:
/usr/lib/perl/5.8/CORE/perlvars.h:31: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/lib/perl/5.8/CORE/perlvars.h:48: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/lib/perl/5.8/CORE/perlvars.h:52: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
In file included from Numeric.xs:4:
ppport.h:3042:1: warning: "PERL_UNUSED_DECL" redefined
In file included from Numeric.xs:2:
/usr/lib/perl/5.8/CORE/perl.h:163:1: warning: this is the location of the previous definition
Numeric.c: In function ‘XS_Scalar__Util__Numeric_is_num’:
Numeric.c:20: error: invalid type argument of ‘unary *’
Numeric.c:20: error: invalid type argument of ‘unary *’
Numeric.c:20: error: invalid type argument of ‘unary *’
Numeric.c:22: error: invalid type argument of ‘unary *’
Numeric.c:24: error: invalid type argument of ‘unary *’
Numeric.xs:16: error: invalid type argument of ‘unary *’
Numeric.xs:17: error: invalid type argument of ‘unary *’
Numeric.xs:20: error: invalid type argument of ‘unary *’
Numeric.xs:20: error: invalid type argument of ‘unary *’
Numeric.xs:20: error: invalid type argument of ‘unary *’
Numeric.xs:20: error: invalid type argument of ‘unary *’
Numeric.xs:20: error: invalid type argument of ‘unary *’
Numeric.c:36: error: invalid type argument of ‘unary *’
Numeric.c:36: error: invalid type argument of ‘unary *’
Numeric.c: In function ‘XS_Scalar__Util__Numeric_uvmax’:
Numeric.c:43: error: invalid type argument of ‘unary *’
Numeric.c:43: error: invalid type argument of ‘unary *’
Numeric.c:43: error: invalid type argument of ‘unary *’
Numeric.c:45: error: invalid type argument of ‘unary *’
Numeric.xs:26: error: invalid type argument of ‘unary *’
Numeric.xs:26: error: invalid type argument of ‘unary *’
Numeric.xs:26: error: invalid type argument of ‘unary *’
Numeric.xs:26: error: invalid type argument of ‘unary *’
Numeric.xs:26: error: invalid type argument of ‘unary *’
Numeric.c:51: error: invalid type argument of ‘unary *’
Numeric.c:51: error: invalid type argument of ‘unary *’
Numeric.c: In function ‘boot_Scalar__Util__Numeric’:
Numeric.c:60: error: invalid type argument of ‘unary *’
Numeric.c:60: error: invalid type argument of ‘unary *’
Numeric.c:60: error: invalid type argument of ‘unary *’
Numeric.c:63: error: invalid type argument of ‘unary *’
Numeric.c:63: error: invalid type argument of ‘unary *’
Numeric.c:63: error: invalid type argument of ‘unary *’
Numeric.c:63: error: invalid type argument of ‘unary *’
Numeric.c:63: error: invalid type argument of ‘unary *’
Numeric.c:63: error: invalid type argument of ‘unary *’
Numeric.c:63: error: invalid type argument of ‘unary *’
Numeric.c:63: error: invalid type argument of ‘unary *’
Numeric.c:63: error: invalid type argument of ‘unary *’
Numeric.c:63: error: invalid type argument of ‘unary *’
Numeric.c:63: error: invalid type argument of ‘unary *’
Numeric.c:65: error: invalid type argument of ‘unary *’
Numeric.c:65: error: invalid type argument of ‘unary *’
Numeric.c:66: error: invalid type argument of ‘unary *’
Numeric.c:66: error: invalid type argument of ‘unary *’
Numeric.c:67: error: invalid type argument of ‘unary *’
Numeric.c:67: error: invalid type argument of ‘unary *’
Numeric.c:67: error: invalid type argument of ‘unary *’
Numeric.c:67: error: invalid type argument of ‘unary *’
make: *** [Numeric.o] Error 1
  /usr/bin/make  -- NOT OK
Running make test
  Can't test without successful make
Running make install
  make had returned bad status, install seems impossible
jmm@freekbox:~/bfwsandbox/sa/angel/astroportal/dtu8e/resources$ 

Best Answer

You're missing your C library development headers. You should install a package that has them. These are necessary to install this module because it has to compile some non-perl C code and needs to know more about your system.

I can't tell what kind of operating system you're on, but it looks like linux. If it's debian, you should be able to use apt-get to install the 'libc6-dev' package. That will contain the headers you need to compile this module. On other types of linux there will be a similarly named package.