`sc' spreadsheet under AIX 3.1

`sc' spreadsheet under AIX 3.1

Post by Jack Le » Fri, 18 Oct 1991 21:56:59



Has anyone ported the `sc' spreadsheet program to run under AIX 3.1?

Jack Levy,
Computer Centre, University College London.

 
 
 

`sc' spreadsheet under AIX 3.1

Post by den » Fri, 18 Oct 1991 21:05:30


I have such error messages while compiling 'sc' under AIX3.1 on an RS/6000,
could anyone point out what's wrong ?  Thanks.

**************************************************************************
        cc -O -DSYSV2 -DCHTYPE=int -DNLS -DBROKENCURSES -DIDLOKBAD   -c screen.c
      539 |     (_tty.sg_flags &= ~0x00000010, _pfast = 1, stty(_tty_ch,
            .....a.............................b................c........
a - 1506-045: (S) Undeclared variable.
b - 1506-045: (S) Undeclared variable.
c - 1506-045: (S) Undeclared variable.
            &_tty));
            .a......
a - 1506-045: (S) Undeclared variable.
make: 1254-004 The error code from the last command is 1.

Make Quitting.
************************************************************

The Makefile is

# Makefile $Revision: 6.19 $
#
# 1) Select the proper EXDIR (path), MANDIR, MANEXT, LIBDIR, SIGVOID,
#       RE_COMP/REGCMP, DFLT_PAGER, and FMOD. Most of the other things aren't
#       normally changed (see the comments with each)
# 2) Select the proper machine/compiler/OS section of code
#       for MS-DOS look for the pattern 'MS-DOS'
# 3) make install
# 4) If you have the command 'file' that uses /etc/magic add the line:
#       38      string          Spreadsheet     sc file

# Specify the name of the program.
# All documentation and installation keys on this value.
#
name=sc
NAME=SC

# This is where the install step puts it.
#EXDIR=/site/bin
EXDIR=/u/deng/bin

# This is where the man page goes.
#MANDIR=/usr/local/src/man/man1 # reno
#MANEXT=1                       # reno
MANDIR=/u/deng/man/man1
MANEXT=l
MANMODE=644

# This is where the library file (tutorial) goes.
#LIBDIR=/usr/local/share/$(name) # reno
#LIBDIR=/usr/local/lib/$(name)
LIBDIR=/u/deng/lib/sc/sc-tutorial

# Set SIMPLE for lex.c if you don't want arrow keys or lex.c blows up
#SIMPLE=
SIMPLE=-DSIMPLE

# Set BROKENCURSES if your curses has the nl/nonl bug
# if it does and you don't set BROKENCURSES, the display will
# be staggered across the screen. Also try IDLOKBAD below.
#BROKENCURSES=
BROKENCURSES=-DBROKENCURSES

# Set DOBACKUPS if you would like a backup copy of a source file on a save
#DOBACKUPS=
#DOBACKUPS=-DDOBACKUPS

# Set INTERNATIONAL if you need 8 bit characters.  You should
# not set this if you are running 5.3.0.  I think it is OK in 5.3.1.
#INTERNATIONAL=-DINTERNATIONAL
#INTERNATIONAL=

# Set SIGVOID if signal routines are type void.
# use: SIGVOID=-DSIGVOID for:
#       System 5.3, SunOS 4.X, VMS, BSD4.4 (reno), and ANSI C Compliant systems
# use: SIGVOID=         for:
#  BSD systems (excluding reno, BSD4.4), and the UNIXPC 'cc'
#SIGVOID=-DSIGVOID
#SIGVOID=

# Set IEEE_MATH if you need setsticky() calls in your signal handlers
#
#IEEE_MATH=-DIEEE_MATH
#IEEE_MATH=

# Set RINT=-DRINT if you do not have rint() in math.h
# Set RINT=     on/with (they have rint):
#       SunOS 4.0.3c compiler
#       BSD4.4 (reno)
#RINT=
#RINT=-DRINT

# Set RE_COMP if you have the re_comp/re_exec regular expression routines
# (most BSD based systems do).
RE_COMP=-DRE_COMP
#RE_COMP=

