OK, so its taking forever to get a distributable DMS build system ready. I need to start debugging my gstat code. Meaning I need to dig in and start grabbing all this by hand. An email from Nic stated she got the following to build

base
utils
daf/base
pex/logging
pex/exceptions
pex/policy
daf/persistence
security
daf/data
ctrl/events
afw
pex/harness
detection 

I am presuming there is an implicit ordering to this; so the ordering is the correct order I'll need to download and install things. For all these, I do

svn co svn+ssh://svn.lsstcorp.org/DMS/XXX/trunk XXX
cd XXX
eups declare -c -r $PWD XXX trunk
becker42: cd $BASE_DIR/
/lsst/becker/lsst_devel/DMS/base

becker43: scons
scons: Reading SConscript files ...
AttributeError: 'NoneType' object has no attribute 'path':
  File "/lsst/becker/lsst_devel/DMS/base/SConstruct", line 15:
    import lsst.SConsUtils as scons
  File "/lsst/becker/lsst_devel/DMS/base/python/lsstimport.py", line 35:
    for d in sys.path:

Nice, just like the good ole days where nothing works, not even step 1...

It turns out I have an svn version of scons. Not a tagged version. Nic is using v1.18. I need to figure out how to get this. Ah, I left a trail of breadcrumbs for myself in BeckerBlog073107. It still points to DC2. I presume this should be moved and sent a mail out about this.

Oh yeah, turns out I shouldn't have to worry about it (thanks Russ!).

lsstpkg fetch scons 
lsstpkg fetch sconsUtils

BUT

becker53: lsstpkg fetch scons
eups distrib -i -C scons

Installing 1.18 of scons
INFO : Modifying current.chain for termcap 1.3.1 (flavor: Linux64)
INFO : Modifying current.chain for tcltk 8.5a4 (flavor: Linux64)
INFO : Modifying current.chain for readline 5.2 (flavor: Linux64)
INFO : Modifying current.chain for python 2.5 (flavor: Linux64)
INFO : Modifying current.chain for sconsDistrib 0.97 (flavor: Linux64)
Package [/lsst/lsst_root_new/Linux64:LSST:sconsUtils-1.18] not [installed]:
    scons: Reading SConscript files ...
AttributeError: 'NoneType' object has no attribute 'path':
  File "/lsst/lsst_root_new/Linux64/external/build/SConsUtils-1.18/SConstruct", line 9:
    import lsst.SConsUtils as scons
  File "/lsst/becker/lsst_devel/DMS/base/python/lsstimport.py", line 35:
    for d in sys.path:
Pacman failed to install LSST:sconsUtils-1.18

OK, so why is scons trying to access base. Part of the problem is I can't build base with my current scons! I feel a catch-22 coming on here...

Well, anyways, its good to know that scons does exist in the DMS package now at http://dev.lsstcorp.org/trac/browser/DMS/devenv/sconsUtils, so devenv/sconsUtils.

svn co svn+ssh://svn.lsstcorp.org/DMS/devenv/sconsUtils/trunk devenv/sconsUtils
cd devenv/sconsUtils
eups declare -c -r $PWD sconsUtils trunk
# AND NOW THIS WORKS!
lsstpkg fetch scons

OK, couplea tricks in that one. Moving on...


Scons

NOTE: I did

    87  15:05   lsstpkg remove scons 1.16
    88  15:06   lsstpkg remove scons v1.12.1
    93  15:06   lsstpkg remove scons svn
# and then
   101  15:07   lsstpkg remove sconsUtils v1.12.1
   103  15:07   lsstpkg remove sconsUtils svn
   104  15:08   lsstpkg remove sconsUtils 1.16

and setup -l sconsUtils now complains that

WARNING: table file /lsst/lsst_root_new/Linux64/sconsUtils/1.16/ups/sconsUtils.table is invalid or unreadable (referenced in /lsst/lsst_root_new/ups_db/sconsUtils/1.16.version)
WARNING: table file /lsst/lsst_root_new/Linux64/sconsUtils/svn/ups/sconsUtils.table is invalid or unreadable (referenced in /lsst/lsst_root_new/ups_db/sconsUtils/svn.version)
WARNING: table file /lsst/lsst_root_new/Linux64/sconsUtils/v1.12.1/ups/sconsUtils.table is invalid or unreadable (referenced in /lsst/lsst_root_new/ups_db/sconsUtils/v1.12.1.version)

and they are still declared!

   1.16
   1.18
   svn
   trunk                 Current Setup
   v1.12.1

I verify that the files are gone from /lsst/lsst_root_new/Linux64/sconsUtils/. Have a look at e.g. /lsst/lsst_root_new/ups_db/sconsUtils/1.16.version

becker116: more /lsst/lsst_root_new/ups_db/sconsUtils/1.16.version
FILE = Version
PRODUCT = sconsUtils
VERSION = 1.16
#***************************************
FLAVOR = Linux64
QUALIFIERS = ""
   DECLARER =
   DECLARED = Tue Aug 21 17:29:16 2007
   MODIFIER =
   MODIFIED = Tue Aug 21 17:29:16 2007
   PROD_DIR = Linux64/sconsUtils/1.16
   UPS_DIR = $PROD_DIR/ups
   TABLE_FILE = sconsUtils.table
#***************************************

becker117: ls /lsst/lsst_root_new/Linux64/sconsUtils/
 1.18/

So the files are really gone and eups is confused. I don't know why these ups_db files were not removed. I will do them by hand and bug RHL about this.

becker98: cd /lsst/lsst_root_new/ups_db/sconsUtils/
becker101: rm 1.16.version svn.version v1.12.1.version

becker118: setup -l sconsUtils
   1.18
   trunk                 Current Setup

Back to building the build system... STILL DOES NOT WORK!!!!

becker79: cd $BASE_DIR/
 /lsst/becker/lsst_devel/DMS/base

becker80: setup scons 1.18

becker81: setup sconsUtils 1.18

becker82: scons
 scons: Reading SConscript files ...
 AttributeError: 'NoneType' object has no attribute 'path':
   File "/lsst/becker/lsst_devel/DMS/base/SConstruct", line 15:
     import lsst.SConsUtils as scons
   File "/lsst/becker/lsst_devel/DMS/base/python/lsstimport.py", line 35:
     for d in sys.path:

Fine, I will file ticket #358....