Skip to content

InstallationLegacy

danieldietsch edited this page Oct 22, 2020 · 1 revision

Legacy Download and Installation

Before 2020-10-21, Ultimate used Java 8 and it was necessary to use additional steps. These are detailed here. This page explains how you setup a development environment for Ultimate. If you only want to produce a binary and use some of the tools, please have a look at Build and Usage.

Prerequisites

  • Eclipse IDE for RCP and RAP Developers 4.16 / 2020-06
    Note: the default Eclipse version is not sufficient.
    Note: you need to use 4.16 because it is the latest version that supports Java 1.8
  • Java JDK (1.8)
    Note: Java JRE is not sufficient.
    Note: Currently, Java > 1.8 will not work.
  • Optional: Maven (>3.0)
    Only needed if you want to build Ultimate from the command line.
  • A cloned repository of Ultimate
    Note: Parts of the repository use very long paths. Check our troubleshooting section git clone fails because paths are too long beforehand.

Prepare Eclipse

When you first start Eclipse, create some workspace (not the Ultimate Workspace). You need to prepare Eclipse first, or else it will mess up your Ultimate Workspace settings.

You need additional software installed in Eclipse. Install it via Help -> "Install New Software..."

  • Select the sources "Work with".
    The entry is called as your Eclipse version, e.g., Oxygen - http://download.eclipse.org/releases/oxygen.
    • C/C++ Development Tools
    • C/C++ Development Tools SDK
  • Goto Window -> Preferences -> Maven -> Discovery -> Open Catalog. Search for Tycho Configurator and install it.
  • Optional components for developing Ultimate's web frontend
    • JST Server Adapters
    • JST Server Adapters Extension
    • Eclipse Java EE Developer Tools
    • WAR Products (Incubation)
    • Equinox Target Components
    • Eclipse Java Web Developer Tools
    • Eclipse Web Developer Tools

Create Ultimate workspace

Create a workspace:

  • Eclipse asks you to choose a workspace at startup. Use the directory <ULTIMATE>/trunk/source. If the "Workspace Launcher" dialog is not shown, it can be found by selecting "File -> Switch Workspace".

Set preferences in your new workspace:

  • Prevent creation of .gitignore files (see first item here).
  • Set Ant properties:
    • Open the dialog "Window -> Preferences -> Ant -> Runtime".
    • Go to the tab "Properties" and add the following property if it is not already there (:=):
      • workspacedir:=${workspace_loc}

Import all Ultimate plugins:

  • Choose "File -> Import -> General -> Existing Projects into Workspace".
  • In "Select root directory", use the directory<ULTIMATE>/trunk/source. In "Projects", a list of available projects should appear.
  • Keep everything selected (you can uncheck plugins starting with Web*).
  • Click "Finish".
  • If plugins starting with Web* have been selected, Eclipse may propose to install "jsNature". You can ignore that.

Now the "Package Explorer" should be filled with the new projects. If you imported projects starting with Web*, you can usually close them because they will report errors and are not relevant for most users.

If you cannot build Ultimate because some of the projects have errors (errors in projects starting with Web* are not problematic), check the Troubleshooting section.

Create run configuration

  • Open the project BA_SiteRepository.
  • Open the file Debug-E4.product.
  • In tab Overview, section Testing:
    • Click Synchronize.
    • Click Launch an Eclipse application.

As a result, Ultimate with Debug View should start and you should have an entry in your Run Configurations and Run History (accessible via the Run menu) that you can use to run Ultimate from here on.

Close Ultimate and edit the Run Configuration you just created to extend the PATH variable with a path to the SMT solvers we supply.

  • Open the tab Environment.
  • Press button Add...
  • Add a new variable name PATH and enter as value the absolute path on your filesystem to the folder releaseScripts/default/adds.
  • Save your changes.

Different configurations (e.g., command line or CDT plugin) can be run in the same way, just select another .product file.

Custom VM arguments (e.g., more memory)

  • Open the "Run"->"Run Configurations..." dialog.
  • Open the tab "Arguments".
  • Write in field "VM Arguments": -Xmx4096M -Xms1024M.
    • The first argument sets the maximum heap size to 4096M (megabyte) and the second one the initial heap size to 1024M.
    • Never forget the M, otherwise Java uses bytes.
  • -agentlib:hprof=depth=7,cpu=samples can be used for profiling.
  • for more options see http://stas-blogspot.blogspot.de/2011/07/most-complete-list-of-xx-options-for.html or
    • use java -XX:+PrintFlagsFinal to print available -XX options.
    • More diagnostic and experimental options can be added to list with following options:
      • -XX:+UnlockDiagnosticVMOptions
      • -XX:+UnlockExperimentalVMOptions (for Sun)

Next steps

See Usage for working with the developer GUI.
See Eclipse-Settings for more settings recommendations of Eclipse.
See CodingConvention for our coding conventions.

Note

Whoever introduces new developers: Do not forget to add her/him to the Ultimate mailing list (see Add developers).

Clone this wiki locally