# Set REGCMP if you have the regcmp/regex regular expression routines
# (most System V based systems do)
#REGCMP=-DREGCMP
#REGCMP=

# This is the name of a pager like "more".
# "pg" may be appropriate for SYSV.
#DFLT_PAGER=-DDFLT_PAGER=\"less\"
DFLT_PAGER=-DDFLT_PAGER=\"more\"      # generic && reno

# this is the name to save back ups in
SAVE=-DSAVENAME=\"$(NAME).SAVE\"

# path to crypt, do not define if you don't have crypt
# most systems
#CRYPT=-DCRYPT_PATH=\"/bin/crypt\"
# BSD
#CRYPT=-DCRYPT_PATH=\"/usr/bin/crypt\"
# other people?
#CRYPT=CRYPT_PATH=\"/usr/local/bin/crypt\"

# If you get errors about fmod being undefined when you try to
# compile, then define NO_FMOD (most likely BSD4.3 and Mt Xinu).
#FMOD=-DNO_FMOD
#FMOD=

# If your system doesn't have notimeout() in curses define NONOTIMEOUT
#NONOTIMEOUT=
#NONOTIMEOUT=-DNONOTIMEOUT

# flags for lint
LINTFLAGS=-abchxv

# *** SPECIAL NOTES ***
# For ULTRIX: define the BSD4.2 section and SIGVOID above
#       t...@cl.cam.ac.uk tested on Ultrix 3.1C-0
# HP-UX 7.0: Do NOT use -O
#       (known broken, try sc's boolean operators if you wish)
#
# **** SYSV curses bugs... ****
# Try setting IDLOKBAD to fix (with an empty spreadsheet):
#       a) Redrawing the bottom half of the screen when you
#               move between row 9 <-> 10
#       b) the highlighted row labels being trash when you
#               move between row 9 <-> 10
#       c) On an xterm on Esix Rev. D+ from eating lines
#                -goto (or move) a few lines (or more) past the bottom
#                of the screen, goto (or move) to the top line on the
#                screen, move upward and the current line is deleted, the
#                others move up even when they should not, check by
#                noticing the rows become 2, 3, 40, 41, 42... (etc).
#       Known systems/terminfos w/ curses problems:
#       {Esix Rev. D+, AT&T SysV3.2.1}:at386-m,xterm, HP-UX7.0:(not sure)
IDLOKBAD=-DIDLOKBAD
#IDLOKBAD=

# If moving right off the screen causes the screen to not redraw
# properly, define RIGHT_CBUG to get around a curses problem on some
# boxes, this forces screen redraws when going right off the screen
#RIGHTBUG=
RIGHTBUG=-DRIGHT_CBUG

# IF you have problems w/ your yacc try bison, Berkeley yacc, or
# some other yacc. Some systems don't allow you to
# increase the number of terminals (mostly AT&T), SCO's does though.
YACC=yacc
#YACC=bison -y

# Command to use to make temporary copies of some source files.
LN=ln
#LN=ln -s
#LN=cp

#### SYSTEM DEFINES ####

# Use this for system AIX V3.1
CFLAGS= -O -DSYSV2 -DCHTYPE=int -DNLS
#LDFLAGS=
LIB=-lm -lPW -lcurses

# Use this for system V.2 (includes: HP-UX 7.05, UNIXPC)
#CFLAGS= -O -DSYSV2
#LDFLAGS=
#LIB=-lm -lPW -lcurses
# with gcc on a Sequent also use:
#CC=att gcc
#CFLAGS=  -DSYSV2 -g -pipe -traditional

# Use this for system V.3
#CFLAGS=  -DSYSV3 -O
#LDFLAGS= -s
#LIB=-lm -lcurses -lPW
# with gcc also use:
#CC=gcc
#CFLAGS=  -DSYSV3 -O -pipe -traditional
#YACC=bison -y

# Use this for system V.4
#CFLAGS=  -DSYSV4 -DSYSV3 -O
#LDFLAGS= -s
#LIB=-lm -lcurses -lgen
# with gcc also use:
#CC=gcc
#CFLAGS=  -DSYSV3 -O -pipe

# Microport
#CFLAGS= -DSYSV2 -O -DUPORT -Ml
#LDFLAGS=-Ml
#LIB=-lm -lcurses -lPW

