The Gaudi Project

Gaudi v21r4

Package Versions

GaudiN/AGaudiObjDescN/AHbookCnvv15r0
GAUDI_v21r4v21r4GaudiPIN/ALCGEnvN/A
GaudiAlgv12r3 GaudiPolicyv10r2 RootHistCnvv10r2
GaudiAudv9r1 GaudiPoolDbv5r4 GaudiReleaseN/A
GaudiExamplesv21r4 GaudiPythonv10r4 GaudiGridSvcN/A
GaudiGSLv7r3 GaudiSiteSvcN/AGaudiMonitorv2r3
GaudiHistoryN/AGaudiSvcv18r4
GaudiKernelv27r4 GaudiSysv21r4

Release Notes

Externals version: LCGCMT_56c

General changes

  • Added support zipped python directories in InstallArea.

    The directory InstallArea/python is automatically compressed (at build time) in InstallArea/python.zip. The compression allows only .py files in the archive, so this may break some packages. The solution is to replace the non-python files with python modules.

    The creation of the archives cannot be disabled, but the plain directories are always accessible and can be used instead of the archives using the CMT tag no-pyzip, for example to do some debugging.

    More details in the notes of GaudiPolicy.

    (Marco Clemencic)
  • Disabled the creation of static libraries (-no_static). Available since cmt v1r20p20090520.
    (Marco Clemencic, Hubert Degaudenzi)
  • Modified the behavior of the python module Configurables to match standard python semantics (see the comments in the package).
    (Marco Clemencic)

Packages Changes

  • GaudiKernel (v27r4):
    • Patch #2979: Modified version of file GaudiKernel/Hash.h
      (Vanya Belyaev)
  • GaudiAlg (v12r3):
    • Patch #3182, patch #3134: Extensions to implement a CounterSummarySvc in LHCb.
      (Rob Lambert)
  • GaudiPython (v10r4):
    • Patch #3152: Adapting GaudiPython to new null pointer semantic of ROOT 5.22.00c. At the same time tried to load the necessary ostream and stringstream from the beginning avoiding some spurious problems (fixes bug #28426).
      (Pere Mato)
    • Fixed bug #53514: The local symbol "HID" is not defined.
      (Vanya Belyaev)
    • Patch #3091: Class for easy saving of GaudiPython histograms.
      (Juan Palacios)
    • Patch #3134:
      • Some polishing of GaudiPython.GaudiAlgs module and related modules
      • More handles for interactive algorithm inspection (GaudiPython)
      Detailed description in GaudiAlg/doc/patch_3134.html
      (Vanya Belyaev)
  • GaudiPolicy (v10r2):
    • Use the special name for LCG-distributed compiler always. (removed the exception on ATLAS)
      (Marco Clemencic)
    • Added the C++ flag "-Wno-empty-body" to hide the warnings from XercesC.
      (Marco Clemencic)
    • Added the tag "no-hide-warnings" to re-enable the warnings disabled because coming from external libraries.
      (Marco Clemencic)
    • The scripts merge_files.py, ZipPythonDir.py and genconfuser.py can now be synchronized with a "global lock file" defined with the environment variable GAUDI_BUILD_LOCK (needed when using tbroadcast or equivalent).
      (Marco Clemencic)
    • Modified the QMTest pattern to force the creation of the QMTest directory (needed to call qmtest) during the build, so that it becomes part of the distribution. It also required a restructuring of run_qmtest.py.
      (Marco Clemencic)
    • Support for zipped python directories.

      The InstallArea/python directory is replaced, in PYTHONPATH, by InstallArea/python.zip. The old directory is still present and used to generate the .zip file or for debugging (can be used at run-time specifying the CMT tag "no-pyzip").

      The use of .zip files increases significantly the speed of the configuration of an application (when using configurables).

      Since .zip files can only contain python files, it is not possible to store anything else under InstallArea/python path.

      The current implementation re-creates the .zip file during the build of each package, so re-compressing files already in the original .zip, which can become a problem with very large projects. A merge feature would be welcome, but it has to allow also the removal of the files that have been removed from the original python directory (a la install.py). Note that the current implementation of the module "zipfile" does not allow replacement or removal.

      This, implicitly, addresses bug #39868 because the .pyc files are automatically generated during the zipping step to be included in the .zip file.

      See PEP-0273 for more information.
      (Marco Clemencic)
  • Gaudi (v21r4):
    • Modified the the code behind from Configurables import MyConf to match the standard Python semantics: raise an exception if the configurable is not found.

      The meta-module "Configurables" should be deprecated in favor of "Gaudi.Configurables", that can also be used as in:

      import Gaudi.Configurables as cfgs
      cfgs.MyConf
      
      The exception for missing configurables can be disabled with
      import Gaudi.Configurables
      Gaudi.Configurables.ignoreMissingConfigurables = True
      
      (done by default in genconfuser.py for backward compatibility).

      (Marco Clemencic)