Platforms supported by Ganga

Ganga is not platform dependent but some of the external component are (for example PyQt, experiment software, Grid UI,...). Our main target are main users: CERN community and big LHC experiments. Therefore we develop and test Ganga on platforms typical for this environment (called the default platforms). For the users of default platforms we provide automatic installation and configuration tools. Users on other platforms may use the external component pre-compiled on one of the default platforms if they are compatible, or install and configure the externals separately, or rely on the packages installed by default in their operating system.

Below, there is information useful for taking decision which platforms can be considered as default platforms.

As far as mid2006 and release 4.2, we develop and test ganga on CERN's default platform (lxplus): SLC3 However as of beginning of 2007 CERN has moved to the SLC4 platform (details below).

Default platforms and architectures

The platform strings:
name comments
slc3_ia32_gcc323 32bit, old lxplus nodes, most of Grid WNs, also abbreviated as slc3_gcc323
slc4_amd64_gcc345 64 bit, most of lxplus nodes (however the default complier is gcc346)
slc4_ia32_gcc345 32 bit, some desktops (for example Intel Pentium4 with 32 bit version of SLC4 installed

There are two separate 64 bit architectures: amd64 is different than ia64. The amd64 is used to describe several Intel processors as well (for example Pentium4). The ia64 architecture is not widely used at CERN for the time being so we ignore it.

Most of Ganga externals which have been compiled on slc3_ia32_gcc323 may run on SLC4 platform (slc4_amd64_gcc345 and slc4_ia32_gcc345) BUT the 32bit python interpreter must be used. In the case of GangaGUI the 32bit version of Python2.3 is specified as an external component and setup automatically at Ganga startup (via the re-exec mechanism in Ganga/Runtime/bootstrap.py). This assures that the 32bit libraries such as Qt are loaded OK. In other cases (GangaLHCb,GangaAtlas), the python interpreter which is currently in the PATH is used. The PATH may be (and actually is) messed-up by many other tools such as: LCG UI setup, DQ2 setup, cmt. In such a case we do not have a way of automatically determining the platform/architecture and loading of some ganga externals (e.g. python extension modules) may be problematic.

Additional problem occurs for some external components (such as PyCurl used by DQ2 in GangaAtlas) which may not work correctly across the SLC3/SLC4 boundary.

There are two solutions to this problem:

  • fix a given 32-bit python version, specify it as a dependency and always do the re-exec trick (this however may not help in the SLC3/SLC4 boundary problem)
  • whenever possible, use the default python interpreter (from the system or from the PATH) and try to detect the platform/architecture to setup the externals correctly

If the automatic platform detection is implemented we could use the following strategy:

  • use platform module (available in python2.3+) to detect the platform
  • if platform module not available, use /etc/issue to detect the Linux distribution and sys.maxint to determine the 32 or 64 bits

In principle the same mechanism could be used by ganga-install to find out the platform string automatically. If the platform cannot be determined, then it would just assume the most typical one (for example scl4_ia32_gcc345).

Current CERN platform SLC4

  • CERN platform: SLC4 Python2.3.4/gcc3.4.5
    • Ganga seems to run OK (also GUI)
    • Problem with help text. Monitor progress of bug12854.
    • testing machine: lx32slc4.cern.ch
  • ATLAS moving to Python 2.4 (mid2006)
    • The ATLAS login scripts do not seem to affect the Python versions i.e. the local version is used. But if you set up the runtime environment in addition with: source $SITEROOT/AtlasOffline/12.0.1/AtlasOfflineRunTime/cmt/setup.sh you pick up Python v2.4.2

Other popular distributions

name Python gcc status comments contributor
FC5 2.4.3 gcc 4.1.1 OK default Qt installation. GangaPlotter requires installation of python-matplotlib ulrik
FC3 2.3.4 gcc 3.4.4      
OSX 10.3 (Panther) 2.3 gcc3.3   See Mac OS X note below.  
OSX 10.4 (Tiger) 2.3.5 gcc4.0   See Mac OS X note below. Ready made dmg images are also available for Python2.4.3/gcc4.0.1  
SL4.3 2.3.4 3.4.5  
SLC 3.0.6 2.2.3 3.2.3
OpenSuse 10.0 2.4.1 4.0.2
Debian stable 2.3.5 3.3.5 Next Debian release (end of 2006) will have python 2.4.x and gcc 4.1.x
Debian testing 2.3.5 gcc 3.3.5
Debian unstable python 2.3.5 gcc 4.1.2 many distros (Ubuntu) based on Debian testing/unstable.
FC5 2.4.2 gcc 4.1.0 hclee

LCG environment:

  • If the grid environment script is sourced using /afs/cern.ch/project/gd/LCG-share/sl3/etc/profile.d/grid_env.sh, Python v2.3.4 is replaced by v2.4.2 (Alvin)
  • If you setup the LCG/gLite 3.0 UI, you usually setup Python 2.2.3 ... (Johannes)

Mac OS X specifics:

  • download Ganga without the GUI dependencies i.e. without the argument --extern=GangaGUI.
  • have the PyQt toolkit already installed (compiled from source, use a fink version or download a prebuilt dmg image) and visible in Python before running Ganga.
  • modify the first line of the ganga script from #!/usr/bin/env python to #!/usr/bin/env pythonw.

-- AlvinTan - 09 Aug 2006 -- JakubMoscicki - 09 Aug 2006

Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r5 - 2007-02-26 - JakubMoscicki
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    ArdaGrid All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback