🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.sys.sequent
1 messages
1 total messages Started by Simon Marshall Wed, 08 Apr 1992 16:46
SUMMARY: how to build temacs (epoch-4.0) on a Sequent.
#55
Author: Simon Marshall
Date: Wed, 08 Apr 1992 16:46
57 lines
3176 bytes
	A couple of days ago I posted in exasperation a problem I've come
    across while building epoch-4.0 on a Sequent Symmetry S81 running DYNIX
    V3.0.17.10.  What was happening was that temacs was dying, but in two
    different ways, depending on whether I compiled with gcc-2.1
    optimisation on or not:

>./temacs -batch -l ../epoch-lisp/inc-vers
>Please set the environment variable TERM; see tset(1).
>Make[1]: *** [epoch] Error 1
>
>	even though TERM was set.  So I ran under gdb-4.4 and found that
>    SIGTRAP was being generated, apparently straight away:

	Jay Vosburgh (thanks yet again) explained that it was due to an
    improper definition of CRT0_DUMMIES.  I found that when compiling
    without optimisation, it seems gcc-2.1 requires two dummies.  With
    optimisation, one dummy is enough.

	There was one other problem; somehow NULL was being passed to
    memcpy().  Looking at the breakdown, I found that the doprnt() being
    used was not the one supplied with epoch-4.0, but the Sequent one!
    Aarrrgh!  I had had to link with /usr/att/lib/libc.a when linking temacs
    together, to pick up memcpy() et al., and the Sequent's doprnt() was
    hiding in there.  So I extracted the relevant bits temacs needed & built
    my own library.  Hey presto!  All was well.

	So there are a number of points.  "How to build temacs on a
    Sequent".  They will no doubt be applicable to other hosts too.

1.  If you build with gcc-2.*, don't forget to link with the gcc library
    (libgcc.a).  You might need to specify where it is, too.

2.  If temacs complains about TERM not being defined (for example, if you
    build with gcc without optimisation), you may need to define
    CRT0_DUMMIES differently in config.h:

#undef CRT0_DUMMIES
#define CRT0_DUMMIES dummy1, dummy2,

    worked for me.  If you're using the newer ATS cc, you need three dummies
    (end with a comma).

3.  If you get complaints about memcpy() et al. not being around, you need
    to link them in (on our Sequent, /usr/att/lib/libc.a).  Beware, on our
    Sequent this also linked in a completely different version of doprnt()
    than which comes with epoch.  My hack was to extract (using ar) the
    relevant files required from the library, and build my own library with
    them.  Then link in this library when building temacs.

	Then have fun.  Thanks again to those who helped.

	Simon. 
_______________________________________________________________________________
Simon Marshall, Dept. of Computer Science, University of Hull, Hull HU6 7RX, UK
  "Football isn't about life and death.  It's more important than that." Bill
Email: S.Marshall@Hull.ac.uk    Phone: +44 482 465181    Fax: 466666   Shankley
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