Ticket 252 anyone?

cd $LSST_MYDEVEL/DMS/
mkdir matplotlib
cd matplotlib
# get the source from http://internap.dl.sourceforge.net/sourceforge/matplotlib/matplotlib-0.98.3.tar.gz
tar -xzvf matplotlib-0.98.3.tar.gz 
mv matplotlib-0.98.3 src
mkdir matplotlib-0.98.3
cd src/
setup python

Now I have to make sure I do this right. I had a look at numpy for guidance, in particular  here. Not sure what pysetup means but I presume its an alias for python setup.py install. So...

python setup.py install --home=$LSST_MYDEVEL/DMS/matplotlib/matplotlib-0.98.3
# numpy 1.1 or later is required; you have 1.0.1
cd ../../
mkdir numpy
cd numpy/
# get source from http://internap.dl.sourceforge.net/sourceforge/numpy/numpy-1.1.1.tar.gz
tar -xzvf numpy-1.1.1.tar.gz
mv numpy-1.1.1 src
mkdir numpy-1.1.1
cd src
python setup.py install --home=$LSST_MYDEVEL/DMS/numpy/numpy-1.1.1
cd ../numpy-1.1.1
mkdir ups
cp $NUMPY_DIR/ups/numpy.table ups/
eups declare -c -r $PWD numpy 1.1.1
setup numpy

cd ../../matplotlib/src/
python setup.py install --home=$LSST_MYDEVEL/DMS/matplotlib/matplotlib-0.98.3
cd ../matplotlib-0.98.3
mkdir ups
cp $NUMPY_DIR/ups/numpy.table ups/matplotlib.table
eups declare -c -r $PWD matplotlib 0.98.3
setup matplotlib

And, for testing...

python
>>> import pylab
>>> pylab.show()
   AttributeError: 'NoneType' object has no attribute 'tk'

OK, we have problem because my ~/.matplotlib/matplotlibrc file asks for

backend       : TkAgg 

so I will need to figure out what backend (if any) I got built for me... Info  here. Well thats strange, I try...

python /home/becker/python/pylab_examples/pylab/subplot_demo.py -dTkAgg

and it works, so...

OK, its because I did not plot anything. A full example :

>>> import numpy
>>> import pylab
>>> pylab.hist( numpy.random.random(1000) )
>>> pylab.show()

DONE

(Note : matplotlib includes pytz and dateutil these days)


Building the current ip_diffim trunk :

cd $IP_DIFFIM_DIR/
scons
   #src/ImageSubtract.cc:801: error: no matching function for call to 'lsst::afw::math::LinearCombinationKernel::LinearCombinationKernel(constlsst::afw::math::KernelList<lsst::afw::math::Kernel>&, lsst::afw::math::Function2<double>&)'
   # looks like the first thing that needs to be updated is the afw
cd $LSST_MYDEVEL/DMS/
svn co svn+ssh://svn.lsstcorp.org/DMS/afw/trunk afw_trunk
cd afw_trunk/
eups declare -c -r $PWD afw trunk
setup afw
scons
   # wowo, I got hundreds of warnings
   # and in the end a terminal error of
   # examples/generate.cc:4:23: error: vw/Mosaic.h: No such file or directory

And

becker19: ls $VW_DIR/include/vw/
   config.h*  Core/  Core.h  FileIO/  FileIO.h  Image/  Image.h  Math/  Math.h  vw.h
becker20: echo $VW_DIR/
   /lsst/lsst_root_dms/Linux64/external/vw/1.0.1+3/

Old versions of VW had include/vw/Mosaic.h. Not this one. Need to report this. Or do I? VW is being phased out...


Anyways, it failed on the examples, meaning I hope it got as far as building the lib. Try re-building ip_diffim.

cd $IP_DIFFIM_DIR/
setup afw
scons
   # still problems; I guess ip_diffim trunk is out of synch with afw trunk.

Ah, its a trick. I had to "setup detection", but in $DETECTION_DIR/ups/detection.table I see "setupRequired(afw 3.0)" meaning it reverted me to the old version. I should be able to "setup detection" and then "setup afw" and be in business...

NO, not to be, I can't fool this build system... I get

scons
   # Error: Failed to find/use detection library in /lsst/lsst_root_dms/Linux64/detection/3.0/lib
   # Failed to find a valid version of detection --- check config.log

Fine, lets get the detection trunk then...

cd $LSST_MYDEVEL/DMS/
svn co svn+ssh://svn.lsstcorp.org/DMS/detection/trunk detection_trunk
cd detection_trunk/
eups declare -c -r $PWD detection trunk
   # thankfully ups/detection.table only says "setupRequired(afw)"
setup detection
scons
   # by the way, many of the unit tests are failing in detection, this is not supposed to happen right?  doesn't affect me i suppse.
   # this worked!  first success here

Back to ip_diffim. It Ess-consd. Whew...


Not that this doesn't preclude any problems with afw...

Traceback (most recent call last):
  File "testKernelModel.py", line 6, in <module>
    import lsst.afw.image as afwImage
  File "/lsst/lsst_root_dms/Linux64/base/3.1/python/lsstimport.py", line 53, in load_module
    return imp.load_module(fullname, fd, filename, desc)
  File "/lsst/becker/lsst_devel/DMS/afw_trunk/python/lsst/afw/image/__init__.py", line 3, in <module>
    from imageLib import *
ImportError: No module named imageLib

Ah, its back to the problem with building "afw". The file $AFW_DIR/SConstruct has

for d in (
    "doc",
    "examples",
    "include/lsst/afw",
    "lib",
    "python/lsst/afw/detection",
    "python/lsst/afw/display",
    "python/lsst/afw/image",
    "python/lsst/afw/math",
    "tests",
):
    SConscript(os.path.join(d, "SConscript"))

Why put examples before lib..??? What is the logic of the order of this? If examples dies nothing happens. There should be a convention here...

Ahh, according to RHL, a "scons -k" will skip past these problems. Anyways, commenting out "examples" allowed afw to build completely.


OK, back to running things. And... LAPACK...!

** On entry to DGESDD, parameter number  8 had an illegal value
IndexError: svd(): LAPACK driver gesdd reported an error with argument 8.

The problem is vw/1.0.1+3/include/vw/Math/LinearAlgebra.h. It needs to be replaced on 64-bit platforms with a new one that swaps int -> long int.