[comp.unix.aux] Perl won't compile on AUX

shani@TAURUS.BITNET (01/31/91)

Has anyone tried to compile perl on AUX yet? I get the following error:

"eval.c", line 2374: compiler error: switch table overflow

Help ?!?!

O.S.

Oh, btw, thanks to all those who answered my question about getting an
up-to-date version of perl. No need to send more replies to that...

rmtodd@uokmax.ecn.uoknor.edu (Richard Michael Todd) (02/01/91)

shani@TAURUS.BITNET writes:

>Has anyone tried to compile perl on AUX yet?

Not only tried, but succeeded :-).

> I get the following error:

>"eval.c", line 2374: compiler error: switch table overflow

Sounds like something in Perl is overflowing the (stupidly) small table
sizes in A/UX cc.  You might try using the -A (I think) switch to cc to 
expand the table sizes, or you could do as I did and use gcc.  As I recall,
it compiles under gcc with only one small problem, related to the include files
and the stupid pet tricks Apple did with the _BSD_SOURCE, etc. preprocessor
defines.  I don't recall the details right offhand, but I can get the couple
of lines worth of patches I did if you need.  Mail to me if you need them...
-- 
Richard Todd   rmtodd@chinet.chi.il.us  or  rmtodd@uokmax.ecn.uoknor.edu  

beard@ux5.lbl.gov (Patrick C Beard) (02/04/91)

On this note, has anybody ported Perl to the MPW environment?  I have been
considering starting from an MS-DOS version, but would like to know if anyone
else has already done it.

Thanks.

--
------------------------------------------------------------------
|  Patrick C. Beard, Software Engineer, Berkeley Systems, Inc.   |
|                    "Heroes of technology."                     |
|    beard@lbl.gov, d0346@applelink.apple.com (ATTN: Patrick)    |

kevin@nuchat.sccsi.com (Kevin Brown) (02/04/91)

In article <2375@taurus.BITNET> <shani%math.tau.ac.il@CUNYVM.CUNY.EDU> writes:
>Has anyone tried to compile perl on AUX yet? I get the following error:
>
>"eval.c", line 2374: compiler error: switch table overflow
>
>Help ?!?!

I ran into exactly the same problem.

The people who ported the C compiler forgot to implement dynamic allocation
of the switch table.  Methinks they were concentrating too hard on
the "important" part of the OS: the MacUserInterface...:-(

On the A/UX that I'm working under, there are two versions of the compiler
(small and large :-).  The default is the "small" one, i.e., the one with
the tiny switch symbol table.

To access the other one, I believe your command line should read:

	cc -B /usr/lib/big/ ...

So add the -B spec above to the CFLAGS variable in your Makefile and you'll
be okay (no need to go through the entire Configure process, since it will
cause everything to be rebuilt when all you want is the stuff that hasn't
been built yet.  It takes a LOOONG time to rebuild, unless you're running 
on one of the new (fast) Macs, in which case I'm jealous :-).

I *think* /usr/lib/big/ is the right argument to -B, but I'm not absolutely
sure.  Check the "cc" man page to be sure (and check to make sure the
directory they specify actually exists :-).  Notice the trailing '/', too.
That's NECESSARY.

To my knowledge, we're running A/UX version 2.0.  Beats me if the above
works on pre-2.0 systems...

>O.S.


--
			Kevin Brown
		Addresses in preferred order:
		    csci31f7@cl.uh.edu 
		nuchat!kevin@uunet.uu.net

jim@jagubox.gsfc.nasa.gov (Jim Jagielski) (02/04/91)

In article <1991Feb4.095938.12722@nuchat.sccsi.com> kevin@nuchat.sccsi.com (Kevin Brown) writes:
}In article <2375@taurus.BITNET> <shani%math.tau.ac.il@CUNYVM.CUNY.EDU> writes:
}>Has anyone tried to compile perl on AUX yet? I get the following error:
}>
}>"eval.c", line 2374: compiler error: switch table overflow
}>
}>Help ?!?!
}
}I ran into exactly the same problem.
}
}The people who ported the C compiler forgot to implement dynamic allocation
}of the switch table.  Methinks they were concentrating too hard on
}the "important" part of the OS: the MacUserInterface...:-(
}
}On the A/UX that I'm working under, there are two versions of the compiler
}(small and large :-).  The default is the "small" one, i.e., the one with
}the tiny switch symbol table.
}


One call increase the table size using the -A option in cc... for example,
-A 2 increases the table sizes by a factor of 2. This is MUCH better than using
the "big" versions...

This option is NOT available pre-2.0... on those you'll have to use the bigguns

--
=======================================================================
#include <std/disclaimer.h>
                                 =:^)
           Jim Jagielski                    NASA/GSFC, Code 711.1
     jim@jagubox.gsfc.nasa.gov               Greenbelt, MD 20771

"Exploding is a perfectly normal medical phenomenon. In many fields of
 medicine nowadays, a dose of dynamite can do a world of good."