Competition Environment

General

Please first check the general information about the competition programming environment from the Competition Rules.

The main environment for the contest is Linux. Linux is available as a programming environment (specifications below) and also the servers and evaluation (grading) runs on Linux. However, we provide the contestants with dual-boot computers where you can program either in Linux or in Windows environment.

The evaluation is based on source-code submission and the evaluation system compiles the submitted source code. As a consequence, also the programs written in the Windows environment are re-compiled for evaluation in Linux (using the same compiler). This is something that all contestants using Windows must be aware of. For example, uninitialized variables may cause undefined behavior when executing for the evaluation.

We favor fairly standard operating system installations, but we may modify the installations for hardware support and security fixes.

The compilers used in the competition are GCC for C and C++ programs and Freepascal for Pascal programs.

Generally, the installations are designed for the following main alternatives:

  1. Pascal as the programming language, Freepascal compiler, Freepascal IDE or RHIDE IDE.
  2. C/C++ as the programming language, GCC compiler, RHIDE IDE.
  3. Editors (emacs, vim, ...), command-line compilation/debugging, a graphical front end ddd for debugging.

Option 3 is targeted primarily for Linux, although it is possible to use Windows Edit and command-line compilation.

Hardware

The competition computers have Pentium III/650 MHz or better processor, 128 MB or more RAM, a standard UK keyboard, a mouse, and a color screen.

Linux

For Linux, we are using Debian 'sarge' (also known as 'testing'). You can get more information from Debian's home pages at http://www.debian.org.

The kernel used will be 2.4.18 or newer in case of any problems with hardware or system stability. For more information, see http://www.kernel.org.

The packages are chosen by tasksel with the following choices:

For X-windows system, the window manager KDE2 will be available.

Additional packages are chosen by dselect:

GCC on Linux

We use gcc-3.2 which is installed as a part of the Linux Debian 'sarge'.

You can learn about the availability of various GCC versions through http://gcc.gnu.org. If you install a Linux version and include development tools, then you are extremely likely to get a GCC version.

Pascal on Linux

You can get the Freepascal software at http://www.freepascal.org, which shows a number of mirror sites. They are also available as Debian packages. You can install it using dselect. We have installed the full set of Debian packages:

RHIDE for Linux

The Debian woody doesn't contain the RHIDE package. You can download the tarball file from http://www.rhide.com.

Pascal IDE for Linux

The Linux version of the Freepascal IDE is not a part of the official installation and is currently still in beta state. According to our information, it works. We have also tested it ourselves and it has worked. But it seems to be unstable still. You should be able to download it at the development section from http://www.freepascal.org.

Alternatively, you can use RHIDE as a pascal IDE. Freepascal works well with RHIDE. You need to set the option "Option > Environment > Preference > Use FPC pascal compiler".

Linux and Cygwin

You may want to learn about using Linux and do not want to install it. The GNU tools are in the core of the Linux facilities, and you can obtain a much larger collection of them from the DJGPP package (see Windows/gcc). A collection of GNU facilities can also be obtained from http://www.cygwin.com. This Cygwin package has even more of the feel of Linux, as they are being used through the bash shell, which is common in Linux systems.

Note that Cygwin is not a part of the the competition environment.

Windows

We are using Windows 98. You can get information about Windows from http://www.microsoft.com/windows/.

The Windows environment includes vim (gvim-6.2) and emacs (21.3) as well as notepad.

GCC on Windows

The GCC compiler version we are using in the windows environment is GCC 3.22.

WARNING: If you install Freepascal and GCC (e.g. as in DJGPP) in the same Windows installation, be sure to have DJGPP in your path before Freepascal, or GCC won't work. This seems to be because it finds cpp.exe from the pascal binaries and then thinks that the pascal binary directory is the place for its compiler binaries, which it subsequently fails to find.

For Windows, we are using DJGPP. You can find out about DJGPP and downloading it from http://www.delorie.com/djgpp/.

Our current installation includes the following packages:

Pascal on Windows

We installed Freepascal 1.0.6. See http://www.freepascal.org for obtaining a copy. If you install the full version w32106full.zip, you just first unzip the file and run install.exe.

You can use Freepascal with its own IDE, or RHIDE.

Version: June 18, 2003