# Use this for BSD 4.2
#CFLAGS= -O -DBSD42
#LDFLAGS=
#LIB=-lm -lcurses -ltermcap

# Use this for Sequent boxes
#CC=atscc
#CFLAGS=-O -DBSD42
#LDFLAGS=
#LIB=-lm -lcurses  -ltermcap
#PSCLIB=-lseq
# with gcc also use:
#CC=gcc
#CFLAGS= -O -DBSD42 -pipe

# Use this for BSD 4.3
#CFLAGS= -O -DBSD43
#LDFLAGS=
#LIB=-lm -lcurses -ltermcap

# Use this for SunOS 4.X if you have the System V package installed.
# This will link with the System V curses which is preferable to the
# BSD curses (especially helps scrolling on slow (9600bps or less)
# serial lines).
#
# Be sure to define SIGVOID and RE_COMP above.
#
#CC=/usr/5bin/cc
#CFLAGS= -O -DSYSV3
#LDFLAGS=
#LIB=-lm -lcurses

# Use this for system III (XENIX)
#CFLAGS= -O -DSYSIII
#LDFLAGS= -i
#LIB=-lm -lcurses -ltermcap

# Use this for XENIX Version 2.3
#CFLAGS= -O -SSYSIII -DXENIX2_3
#LDFLAGS= -i
#LIB=-lm -lcurses -ltermcap

# Use this for VENIX
#CFLAGS= -DVENIX -DBSD42 -DV7
#LDFLAGS= -z -i
#LIB=-lm -lcurses -ltermcap

# For SCO Unix V rel. 3.2.0
#       -compile using rcc, cc does not cope with gram.c
#       -edit /usr/include/curses.h, rcc does not understand #error
#       -link: make CC=cc, rcc's loader gets unresolved __cclass, __range
#               (rather strange,?)
#CC=rcc
#CC=cc
#CC=gcc -fstrength-reduce
#SIGVOID=-DSIGVOID
#CFLAGS= -O -DSYSV3
#LDFLAGS=
#LIB=-lm -lcurses -ltinfo -lPW
#YACC=yacc -Sm10000

# Use this for SCO Unix 3.2.2 and ODT 1.1
#CC=cc
#CFLAGS= -O -DSYSV3
#LDFLAGS=
#LIB=-lm -lcurses -lPW -lmalloc -lc_s
#YACC=yacc -Sm10000

# Use this for MS-DOS, Microsoft C 5.1 and NDMAKE
#CC=cl
#CFLAGS= -AL -O -Fo$*.o
#LDFLAGS=/noi /st:0x4000
#LIB=lcurses
#YACC=bison -y
#
#.SUFFIXES : .o .c
#.c.o:
#       $(CC) $(CFLAGS) -c $*.c

# All of the source files
SRC=Makefile cmds.c crypt.c eres.sed format.c gram.y help.c interp.c \
        lex.c psc.c range.c sc.c sc.h screen.c sres.sed version.c \
        vi.c vmtbl.c xmalloc.c

# The objects
OBJS=cmds.o crypt.o format.o gram.o help.o interp.o lex.o range.o sc.o \
        screen.o version.o vi.o vmtbl.o xmalloc.o

# The documents in the Archive
DOCS=CHANGES README sc.doc psc.doc tutorial.sc VMS_NOTES torev build.com

all:    $(name) p$(name) $(name)qref

$(name):$(PAR)  $(OBJS)
        $(CC) ${LDFLAGS} ${OBJS} ${LIB} -o $(name)

# Alternative for MS-DOS
#$(name):       $(OBJS)
#       link ${LDFLAGS} ${OBJS},$(name),,${LIB};

gram.c: gram.y
        $(YACC) -d gram.y; mv y.tab.c gram.c

y.tab.h:        gram.y

# Alternative for MS-DOS
#gram.c:        gram.y
#       $(YACC) -d gram.y
#       mv y_tab.c gram.c
#
#y_tab.h:       gram.y

p$(name):       psc.c pvmtbl.o pxmalloc.o
        $(CC) $(CFLAGS) ${LDFLAGS} -o p$(name) psc.c pvmtbl.o pxmalloc.o ${PSCLIB}

