This site contains older material on Eiffel. For the main Eiffel page, see

My compiled system will not run


I just melted my system but when I try to run it a dialog box appears which reads:

    Makefile.SH is more recent than the system.
    Do you want to compile the generated C code?"


The C code generated during the last compilation was not C-compiled.

This will happen if you are using ISE Eiffel without a C compiler, but you require C compilation because:

    Your Eiffel classes reference some external C functions, which have not been made part of a precompiled library.

    Your Ace file contains an external clause, referencing a C library.


If you do not have a C compiler you will have to comment out any externalclause in your Ace file. You cannot use reference external C functions, except by using a precompiled library that includes these functions.

A related problem

You need a C compiler to run an Eiffel system that uses resource files (as some of the WEL examples do). If you do not have a C compiler, the system will raise an exception if you try to run such a system. This is detailed in a companion page.