Why isn't Scalar::Util::Numeric installing correctly?
Question
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$
Solution
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.
OTHER TIPS
It can't find basic system headers. Either your include path is seriously messed up, or the headers are not installed.
Awfully hard to read without line breaks, but it looks like you are missing sys/types.h
on your system. Do you have a full build environment installed (gcc, make, etc.)? What OS and distribution are you using?
In the future, you should bockquote output like this (select the text and click the quote button).