JOEH@BNR.BITNET (Joe Hatz, R.J.) (11/17/87)
We are porting X V11 to a SysV lookalike. We actually have the SysV.1 and SysV.2 compilers, both of which fail with the same internal compiler error: "<filename>", line <nnn>: compiler error: dimension table overflow All cases I have found thus far refer to lines within header files, at the head or tail of a typedef. It would appear that the error is related to the extensive use of typedefs in the X code. Has anyone else encountered this or a similar problem? Any advice would be much appreciated. Joe Hatz, (Netnorth ID is: JOEH@BNR) Bell Northern Research, Box 3511, Station C, Ottawa, Canada. Phone (613)-727-4622
pokey@well.UUCP (Jef Poskanzer) (11/18/87)
In the referenced message, JOEH@BNR.BITNET (Joe Hatz, R.J.) wrote: }We are porting X V11 to a SysV lookalike. We actually have }the SysV.1 and SysV.2 compilers, both of which fail with the same }internal compiler error: } } "<filename>", line <nnn>: compiler error: dimension table overflow } }All cases I have found thus far refer to lines within header files, }at the head or tail of a typedef. It would appear that the error }is related to the extensive use of typedefs in the X code. } }Has anyone else encountered this or a similar problem? }Any advice would be much appreciated. I recently ported X11 to A/UX and to UniPlus+, both SysV-derived systems. I got this same error on a few files. In each case I was able to get around the problem by breaking the file up into two or three smaller ones. You might also try getting rid of any includes that are not used -- for instance, there's at least one file in X11r1 that includes stdio.h but doesn't use it, and stdio.h is >huge<. --- Jef Jef Poskanzer jef@lbl-rtsg.arpa ...well!pokey P.S. Don't bother asking how you can obtain the A/UX port I did. I don't work for UniSoft any more, and I doubt they will be selling it anytime in the near future. On the other hand, if you want to hire me to do a similar port for you, drop me a line...
mumble%karl@tut.cis.ohio-state.edu.UUCP (11/18/87)
JOEH@BNR.BITNET writes:
We are porting X V11 to a SysV lookalike. We actually have
the SysV.1 and SysV.2 compilers, both of which fail with the same
internal compiler error:
"<filename>", line <nnn>: compiler error: dimension table overflow
...
Has anyone else encountered this or a similar problem?
Yes, I've seen that, in a 3B15 SysV.2.1.1 system I used when at AT&T.
It was necessary to rebuild the compiler with a bigger symbol table
size. More recent releases of the compiler arrange to malloc() space
as required, which is of course The Right Way to do it anyway. See if
you can get a more recent release.
-=-
Karl
bilbo.geoff@SEAS.UCLA.EDU.UUCP (11/19/87)
> We are porting X V11 to a SysV lookalike. We actually have > the SysV.1 and SysV.2 compilers, both of which fail with the same > internal compiler error: ... > Has anyone else encountered this or a similar problem? > Any advice would be much appreciated. We've gotten a couple of problems on SysV (Microport) here at Locus. One is the old "too much defining" from the preprocessor; the other only arises when you compile with -g, which gives you "fakename table overflow". (The fakename table has all of 99 entries by default). Both of these problems can be cured easily if you have source: just grep for the offending message; the corresponding limit will be easy to spot in the nearby code. You can then grep everything to find where this limit is defined, and increase it. If you don't have source, you can start by complaining to your vendor. Since this rarely bears quick fruit, a (tedious) workaround is to ifdef parts of header files, so that each routine only gets what it needs. You may have to break some routines like dispatch.c in order to get the required part of the header files down far enough. Geoff Kuenning geoff@lcc.ucla.edu geoff@ITcorp.com