Day 5; While the above is true, its actually good that Tim is spending enough time in the guts of the code that he's probably aware of the detailed deficiencies. So DM is not unawares. Good enough for me.
Anyways, we have Ess-cons working. Lets see if we can get it to go.
becker235:cd $LSST_DEVEL/ becker239:cd DC2/ becker241:cd scons/ becker244:scons scons: Reading SConscript files ... Checking if CC is really gcc...yes Checking for C++ header file Python.h... yes Checking for C++ header file boost/version.hpp... yes Checking for C library boost_filesystem:C++... no Checking for C++ header file vw/Core.h... no Checking for C header file vw/Core.h... no Checking for C library vw:C++... no Checking for C++ header file fitsio.h... yes Checking for ffopen() in C library cfitsio... no Checking for C++ header file wcs.h... yes Checking for wcscat() in C library wcs... yes Checking for C++ header file xpa.h... no Checking for C header file xpa.h... no Checking for XPAPuts() in C library xpa... no Error: Failed to find boost -- do you need to setup boost or specify boost=DIR? Failed to find vw/Core.h in None Failed to find visionWorkbench -- do you need to setup visionWorkbench or specify visionWorkbench=DIR? Failed to find cfitsio -- do you need to setup cfitsio or specify cfitsio=DIR? Failed to find xpa.h in None Failed to find xpa -- do you need to setup xpa or specify xpa=DIR?
I clearly need to deal with src/SConscript. I see from a locate SConscript check the file DC2/scons/tests/SConscript with the line env.Program(["Mask_1.cc"], LIBS=env.libs["vw"]). So I probably need to do something like this for each file in src. I do a quick svn update to make sure I have the most recent files (Tim keeps trucking on MaskedImage.cc!).
Well, I went ahead and setup cfitsio (nothing else would setup; no versions had been declared 'current'). But the cfitsio stuff still failed with a slightly different error message
Failed to find cfitsio in /lsst/lsst_root/Linux/external/cfitsio/3006/lib Failed to find cfitsio -- do you need to setup cfitsio or specify cfitsio=DIR?
I will try and download the missing packages
becker277:eups distrib -i -C boost
Installing 1.33.1 of boost
Product Termcap (version 1.3.1, flavor Linux) is already declared
Product TclTk (version 8.5a4, flavor Linux) is already declared
Product readline (version 5.2, flavor Linux) is already declared
Product Python (version 2.4.2, flavor Linux) is already declared
Package [boost-1.33.1] found in [LSST]...
Package [/lsst/lsst_root/Linux:LSST:boost-1.33.1] not [installed]:
/lsst/lsst_root/Linux/external/eups/v0_7_29/bin/setups.sh: line 17: /lsst/lsst_root/Linux/eups/bin/eups_setup: No such file or directory
/lsst/lsst_root/Linux/external/eups/v0_7_29/bin/setups.sh: line 17: source: filename argument required
source: usage: source filename [arguments]
Pacman failed to install LSST:boost-1.33.1
Whoah, this should not happen, I presume... Ah, I think I see what happened. When RHL installed eups he by default put it in /lsst/lsst_root/Linux/eups, which by no small coincidence is where eups is looking for setups.sh. Then he moved it to /lsst/lsst_root/Linux/external/eups/ by hand. I am guessing that eups did not know that it was moved.
Ah, this is causing all sorts of problems now. I started a new shell, hoping to start over from scratch on all this.
becker1:setupLSST PYTHONPATH: Undefined variable. # bad sign number 1 becker2:eups eups: Command not found. # bad sign number 2 becker3:setup eups You are attempting to run "setup" which requires administrative privileges, but more information is needed in order to do so. Password for root: becker4:which setup /usr/bin/setup becker5:where setup /usr/bin/setup /usr/sbin/setup
So we are conflicting with the preinstalled setup program. If I go to my pre-existing shell
becker283:which setup setup: aliased to source `/lsst/lsst_root/Linux/external/eups/v0_7_29/bin/eups_setup setup !*`
I see that the path to eups is coming into play again. I bet that this is screwed up in the guts somehow. Well, the hack is to
becker284:cd /lsst/lsst_root/Linux/ becker286:ln -s external/eups # NO THIS DOES NOT WORK; NEED eups/bin becker291:ln -s external/eups/v0_7_29 eups
So, a new shell still does not work when I setupLSST, which by the way is an alias to source $LSST_ROOT/Linux/loadLSST.csh. Can I install boost with this?
becker293:eups distrib -i -C boost
Installing 1.33.1 of boost
Product Termcap (version 1.3.1, flavor Linux) is already declared
Product TclTk (version 8.5a4, flavor Linux) is already declared
Product readline (version 5.2, flavor Linux) is already declared
Product Python (version 2.4.2, flavor Linux) is already declared
Using PYTHON_DIR=/lsst/lsst_root/Linux/external/Python/2.4.2
Package [/lsst/lsst_root/Linux:LSST:boost-1.33.1] not [installed]:
Failure attempting to [cd /lsst/lsst_root/Linux/$THIRDPARTY_BUILD] at [/lsst/lsst_root/Linux].
Pacman failed to install LSST:boost-1.33.1
So we have 3 problems right now:
- source $LSST_ROOT/Linux/loadLSST.csh : is failing due to some PYTHONPATH issue; I can probably fix this one
- eups distrib -i -C boost : is looking for eups executables in the wrong place. I am going to undo my symlink and appeal to RHL for a fix
- if I symlink eups to what I think is correct, I am missing environment variable $THIRDPARTY_BUILD
A. Have traced this back to the new installation of eups. Script loadLSST.csh sources $LSST_HOME/external/eups/latest/bin/setups.csh. I see...
becker309:diff $LSST_HOME/external/eups/latest/bin/setups.csh $LSST_HOME/external/eups/v0_7_26-rlp/bin/setups.csh
3,5d2
< if ("$?PYTHONPATH" == "1" ) then
< setenv PYTHONPATH `echo $PYTHONPATH | perl -pe "s|:$EUPS_DIR/bin||g"`
< endif
8c5
< setenv EUPS_DIR /lsst/lsst_root/Linux/eups
---
> setenv EUPS_DIR /lsst/lsst_root/Linux/external/eups/v0_7_26-rlp
17d13
< setenv PYTHONPATH ${PYTHONPATH}:$EUPS_DIR/bin
Ahhh. Changing EUPS_DIR might also solve problem B. Anyways, I suggest the following change to eups/latest/bin/setups.csh to solve A.
if ("$?PYTHONPATH" == "1" ) then
setenv PYTHONPATH ${PYTHONPATH}:$EUPS_DIR/bin
else
setenv PYTHONPATH $EUPS_DIR/bin
endif
B. Robert has trickily enacted the appropriate change for this while I was not looking. Luckily I have enough lines in my terminal buffer..!
WAS : setenv EUPS_DIR /lsst/lsst_root/Linux/eups IS NOW : setenv EUPS_DIR /lsst/lsst_root/Linux/external/eups/v0_7_29
So, RHL has made the changes A/B in the 'official' eups repository. Which, by the way, is a Princeton SDSS 'CVS' repository, not LSST 'SVN'. So I can't make any changes to it myself.
C. Not sure where this is supposed to be set, but I can do it manually. Where is this supposed to be set? RHL : This is Ray or pacman weirdness. On to RP! He suggests trying
becker329: cd /lsst/lsst_root/Linux
becker330: pacman -uninstall LSST:boost-1.33.1
becker331: eups distrib -i -C boost
Installing 1.33.1 of boost
Product Termcap (version 1.3.1, flavor Linux) is already declared
Product TclTk (version 8.5a4, flavor Linux) is already declared
Product readline (version 5.2, flavor Linux) is already declared
Product Python (version 2.4.2, flavor Linux) is already declared
Using PYTHON_DIR=/lsst/lsst_root/Linux/external/Python/2.4.2
Package [/lsst/lsst_root/Linux:LSST:boost-1.33.1] not [installed]:
Failure attempting to [cd /lsst/lsst_root/Linux/lsst/lsst_root/Linux/external/build] at [/lsst/lsst_root/Linux].
A slightly different error now - /lsst/lsst_root/Linux ends up twice in the path..? Ray suggested going back to the previous version of eups, since he hasn't signed off on v0_7_29 yet. So...
becker332:setup eups v0_7_26-rlp
becker333:eups --version
Version: v0_7_26
becker334:pacman -uninstall LSST:boost-1.33.1
becker335:eups distrib -i -C boost
Installing 1.33.1 of boost
Product Termcap (version 1.3.1, flavor Linux) is already declared
Product TclTk (version 8.5a4, flavor Linux) is already declared
Product readline (version 5.2, flavor Linux) is already declared
Product Python (version 2.4.2, flavor Linux) is already declared
Using PYTHON_DIR=/lsst/lsst_root/Linux/external/Python/2.4.2
Package [/lsst/lsst_root/Linux:LSST:boost-1.33.1] not [installed]:
Failure attempting to [cd /lsst/lsst_root/Linux/lsst/lsst_root/Linux/external/build] at [/lsst/lsst_root/Linux].
Pacman failed to install LSST:boost-1.33.1
Not yet.
SConscript : A search of Trac shows no local web page on this - would be nice to have examples. But, there are tons available through a Google search. E.g. this one.
