Compilers at cs.uleth.ca

updated 2004-OCT-25

Compilers available

SUN Workshop University Editions 4.2, 5.0, and 6.2

pascal(25 licenses - edition 4.2 only)
C(25 licenses)
C++(25 licenses)
fortran 77(25 licenses)
fortran 90(25 licenses)

Additional related software

sparcworks(25 licenses)
visual (GUI builder)(25 licenses)
performance libraries(25 licenses)
mpmt: loop tool, lock lint, thread analyzer(25 licenses)

Other limited license compilers

COBOL (ACUcobol)(25+2 licenses)
modula-2 (Gardens Pt)(125 licenses)

Also available under unlimited license

C (gnu)
C++ (gnu)
modula-2 (Mocka) (but use Gardens Pt mod 2 instead)
oberon
prolog (Bin Prolog)
smalltalk (gnu and Apple Research Laboratories)
lisp (clisp?), elisp

Setup and usage hints:

Set appropriate environment variables in your .profile (ksh users).

PATH

For SUN workshop include:/usr/local/SUNWspro/bin

which must come before /usr/ccs/bin (otherwise you'll be using UCB utilities instead) These settings will get you the most current Workshop tools (which does not include Pascal). To use the older Sun Workshop, include /opt/SUNWspro/bin in your PATH before the /usr/local/SUNWspro/bin entry.

For COBOL include:/usr/local/cobol/bin
For mod2 (Gardens Pt) include:/usr/local/bin
For mod2 (Mocka) include:/usr/local/mocka/bin
For C, C++ (gnu) include:/usr/local/bin
(put this after SPARCworks' /usr/local/SUNWspro/bin)

MANPATH

For SUN workshop include:/usr/local/SUNWspro/man

LD_LIBRARY_PATH

For SUN workshop include:/usr/local/SUNWspro/lib

In fact, this path should be as short as possible.

Recommended: LD_LIBRARY_PATH=/usr/local/SUNWspro/lib:/usr/openwin/lib

(since anything more will slow down program initialization.) Users of the older Workshop edition should use /opt instead of /usr/local in these paths.

GCC_INCLUDE_DIR

C (gnu) set:/usr/local/lib/gcc-lib/sparc-sun-solaris2.7:/usr/openwin/include

M2LIB

/usr/local/m2/oldlib, use only if you want old mod2 libraries

M2SYM

/usr/local/m2/oldsym, use only if you want old mod2 syx files

To invoke the compilers use the following

C (SPARCworks)cc
C (gnu)gcc
C++ (SPARCworks)CC
C++ (gnu)g++
COBOLccbl (run executable with: runcbl)
fortranf77
f90
mod2 (Garden Pt)gpm build gpmake
mod2 (mocka)mc
oberonoberon Oberon
prologbp
smalltalkgst
(text-only interpreter; must have image file present in working dir)
squeak Squeak1.23.image
(must have copy of image in working directory)

Debuggers

Workshop debuggerdebugger <filename>
workshop (see "Sun Workshop" below)
Source codedbx
Assemblyadb
Gnugdb

Additional documentation

Documentation should NOT be printed - too long!

oberon

oberon(1)           Read man entry BEFORE starting oberon!

prolog

bp(1), /usr/local/prolog/doc

smalltalk

  • /usr/local/info (gst: use "info /usr/local/info/gst.info")
  • /usr/local/squeak: README files and online help within squeak
  • See also /usr/local/gst/smalltalk-tutorial.ps

SUN workshop

Use Sun's online documentation suite at http://docs.sun.com/ab2

SUN workshop

Users of the SUN compilers should note that a graphics user interface exists to various programming tools. The debuggers for the SUN compilers when used via this graphical user interface are far superior to the character based debuggers like gdb. Another tool that is far superior to character based tool is File Merge (a version of diff). All these tools are bundled into "workshop". For more info see the "sparcworks" info page.

For the SUN compilers, the license is available for a few minutes after you get it. If all licenses are being used, the compilation request will be queued. If you have a "make" that extends beyond a few minutes the make may hang till you get a license back.
For applications where the graphics based tools are not usable (for example, students using C from VT320's), consider using the non-SUN alternatives, such as gcc.

To see who is using what licenses: /usr/local/flexlm/bin/lmstat -a

Or to see for a specific SUN compiler add -xlicinfo to the compile command options.