A version of the KRoC (occam) system for Linux PCs is available from: http://www.hensa.ac.uk/parallel/occam/projects/occam-for-all/kroc/ Scroll down the page until you see the links to: KRoC 1.0.3 beta BINARY distribution for Linux x86 glibc 1 and: 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 created). Then, from that top-level directory, type: make 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 processes. 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 version! 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: ofa-bugs@ukc.ac.uk as soon as possible! Many thanks, Peter Welch.