Previous Up Next

Chapter 2  Installation

CCured works on Linux and MS Windows (Win95 operation is unreliable but Win98 and (highly recommended instead) Win2k or WinXP should work). CCured might also work on other systems that use gcc, but we have not tried it.

CCured is somewhat sensitive to the version of the compiler that you are using. More precisely, CCured is sensitive to the format of the system include files that you are using. When you install CCured it will create slightly modified copies of some of the system include files. These copies are created based on some patches that we distribute with CCured. If your include files are different from those that we used to create the patches then the CCured installation might fail. At the moment we have tested CCured with the following compilers: Some of the system include files that CCured depends on are really part of the standard library. CCured has been tried with the following versions of glibc: glibc-2.2.3, glibc-2.2.5, glibc-2.2.93, and glibc-2.3.2. To find out the version of your glibc you can run /lib/libc.so.6 on Linux.

If you want to use CCured on Windows then you must get a complete installation of cygwin (make sure you install the development tools such as gcc and ld as well and the perl interpreter) and the source-code Ocaml distribution and compile it yourself using the cygwin tools (as opposed to getting the Win32 native-code version of Ocaml). You will need Ocaml release 3.08 or higher to build CCured. If you have not done this before then take a look here. (Don't need to worry about cvs and ssh unless you will need to use the master CVS repository for CCured.)

2.1  Get the CCured sources

Download the CCured distribution (latest version is distrib/ccured-1.3.5.tar.gz). See the Section 13 for recent changes to the CCured distribution.

2.2  Configure and Compile CCured

Run the following commands in the top level directory. If you are using Windows then at least the configure command must be run from within bash.
./configure
make
make quicktest (optional)
cd test
make testrun/hello INFERBOX=infer
The configure script tries to find appropriate defaults for your system. You can control its actions by passing the following arguments: The last line in the above sequence of commands will apply CCured (and then run the result) on the file test/small1/hello.c. (See the test/Makefile for the sequence of commands.)

It is possible that you get a configuration error saying that certain patterns did not match. This means that your standard include files are different than those that we have prepared the distribution for. (See the above discussion.) Your recourse in this case is either to install one of the versions of the compiler that we tested CCured for or to extend the patch files so that they match your includes. It is not hard, and it is explained in the patcher documentation.

After running make you have built a few executables (in the obj directory) and have configured the bin/ccured Perl script. If you want to move this script to another directory (e.g. to /usr/local/bin) make sure to copy the CilConfig.pm file to the same directory.

Now you can continue with a tutorial (Chapter 3), or you can jump ahead and find out how to run CCured (Chapter 4).

2.3  Test CCured

Once you have built CCured you can run
make quicktest
This will run a few small examples.


Previous Up Next