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

!!!!SOLVED!!!!! See below.

Hi all,

I just got a new notebook: Lenovo T61, dual-core 64bit. I am running Ubuntu 8.04 64bit. Part of migrating over from my old notebook to this one is installing the CPAN modules I already had previously.

I have attempted to install a few modules, and all end in failure. Running "perl Makefile.PL" works fine, but it's the make && make install that fail. Here's a snippet of the failure from trying to install List::MoreUtils:

MoreUtils.c:1797: warning: cast to pointer from integer of different s +ize MoreUtils.c:1798: error: invalid type argument of ‘unary *’ MoreUtils.c:1798: warning: cast to pointer from integer of different s +ize MoreUtils.c:1799: error: invalid type argument of ‘unary *’ MoreUtils.c:1799: warning: cast to pointer from integer of different s +ize MoreUtils.c:1811: error: invalid type argument of ‘unary *’ MoreUtils.c:1811: warning: cast to pointer from integer of different s +ize MoreUtils.c:1811: error: invalid type argument of ‘unary *’ MoreUtils.c:1811: warning: cast to pointer from integer of different s +ize MoreUtils.c:1811: error: invalid type argument of ‘unary *’ MoreUtils.c:1811: warning: cast to pointer from integer of different s +ize MoreUtils.c:1811: error: invalid type argument of ‘unary *’ MoreUtils.c:1811: warning: cast to pointer from integer of different s +ize make: *** [MoreUtils.o] Error 1

I have tried using make -j3, but this hasn't worked. I also tried installing modules by using:

perl -MCPAN -e 'install List::MoreUtils'

But no dice. Anyone have any ideas why I can't build CPAN modules, and how should I go about resolving this?

Thanks for the help!

UPDATE:Got it! Since this was a fresh install of Ubuntu, I didn't install build-essentials, which contains some libraries that I suppose gcc needs to make stuff. Running this made everything work fine:

sudo apt-get install build-essential

Thanks for everyone's help!

Replies are listed 'Best First'.
Re: Cannot install CPAN modules
by ysth (Canon) on Aug 03, 2008 at 23:45 UTC
      Here's the output of perl -V:

      Summary of my perl5 (revision 5 version 8 subversion 8) configuration: Platform: osname=linux, osvers=2.6.15.7, archname=x86_64-linux-gnu-thread-mu +lti uname='linux yellow 2.6.15.7 #1 smp sun sep 23 13:51:52 utc 2007 x +86_64 gnulinux ' config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dccc +dlflags=-fPIC -Darchname=x86_64-linux-gnu -Dprefix=/usr -Dprivlib=/us +r/share/perl/5.8 -Darchlib=/usr/lib/perl/5.8 -Dvendorprefix=/usr -Dve +ndorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/us +r/local -Dsitelib=/usr/local/share/perl/5.8.8 -Dsitearch=/usr/local/l +ib/perl/5.8.8 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/ +man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/m +an3 -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs + -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -Duseshrplib -Dlibperl=libperl. +so.5.8.8 -Dd_dosuid -des' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemulti +plicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=define use64bitall=define uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-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', optimize='-O2', cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN +-fno-strict-aliasing -pipe -I/usr/local/include' ccversion='', gccversion='4.2.3 20071123 (prerelease) (Ubuntu 4.2. +2-3ubuntu4)', gccosandvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=1 +6 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', + lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='cc', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt perllibs=-ldl -lm -lpthread -lc -lcrypt libc=/lib/libc-2.6.1.so, so=so, useshrplib=true, libperl=libperl.s +o.5.8.8 gnulibc_version='2.6.1' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP THREADS_HAVE_PIDS USE_64_BIT_ +ALL USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API Built under linux Compiled at Nov 27 2007 10:56:40 @INC: /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .

      This is the Perl that came with Ubuntu64. Oddly enough, I am running a 64 bit desktop and that works fine; just the 64 bit notebook is breaking...

        Try:

        cpan WeakRef Task::Weaken

        Update: Just a suggestion because bash will vehemently complain if you don't have the right gcc installed..

Re: Cannot install CPAN modules
by Illuminatus (Curate) on Aug 04, 2008 at 02:12 UTC
    There a couple of possibilities. Are you using -m64 as a gcc option? What version of gcc are using. You should probably be using 4.3.
Re: Cannot install CPAN modules
by actualize (Monk) on Aug 04, 2008 at 03:11 UTC

    Are you using sudo? If you compile without the right permissions you get a bunch of weird errors. Also, in order to make install you will be copying to directories that your account likely doesn't have permissions to.

    sudo make sudo make install
    should do the trick

    -Actualize