[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

KRoC (occam) for Linux released ...

A version of the KRoC (occam) system for Linux PCs is available from:


Scroll down the page until you see the links to:

  KRoC 1.0.3 beta BINARY distribution for Linux x86 glibc 1


  KRoC 1.0.3 beta BINARY distribution for Linux x86 glibc 2

Thes are *binary* releases because we do not own copyright on all the
source codes making up this distribution and do not have permission
to make them public.  We are working to make this possible.  We would
very much like occam to be `open source', especially now that it lives
in the Linux world!

Because this is a binary release, it is necessary that you pick up
a version that matches whatever version of the GNU glibc library you
have installed on your machine.  Newer versions of Linux require you
to pick up the "glibc 2" release, older ones the "glibc 1".  We just
tried installing it on a Linux machine that had a "Developer's" version
of glibc ... and it didn't work.  So it looks like we'll have to make
a third binary release for that one day ... sigh ...

As instructed on the web page, unpack your donwloaded .tar.gz file with
the command:

  tar xpfz <file-name-ending-in>.tar.gz

The "p" is important to preserve file permissions.  To install, do
whatever it says in the INSTALL file (in the top-level directory just

Then, from that top-level directory, type:


This will compile *lots* of stuff for you, including a directory of
course materials that we use at Kent to support our teaching.  Please
check out these materials!  Amongst other things are utility libraries
for robust interactive i/o, plus all the basic `legoland' demonstrator

Change to the "examples" (or "course/examples") directory and try executing
one of the programs - they should all be compiled.  If this works,
you downloaded the right glibc version.  If you get nothing or a core dump,
delete the entire directory structure you just created and go get the other

Note: the course libraries are pre-loaded into the standard area searched
by the KRoC compiler to find libraries.  This means that you don't need
to set up an OCSEARCH environment variable to point at the "course/lib"
directory.  On the other hand, the "kroc" shell script is a general one
and does not automatically link in those course libraries when building
its final executable.  This means that you must tell it to do so.  So,
to compile a file "foo.occ" that #USEs any of the course libraries,
you just have to tell "kroc" to link them in - i.e.:

  kroc foo.occ -lcourse

To build your own libraries, you will need to set the search path defined
by OCSEARCH in order for the compiler to be able to find them.  This is
the same for all KRoC implementations.

So, kroc for Linux and Solaris should work the same.  For most modern PCs
(say above 200 MHz) kroc should seem much faster (especially for compilation)
than kroc for other systems.  This is because it compiles via the ETC-code
route (i.e. from occam source to Michael Poole's "Extended Transputer Code"
and, then, to target ".o" code with no intermediate assembler text files).

If anyone runs into trouble installing or using KRoC/Linux, please mail us:


as soon as possible!  Many thanks,

Peter Welch.