qhelp.c: help.c
        -rm -f qhelp.c
        ${LN} help.c qhelp.c

$(name)qref:    qhelp.c sc.h
        $(CC) $(CFLAGS) $(LDFLAGS) -DQREF -DSCNAME=\"$(name)\" -o $(name)qref qhelp.c

pvmtbl.c: vmtbl.c
        -rm -f pvmtbl.c
        ${LN} vmtbl.c pvmtbl.c

pvmtbl.o: sc.h pvmtbl.c
        $(CC) ${CFLAGS} -c -DPSC pvmtbl.c

pxmalloc.c: xmalloc.c
        -rm -f pxmalloc.c
        ${LN} xmalloc.c pxmalloc.c

# Objects

cmds.o: cmds.c sc.h
        $(CC) ${CFLAGS} ${DOBACKUPS} ${CRYPT} -c cmds.c

crypt.o: crypt.c sc.h
        $(CC) ${CFLAGS} ${CRYPT} ${DOBACKUPS} -c crypt.c

format.o: format.c

help.o: help.c sc.h
        $(CC) ${CFLAGS} ${CRYPT} -c help.c

qhelp.o: qhelp.c sc.h
        $(CC) ${CFLAGS} ${CRYPT} -c qhelp.c

interp.o:       interp.c sc.h
        $(CC) ${CFLAGS} ${IEEE_MATH} ${SIGVOID} ${RINT} ${RE_COMP} ${REGCMP} ${FMOD} -c interp.c

gram.o: sc.h y.tab.h gram.c
        $(CC) ${CFLAGS} -c gram.c
        sed < gram.y > experres.h -f eres.sed
        sed < gram.y > statres.h -f sres.sed

lex.o:  sc.h y.tab.h gram.o lex.c
        $(CC) ${CFLAGS} ${SIMPLE} ${IEEE_MATH} ${SIGVOID} ${NONOTIMEOUT} -c lex.c

pxmalloc.o: sc.h pxmalloc.c
        $(CC) ${CFLAGS} -c -DPSC pxmalloc.c

range.o: range.c sc.h

sc.o:   sc.h sc.c
        $(CC) ${CFLAGS} ${DFLT_PAGER} ${SIGVOID} ${SAVE} -c sc.c

screen.o:       sc.h screen.c
        $(CC) ${CFLAGS} ${BROKENCURSES} ${IDLOKBAD} ${INTERNATIONAL} ${SIGVOID} -c screen.c

vi.o: vi.c sc.h

# other stuff

clean:
        rm -f *.o *res.h
...

read more »

 
 
 

`sc' spreadsheet under AIX 3.1

Post by Chin Fa » Sat, 19 Oct 1991 04:58:46


|> I have such error messages while compiling 'sc' under AIX3.1 on an RS/6000,
|> could anyone point out what's wrong ?  Thanks.
|>
My experience with sc is that up to version 6.14, it's always a
straightforward make.  But after v 6.16 was out about a few months
ago, some incompatibilities crept in and it's no longer so easy
to build it on RISC 6000 anymore.  Source code level hacking becomes
necessary.  I have version 6.14 built in less than half an hour,
but version 6.16 took me two hours hacking to get it up on my
model 320. Since we have got SAS now, and it has a very powerful
spreadsheet module, I junked all sc.

Chin Fang

 
 
 

1. Printing 'sc' spreadsheet

Hi,
  How can I get my nice spreadsheet built using the 'sc' program to print? When
I try, the best I get is line after line of label A0 = "such and so"  and so
forth. Can it print out a copy of what I see on the screen?
Thanks
--
Genuine E-mail From the Land of the Everlasting Icicle...
Bob Liesenfeld

2. Soft partitions - more fun

3. Spreadsheet 'sc' source code wanted

4. Reading is much more interesting than TV (1296/1708)

5. spreadsheet sc won't run on RH 5.1

6. passing commad line params to make?

7. SC spreadsheet

8. After adding public RSA key to authorized_keys password still requested at logon

9. who maintains sc spreadsheet?

10. SC spreadsheet for DOS ?

11. x386 sc spreadsheet

12. Why can't KA9Q telnet to AIX 3.1?

13. SC spreadsheet, where is it?