DELPHI-DPHEP The DELPHI software libraries

General information

Since the end of the experiment, the computing landscape has changed dramatically. Central services extensively used by DELPHI are either gone or in the process of being phased out. On the other hands, new services not known previously have popped up, replacing the original once. Examples include: In order to keep things running as long as possible, changes to the environments had to been applied.

Community CERNLIB

In the past, DELPHI software has been shipped with its own version of CERNLIB. Since spring 2022, a community version is becoming available (https://gitlab.cern.ch/dphep) which supports 64bit. Recent versions of the software stack use these sources. Binaries are shipped along with the DELPHI software stack. After the environment has been sourced, the environment variable CERN will point to the location of CERNLIB. In addition, the following environment variables are set (as before):

Most of them are set for backward-compatibility with old code. The search path is setup accordingly, so that things like paw and cernlib can be run just as before.

DELPHI libraries and software stack

DELPHI software has traditionally only been tested in 32bit mode on Linux. As essentially all platforms are 64bit nowadays, all code needs to be cross-compiled for 32bit. The compiler used is gfortran. Default compiler flags for DSTANA are set. 32bit version are still the default, for the time being.

With the switch of the lxplus alias to CC7 in spring 2019, DELPHI libraries are now located on CVMFS, in /cvmfs/delphi.cern.ch. These libraries have been re-created using gfortran, and support for recent Linux flavors has been added. To initialise the environment, all that needs to be done is to source

For DELPHI users at CERN (members of the xx Unix group), the setup is done automatically via the HEPiX scripts, as it used to be before.

Latest binaries from gitlab CI

For the most recent operating system versions supported at CERN, the latest binaries can as well be downloaded as artifacts of the continuous integration (CI) pipelines from https://gitlab.cern.ch/delphi/deployment. This can as well be useful for machines where CVMFS is not available. To do so, navigate to https://gitlab.cern.ch/delphi/deployment/-/pipelines, and check for the latest pipeline. On the right hand side, you can see three dots. Click on them, and choose the version you need for your system. The structure of the stack is described in https://gitlab.cern.ch/delphi/quickstart.

32bit DELPHI software stack on cvmfs (deprecated)

To initialise most recent 32bit versions, please source

64bit DELPHI sofware stack on cvmfs (default)

64bit versions of the DELPHI software stack are available since spring 2022. There are no known issues, however, due to the number of changes, additional validation is appreciated. To initialise most recent 64bit versions, please source

When logging into lxplus at CERN with a DELPHI account, the setup is automatic (via hepix scripts).

Running locally

Running on Linux

You can run the stack either from lxplus.cern.ch or locally. If you are running Linux all you need is

Running on Windows

There are no native Windows builds, neither for CERNLIB nor for the DELPHI stack itself. However, as of Windows 10 you can run Linux binaries on Windows via WSL2. Proceed as follows:

In case you see issues in linking, please check the compiler flags and try to fremove -fPIC if it is present.

Running on Apple

As of the time of writing this document, there are no builds available for Apple. There are requests to build CERNLIB for Apple, however, there are still issues which are to be investigated.

DELPHI software environment variables

After the environment has been setup, the following DELPHI specific variables are setup:

Default compiler flags

Default compilers and compiler flags are stored in the following environment variables when the software stack is initialised. The following environment variables are defined:

Other environment variables

Porting software

When porting software, please review any local settings for the compiler flags you use, and use the above environment variables. These can differ, depending on the operating system and default compiler, which continues to change and require additional flags to make old code compile.


Last modified: Mon Jan 29 14:13 CET 2024