, ,

Turns out that SmartEiffel has not been a part of the Ubuntu repositories since Dapper, per this bug report. The version of SmartEiffel in CVS is 2.4, the most current is 2.3.

However, to this day the problem remains: SmartEiffel will not compile under Ubuntu direct from source. The Ubuntu bug report states FTBFS (which turns out to mean Fails To Build From Source – clear, eh?).

The fix is to remove optimization from the configuration – switching the flags from -O2 to -O1. Follow these steps to get SmartEiffel working:

  • Unpack the archive and change into the directory it creates.
  • Add ${PWD}/bin to the current path: export PATH=${PWD}/bin:$PATH
  • Run make interactive.
  • Press the Enter key to get the menu.
  • Select item 2 (Choose the C compilers and options for each C mode).
  • Choose boost (the normal default)
  • Change the C compiler options and the C++ compiler options from using -O2 to using -O1
  • Return to the previous menu.
  • Return to the previous menu (again).
  • Choose Write the configuration file to disk.
  • Now choose Install SmartEiffel.

Making these changes should result in a successful build of SmartEiffel. However, despite the success, this does not in actuality install SmartEiffel into /usr/local or other recommended locations; it remains in the current directory.

To actually install SmartEiffel into the system, you’ll have to copy items over yourself. I’ll have more when I figure this out; SmartEiffel is perfectly usable after configuring your path and building from source as described here. Java compilation (that is, compiling Eiffel code to Java JVM code) still appears to have problems, though.