[comp.windows.x] X11R3 on a Sparcstation1

smith@darwin (Steven Smith) (12/13/89)

Can anyone help me?  I am trying to compile X11 (from expo.lcs.mit.edu) on
a sparcstation1.  I have managed to compile it on a Sun3/60, 3/50, and a 
Mac II running AU/X, but I have had no luck on a Sun4/60.  The "make World"
seems to be fine, but when doing a "make install", the C compiler dumps
core in the cfbbitblt.c file.  The actual error is:

...
making ddx/mfb
making ddx/cfb
rm -f cfbbitblt.o
cc -c -O -I. -I../../include -I../../.././X11 -I../mfb -DINCLUDE_ALLOCA_H  cfbbi
tblt.c
cc: Fatal error in iropt: Illegal instruction (core dumped)
*** Error code 1

Does anyone have any insite into this compiler error?

Thanks in advance

Steve Smith
University of Illinois, Microbiology
smith@origin.life.uiuc.edu

keith@EXPO.LCS.MIT.EDU (Keith Packard) (12/13/89)

>                       I have had no luck on a Sun4/60.  The "make World"
> seems to be fine, but when doing a "make install", the C compiler dumps
> core in the cfbbitblt.c file.
>
> cc -c -O -I. -I../../include -I../../.././X11 -I../mfb -DINCLUDE_ALLOCA_H
>         cfbbitblt.c
> cc: Fatal error in iropt: Illegal instruction (core dumped)

R3 cfbbitblt.c was particularily nasty to compilers.  It expands
a several-hundred line cpp macro 16 times; which breaks many optimizers
(including the SPARC).  My PMAX spent several hours compiling this one
file, as it didn't have the requested 40 meg of physical memory.

Turn off the optimizer for this one file and it should work fine; e.g.

	$ cd server/ddx/cfb
	$ make CDEBUGFLAGS= cfbbitblt.o
	$ cd ../..
	$ make

should successfully build the server.

R4 won't have these problems (and will be "just a bit" faster).

Keith Packard
MIT X Consortium

erc@pai.UUCP (Eric Johnson) (12/14/89)

In article <1989Dec12.163847.7802@ux1.cso.uiuc.edu>, smith@darwin (Steven Smith) writes:
> Can anyone help me?  I am trying to compile X11 (from expo.lcs.mit.edu) on
> ...  The "make World"
> seems to be fine, but when doing a "make install", the C compiler dumps
> core in the cfbbitblt.c file.  The actual error is:
> ...
> making ddx/mfb
> making ddx/cfb
> rm -f cfbbitblt.o
> cc -c -O -I. -I../../include -I../../.././X11 -I../mfb -DINCLUDE_ALLOCA_H  cfbbi
> tblt.c
> cc: Fatal error in iropt: Illegal instruction (core dumped)
> *** Error code 1
> 
> Does anyone have any insite into this compiler error?
> 
> Steve Smith
> University of Illinois, Microbiology
> smith@origin.life.uiuc.edu

iropt is the C compiler optimizer.

I had the same problem.  I bet you also used the default SPARCStation
configuration (UNIX, or SunOS, came pre-installed on my SPARC).

The file cfbbitblt.c is nasty to C compilers, and the problem here is
a lack of swap space, I believe (at least that's the general
impression from talking to Sun support).

What I did was compile that particular file by hand, using the
-O1 optimization level, rather than -O optimization.  This seemed
to work fine. I still used -O on the rest of the X sources.

Somehow it all worked, since I writing this using a SPARCStation-1
running MIT X11R3, and rlogin'ed to our machine that handles
Usenet news.

Hope this helps,

-Eric


-- 
Eric F. Johnson, Boulware Technologies, Inc. 
415 W. Travelers Trail, Burnsville, MN 55337 USA.  Phone: +1 612-894-0313. 
erc@pai.mn.org    - or -   bungia!pai!erc
(We have a very dumb mailer, so please send a bang-!-style return address.)

mhorstm@swbatl.UUCP (3417) (12/14/89)

In article <1989Dec12.163847.7802@ux1.cso.uiuc.edu> smith@darwin (Steven Smith) writes:
>Can anyone help me?  I am trying to compile X11 (from expo.lcs.mit.edu) on
>a sparcstation1.  I have managed to compile it on a Sun3/60, 3/50, and a 
>Mac II running AU/X, but I have had no luck on a Sun4/60.  The "make World"
>seems to be fine, but when doing a "make install", the C compiler dumps
>core in the cfbbitblt.c file.  The actual error is:
>
>...
>making ddx/mfb
>making ddx/cfb
>rm -f cfbbitblt.o
>cc -c -O -I. -I../../include -I../../.././X11 -I../mfb -DINCLUDE_ALLOCA_H  cfbbi
>tblt.c
>cc: Fatal error in iropt: Illegal instruction (core dumped)
>*** Error code 1
>
>Does anyone have any insite into this compiler error?
>
>Thanks in advance
>
>Steve Smith
>University of Illinois, Microbiology
>smith@origin.life.uiuc.edu

I'm having the same problem.  I found a patch for the cfb directory on the
'official' X11R3 update tape, but it didn't help.  Can someone out there 
help?

/------------------------------------------------------------------------------\
 Mark Horstman                                            PHONE: (314) 235-3417 
 Information Systems - Southwestern Bell Telephone          FAX: (314) 235-4610
 One Bell Center, Room 24-V-03, St. Louis, MO  63101-3099

pcg@rupert.cs.aber.ac.uk (Piercarlo Grandi) (12/19/89)

In article <8912121932.AA25369@xenon.lcs.mit.edu> keith@EXPO.LCS.MIT.EDU (Keith Packard) writes:

   R3 cfbbitblt.c was particularily nasty to compilers.  It expands
   a several-hundred line cpp macro 16 times; which breaks many optimizers
   (including the SPARC).  My PMAX spent several hours compiling this one
   file, as it didn't have the requested 40 meg of physical memory.

Would not it be easier to turn the several hundred line macro
into a procedure, or, if there is a hot path in the macro, maybe
a macro that only contains it and the rest packaged off in a function?

There has been a lot of discussion in comp.lang.c/c++ on inlining, and
I wonder if there was any real reason for the extensive use of very large
macros in the server. Any significant speedup?

   R4 won't have these problems (and will be "just a bit" faster).

What did you do to it? Offlined the macros, offlined them selectively, ????
--
Piercarlo "Peter" Grandi           | ARPA: pcg%cs.aber.ac.uk@nsfnet-relay.ac.uk
Dept of CS, UCW Aberystwyth        | UUCP: ...!mcvax!ukc!aber-cs!pcg
Penglais, Aberystwyth SY23 3BZ, UK | INET: pcg@cs.aber.ac.uk