🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: gnu.ghostscript.bug
2 messages
2 total messages Started by Ray Bellis Fri, 20 Nov 1992 15:29
Compile error building GhostScript 2.5.2 on MIPS DEC OSF/1
#535
Author: Ray Bellis
Date: Fri, 20 Nov 1992 15:29
30 lines
1618 bytes
I've been trying to build gs252 on a DECstation 5000/120 (MIPS)
running DEC/OSF 1 (v1.0).  I'm using the unix-cc makefile as the
DEC ANSI compiler is too verbose and strict to compile the software
at all.  Anyway, the problem is that the compiler won't compile
gdevmem1.c, with the compiler itself failing with a segmentation
violation:

% cc -v -c gdevmem1.c
/usr/lib/cmplrs/cc/cfe -DLANGUAGE_C -Dunix -Dmips -Dhost_mips \
-D__LANGUAGE_C__ -D__unix__ -D__mips__ -D__host_mips__ -D_CFE \
-D__osf__ -D__DSO__ -DSYSTYPE_BSD -D_SYSTYPE_BSD -DMIPSEL _D__MIPSEL__ \
-I/usr/include2.20 -Xv -EL -Xg0 -O1 -std0 -XS/tmp/ctmst013103 \
gdevmem1.c > /tmp/ctmf013103
cfe: Fatal: gdevmem1.c: Segmentation violation

Does anyone know what might cause this, and how it might be fixed?

Thanks,

Ray.


--
------------------------------------------------------------------------------
R. P. Bellis				E-Mail:	<rpb@psy.ox.ac.uk>
Dept. of Experimental Psychology	Whois:	(RB83)
University of Oxford			Tel:	+44 865 271419
South Parks Road			Fax:	+44 865 310447
Oxford OX1 3UD
------------------------------------------------------------------------------
Re: Compile error building GhostScript 2.5.2 on MIPS DEC OSF/1
#551
Author: Gerry Magennis
Date: Mon, 23 Nov 1992 17:21
85 lines
4572 bytes
In article <RPB.92Nov20102930@brain.psy.ox.ac.uk>, rpb@psy.ox.ac.UK
(Ray Bellis) writes:

>I've been trying to build gs252 on a DECstation 5000/120 (MIPS)
>running DEC/OSF 1 (v1.0).  I'm using the unix-cc makefile as the
>DEC ANSI compiler is too verbose and strict to compile the software
>at all.  Anyway, the problem is that the compiler won't compile

It's bad, isn't it :-)

>gdevmem1.c, with the compiler itself failing with a segmentation
>violation:
>
>% cc -v -c gdevmem1.c
>/usr/lib/cmplrs/cc/cfe -DLANGUAGE_C -Dunix -Dmips -Dhost_mips \
>-D__LANGUAGE_C__ -D__unix__ -D__mips__ -D__host_mips__ -D_CFE \
>-D__osf__ -D__DSO__ -DSYSTYPE_BSD -D_SYSTYPE_BSD -DMIPSEL _D__MIPSEL__ \
>-I/usr/include2.20 -Xv -EL -Xg0 -O1 -std0 -XS/tmp/ctmst013103 \
>gdevmem1.c > /tmp/ctmf013103
>cfe: Fatal: gdevmem1.c: Segmentation violation
>
>Does anyone know what might cause this, and how it might be fixed?
>
>Thanks,
>
>Ray.
>
>
>--
>------------------------------------------------------------------------------
>R. P. Bellis				E-Mail:	<rpb@psy.ox.ac.uk>
>Dept. of Experimental Psychology	Whois:	(RB83)
>University of Oxford			Tel:	+44 865 271419
>South Parks Road			Fax:	+44 865 310447
>Oxford OX1 3UD
>------------------------------------------------------------------------------

I've been waiting for this one to come up.  I had the problem about 3 weeks
ago, composed a post for this group with the above sort of info, went to post
it and my NNTP server had timed out.  I then spent literally ages trying all
the compiler debug switches to get some/any kind of useful output.  After
greping through .5 Mbytes of compiler parser/syntax analyser output (oh what
a hero I hear you cry), I still hadn't a clue.  In a fit of inspiration I read
the code and noticed the comments about compilers having problems with casts
for the COPY_FUNCTION emunerated type.  I've never programed in C before so
the following fix is a pure hack, no flames please.

BTW, I went to post this code fragment after I'd found the fix but my NNTP
server timed-out and lost the post again so I gave up in despair, lets hope
this one get through!

In the switch statement at the end of gdevmem1.c, replace the copy_left
and copy_right emunerations with their actual numeric values (4 and 0).

------------ 515 ---------------------------------- 515 -----------------------
   case copy_or + copy_left:        |    case copy_or + 4 /* + copy_left */:
     prefetch_left; goto uor;       |      prefetch_left; goto uor;
   case copy_or + copy_right:       |    case copy_or /* + copy_right */:
------------ 521 ---------------------------------- 521 -----------------------
   case copy_store + copy_left:     |    case copy_store + 4 /* + copy_left */:
     prefetch_left; goto ustore;    |      prefetch_left; goto ustore;
   case copy_store + copy_right:    |    case copy_store /* + copy_right */:
------------ 527 ---------------------------------- 527 -----------------------
   case copy_and + copy_left:       |    case copy_and + 4 /* + copy_left */:
     prefetch_left; goto uand;      |      prefetch_left; goto uand;
   case copy_and + copy_right:      |    case copy_and /* + copy_right */:
-------------------------------------------------------------------------------

Number of difference sections found: 3
Number of difference records found: 9


The problem has been logged with DEC, its a brain dead compiler.  Funnily
enough this all compiles fine on Alpha OSF/1 :-) but then I get all those nasty
run time segmentation violations ... any kind soul out there got fixes for this
one?

-Gerry

-------------------------------------------------------------------------------
Gerard Magennis | Logica Industry Ltd, London UK | Internet: gerry@logica.co.uk

     "Born to drive, learned to walk later" - Californian bumper sticker
     "Reality is a rather negotiable state" - Alan Rudolph
     (now if some kind soul would only loan me a video of Choose Me ...)
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads