Supported platforms

  • SLF7
    • Binary distributions are available
    • Any Centos 7 based release is expected to work

"Supported" means that art builds are actively supported on these platforms, that the code runs and works as intended, and that we distribute source and binary installs of art and all the products on which it depends.

Best Effort

  • Ubuntu LTS 18:
    • Best-effort support for Ubuntu LTS 18 is available with e17 and e19 builds.

Known to work

"Known to work" means that we know of someone who has succeeded in building art and the products on which it depends on the listed platforms, and that it purportedly runs as intended, but that we do not support builds or distributions for these platforms. There may also be some issues with some parts of the suite (e.g., some things runs while others crash). Sometimes, unofficial binary or source installs are available, but they are to be used at your own risk (i.e., please do not report any problems you encounter to us).

Porting efforts in progress

"Porting effort in progress" means that art code management intends to move to listed platform into the "Supported platforms" category, and is in the process of making that happen.

List of platforms under consideration

The ultimate list will be determined in consultation with the experiments and as available effort allows.

List of platforms under consideration is intended to provide a list of other platforms that have been mentioned as possible targets for future porting efforts, but where no decision has been made or timescale set unless noted otherwise.

  • Other non-SL linux distributions: Suse (maybe)

Run a vm

Expect vagrant packages and/or docker images to be available in the near future. This is always an option if your platform is not supported.

One possible problem with Docker containers is that 'ups flavor' uses uname to identify the platform on which you're running. Under Docker, the kernel reported has nothing to do with the image and the SL upon which it is based. The solution that usually works is to set the environment variable UPS_OVERRIDE in the Dockerfile. The setting that has worked for SLF6 is "-H Linux64bit+2.6-2.12" A list of ups flavors is supplied in in the short names table.

ups override

  • Ubuntu
    • Note: To use an existing LTS 16 build, you may need to set ups override. This may be done by one of two methods:
      • Set the UPS_OVERRIDE environmental variable.
         export UPS_OVERRIDE="-H Linux64bit+4.4-2.23" 
      • Provide a file in your product directory. This is specific to each host. If you have a shared volume, you will need to do this for each machine. To use this "source <product_directory>/setup".
        echo "-H Linux64bit+4.4-2.23" > <product_directory>/ups_OVERRIDE.`hostname`

No longer supported

  • SLF6
    • The reference system is SLF6 (see the Fermi Linux site for details.)
    • Binary distributions available
    • Any SL6-based release is expected to work
  • macOS Sierra
    • We are able to provide releases that are built with SIP disabled. Support is not available for machines which have SIP enabled.
    • The build and use of these releases also requires a homebrew keg only install of openssl.
    • Problems have been reported (see #17529) when attempting to use the Xcode debugger. If you "unsetup python", the Xcode debugger should work.
  • OSX Yosemite
    • "Starting from Nov. 10, 2017, any Mac computer running macOS Yosemite (v10.10) will be blocked from accessing the Fermilab network."
    • Fermilab offers limited support for scientific applications under Mac OSX. (See the SCD policy statement here) While core LArSoft and experiment production code is tested and works, some products used by LArSoft (e.g., ifdhc) may offer functionality under SL that is not available under any given flavor of OSX.
    • Notice about building: If you are building art and supporting products from source, please move other product providers such as homebrew out of the way (e.g. sudo -i mv /usr/local{,.safe}). The presence of some packages under /usr/local can result in non-portable builds of packages such as ROOT due to an ability to auto-configure for found features.
  • macOS 10.13 High Sierra
  • macOS 10.14 Mojave
  • Ubuntu14 (u14).
    • Note: As of Dec 2015, LArSoft made a formal request to begin official support for Ubuntu. Implementing this request requires new SCD resources, which LArSoft has requested. See issue #11124 for details.
    • Best-effort support for Ubuntu 14.04 LTS is available as of Jan 2016.
  • Ubuntu LTS 16:
    • Best-effort support for Ubuntu LTS 16 is available as of April 2017 with gcc 6.3.0 (e14) builds.

Short names

Binary distributions are identified by short mnemonics.

mnemonic description ups flavor status
slf5 Scientific Linux 5.x Linux64bit+2.6-2.5 no longer supported
slf6 Scientific Linux 6.x Linux64bit+2.6-2.12 supported
slf7 Scientific Linux 7.x Linux64bit+3.10-2.17 supported
d12 Darwin+12 Darwin64bit+12 no longer supported
d13 Darwin+13 - OSX Mavericks Darwin64bit+13 no longer supported
d14 Darwin+14 - OSX Yosemite Darwin64bit+14 no longer supported
d15 Darwin+15 - OSX El Capitan Darwin64bit+15 no longer supported
d16 Darwin+16 - macOS Sierra Darwin64bit+16 no longer supported
d17 Darwin+17 - macOS High Sierra Darwin64bit+17 best effort with SIP disabled
d18 Darwin+18 - macOS Mojave Darwin64bit+18 best effort with SIP disabled
u14 Ubuntu LTS 14 Linux64bit+3.19-2.19 no longer supported
u16 Ubuntu LTS 16 Linux64bit+4.4-2.23 known to work
u18 Ubuntu LTS 18 Linux64bit+4.15-2.27 best effort