JULY 8, 2003

References

Alan Jonckheere's Instructions

Experiences

I am installing the D0 code (p15 version in this example) on a Redhat 9.0 system at Simon Fraser University in June/July 2003.

The D0 code is a ups/upd product just like any other...except it is really big and depends on a lot of other packages :-). The products are called D0RunII and D0RunII-bin (binaries only). The available ones can be listed with

setup upd
upd list -K+ -h www-d0.fnal.gov -a D0RunII
(they are kept on the D0 upd server on www-d0.fnal.gov rather than in the default location) and could be installed with the standard upd install line (for example)
upd install -h www-d0.fnal.gov D0RunII p15.02.00 -q dist -G'-c'

However John Ellison has written a couple of nice scripts to make this easier which I have included in this directory

 get_d0_release.sh p15.02.00 (gets specific release p15.02.00 in this
example)

 get_latest_d0_release.sh (gets latest release - haven't tried this
    one)
Two products will be installed by get_d0_release.sh. You will get all of the libraries (D0RunII product) which will consume about 1Gb of space (~850Mb for p15.02.00) and also the binaries....which will take much more space (~5Gb for p15.02.00).

Now, if you want to do code development and would like to have the source code available you need a couple of more steps. You also need to download and install external products (eg. cernlib) before you can be very useful. First setup the release with the dist qualifier

setup D0RunII p15.02.00 -q dist
then fetch the source code.
${SRT_PUBLIC_CONTEXT}/D0reltools/fetchpkgs.sh 
finally, attempt to automatically find and download all of the needed external products.
${SRT_PUBLIC_CONTEXT}/D0reltools/fetchprod.sh

Now it should be possible to setup this release and use it. However, when I tried this I saw

ERROR: Found no match for product 'corba_util'
ERROR: Found no match for product 'python_dcoracle'
ERROR: Action parsing failed on "unsetuprequired(python_dcoracle)"
ERROR: Found no match for product 'cern'
ERROR: Action parsing failed on "unsetuprequired(cern)"
ERROR: Found no match for product 'python'
ERROR: Action parsing failed on "unsetuprequired(python)"
**** setup D0RunII p15.02.00
INFORMATIONAL: Product 'mesa' (with qualifiers ''), has no v3_1_f1 version
(or may not exist)
clearly I was missing a couple of external products. I tried running fetchprod.sh again but it complained about the same products
ERROR: Found no match for product 'cpp'
ERROR: Action parsing failed on "unsetuprequired(cpp)"
ERROR: Found no match for product 'python'
ERROR: Action parsing failed on "unsetuprequired(python)"
WARNING: Unsetup of fnorb failed, continuing with setup
ERROR: Found no match for product 'python'
.
.
.
etc.
So, I guess I should do these ones by hand. It appears that the ones I need are
CERN
----
ups declare -c -z /D0/ups/db cern 2000 -f Linux+2

MESA
----
upd install mesa v3_1_f1 -f Linux+2.2
ups declare -c -z /D0/ups/db mesa v3_1_f1 -f Linux+2.2

PYTHON
------
ups declare -c -z /D0/ups/db python v2_1 -f Linux+2.4

PYTHON_DCORACLE
---------------
ups declare -c -z /D0/ups/db python_dcoracle v2_1_3b_p1_o817ap21 -f
Linux

ORACLE_TNSNAMES
---------------
ups declare -c -z /D0/ups/db oracle_tnsnames v28 -f NULL

CORBA_UTIL
----------
upd install corba_util v1_0_6 -q GCC-3.1 -f Linux+2.4
Ok, now "setup D0RunII p15.02.00" does not complain. What else do we need? Some of the additional packages which are useful include
upd install -h www-d0.fnal.gov d0tools v03-03-29
upd install -h www-d0.fnal.gov d0cvs v1_5
ups declare -c d0tools v03-03-29 -z /D0/usr/db
ups declare -c d0cvs v1_5 -z /D0/usr/db
ups declare -c dddebugger v3_3_1 -f Linux+2.4

At the end of all of this I setup d0tools and ran d0trigsim over 5 ttbar MC events without trouble. I also ran the executable through the debugger, set break points, etc. and everything was fine. However, the libraries were compiled on a RedHat 7.1 machine and I use a Redhat 9.0 machine....and these are not link-compatible. So, I cannot relink executables unless I rebuild the whole release or I wait for D0 to start doing builds under 9.0. I can run prebuilt executables but see messages like

Incorrectly built binary which accesses errno, h_errno or _res
directly. Needs to be fixed.
This does not affect anything.
oneil
Last modified: Tue Jul 8 17:41:38 CDT 2003