Rootcore < Atlascomputing < Twiki

Rootcore < Atlascomputing < Twiki

Table of Contents RootCore.............................................................................................................................................................1 Introduction........................................................................................................................................................2 If Something Goes Wrong......................................................................................................................2 Individual Build Commands.............................................................................................................................4 Setting up RootCore................................................................................................................................4 Setting up Root on Lxplus and Tier 3 Sites......................................................................................5 Setting up RootCore on MacOS.......................................................................................................5 Compilation Commands.........................................................................................................................5 Package Management.............................................................................................................................6 Code Commit and Tag Creation.......................................................................................................8 Miscellaneous Commands......................................................................................................................8 Using RootCore................................................................................................................................................10 Enabling Cintex for Athena Releases...................................................................................................10 Linking Binaries With Your Packages.................................................................................................10 Running on the Grid.............................................................................................................................11 Submitting Multiple Datasets with the Same Tarball....................................................................11 Testing Your RootCore Installation for Grid Submission..............................................................12 Working With Releases On The Grid............................................................................................12 Using Grid Submission Scripts for Batch Submission...................................................................12 Centrally Provided Data Files...............................................................................................................13 Adapting Your Package to RootCore............................................................................................................15 Package Layout.....................................................................................................................................15 Package Makefile..................................................................................................................................16 Generating Dictionaries........................................................................................................................17 Using Reflex Dictionaries..............................................................................................................17 Compiling with -pedantic.....................................................................................................................18 Can't We Make -pedantic The Default?.........................................................................................18 Optional Dependencies.........................................................................................................................18 Dual-Use Packages...............................................................................................................................19 Using External Libraries.......................................................................................................................19 Using Boost Libraries.....................................................................................................................19 Using LHAPDF Library.................................................................................................................20 RooUnfold......................................................................................................................................20 CLHEP...........................................................................................................................................21 CMake............................................................................................................................................21 Bayesian Analysis Toolkit (BAT)..................................................................................................21 FastJet.............................................................................................................................................21 Hans Boehm Garbage Collector.....................................................................................................22 Detecting Other Packages.....................................................................................................................22 Package Auto-Configuration................................................................................................................23 Unit Tests..............................................................................................................................................24 Binary Releases................................................................................................................................................25 Other New Features..............................................................................................................................26 Determining the package name at compile time............................................................................26 Improved Unit Tests.......................................................................................................................26 Root Glue Package................................................................................................................................26 Internal Structure of the Glue Package...........................................................................................27 Downloading Calibration/Data Files....................................................................................................27 Visible Changes For Existing Users.....................................................................................................28 i Table of Contents Binary Releases Known And Anticipated Issues............................................................................................................28 Migration from RootCore to cmake...............................................................................................................30 Migrating unit tests...............................................................................................................................30 Known Issues....................................................................................................................................................31 Common Problems...............................................................................................................................31 Feature Requests...................................................................................................................................31 ii RootCore Comment: page moved from AtlasProtected to the Atlas web, other topics also will be moved. RootCore 1 Introduction RootCore is a package that helps developers build packages that work standalone (outside Athena). It works both for packages that are ROOT-only and for packages that work with both Athena and ROOT. RootCore is meant to make life easier for all parties involved: • the package developer has an easier life, because he no longer has to maintain his own makefile, • the package user has an easier life, because packages have a standard build prescription and are more likely to build without problems and • the support group has an easier life, because the build process is more standardized and problems can often be addressed centrally. The basic creation of a RootCore environment is straightforward. RootCore depends on ROOT, so ensure that ROOT is accessible: the environment variable ROOTSYS should beset, and the ROOT bin directory should be in the PATH. Suppose you have a list of all the packages that you need in the file packages.txt, then you can set up your entire RootCore environment with the following lines: mkdir packages cd packages svn co svn+ssh://svn.cern.ch/reps/atlasoff/PhysicsAnalysis/D3PDTools/RootCore/tags/`svn ls svn+ssh://svn.cern.ch/reps/atlasoff/PhysicsAnalysis/D3PDTools/RootCore/tags | tail -n 1` RootCore source RootCore/scripts/setup.sh rc checkout packages.txt rc find_packages rc compile That's it. If you want a little more control over what goes on, you will find descriptions of how to do each step that build does in the document below. Please note that you have to repeat the last command in each session you want to use RootCore and

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    34 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us