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

Why is toke.c giving me this error ??
#make `sh cflags libperl.so toke.o` -KPIC toke.c CCCMD = /bin/cc -DPERL_CORE -c -I/usr/include -I/usr/ucbinclude -I/us +r/local/include -I/usr/gnu/include -O NCR High Performance C Compiler R3.0c (c) Copyright 1994-98, NCR Corporation (c) Copyright 1987-98, MetaWare Incorporated w "toke.c",L4976: Perl_yylex: Global CSE elimination suppressed; funct +ion is too big. Memory exhausted (malloc returned 0) While allocating 16000 byte chunk for pool live/dead vectors Aborting(1)... *** Error code 1 (bu21) make: fatal error. #
I am trying to compile on a NCR MP-RAS SVR4 UNIX system with 256 meg of memory and dual Pentium II 333mhz.

Thanx.

Edit by tye

Replies are listed 'Best First'.
(tye)Re: toke.c won't compile
by tye (Sage) on Aug 22, 2001 at 23:44 UTC

    First, "Global CSE elimination suppressed" just means some optimizations aren't going to be performed, which shouldn't be a big deal.

    Now, "Memory exhausted" means you need more virtual memory available to you compiler. You say "with 256 meg of memory", but that is physical memory not virtual memory. The first thing to check is how much swap space your system has and make sure it isn't all being used when you try to build Perl. The next possible problem is artificial resource limits -- using "root" to do the build is one way to avoid all of those.

            - tye (but my friends call me "Tye")