Offline Tutorial:dybinst

From Daya Bay

Jump to: navigation, search

This topic shows the steps for using dybinst.

dybinst

Get the main script, dybinst

It is very important to always get a new copy of dybinst that corresponds to the release you wish to build (or rebuild) as bug fixes may have been included. This is especially true if you are tracking the trunk "rozz" release.

Get dybinst for rozz-0.0.4

You can download dybinst script for rozz-0.0.4 release, as an example, from here:

http://dayabay.ihep.ac.cn/svn/dybsvn/installation/branches/inst-rozz-0.0.4/dybinst/dybinst

Get dybinst for trunk release "rozz"

The version that will track the trunk release "rozz" is here:

http://dayabay.ihep.ac.cn/svn/dybsvn/installation/trunk/dybinst/dybinst

Run dybinst

To run it to build everything just do:

./dybinst all

To get help do

./dybinst help

As this help explains, you can have fine grained control over the build. In particular, you can build the externals packages.

Monitoring the build

The dybinst script will print very short messages to the screen, but it will keep a very verbose log file. Each time it runs it makes a new log file based on the date:

dybinst-YYYMMDD-HHMMSS.log

A useful trick to monitor the most recent log file is to run:

sh -c 'tail -f $(ls -tr *.log|tail -1)'

Debug version

You can create a debug version of the software, including some exernal packages, by simply adding "-g".

./dybinst -g all

External packages

The external packages are non-gaudi, non-dayabay, non-lhcb software written by others. This includes Geant4, ROOT, Python, etc. All the externals that dybinst know about will be printed with "./dybinst help".

External install scripts

Each external package has a script that you can find in

.dybinst/scripts/

after the

./dybinst checkout

has been run. These scripts are written to populate the

external/

directory in a way that is expected by the "glue" packages in

<release>/lcgcmt/LCG_Interface/

The scripts are typically written to download, build and install the package, but some may optionally try to use existing packages. Although the full build from source can take a while, it is recommended.

Running just one install script

You can install individual external packages. For example Geant4 can be installed by doing:

./dybinst external geant4
Personal tools