wiki:UpdateCorePkgsNov2008
Last modified 11 years ago Last modified on 11/24/2008 12:08:17 PM

Updating Core Packages for lsst 1.0

As part of the afw 3.2 roll-out, we need to update some core packages including:

  • eups 1.1.0
  • scons/sconsUtils 3.2
  • lssteups 1.0
  • lsst 1.0

These correct various bugs and add features needed by afw. Partly because of the bugs that are being corrected and partly because of their role in the center of our software stack, a special procedure is necessary to install them correctly. The recipe, shown below, assumes that your current version of scons/sconsUtils is 1.20. (Certain svn builds since then have a bug that may cause trouble.) If you have a different version marked as current, then you should insert a "setup scons 1.20" after every "setup -v lsst" below. Here's the recipe:

setup -v lsst

# update eups
lsstpkg install eups 1.1.0
switcheups 1.1.0             # see [wiki:UpdatingEUPS] for details
setup eups 1.1.0

# the base installation must be fixed
unsetup base
eups undeclare base 3.1
mv $LSST_PKGS/base/3.1 $LSST_PKGS/base/3.1-1
setup -v lsst

lsstpkg install -C base        # reinstall base

# now update the rest of the packages
lsstpkg install -C lsst

# this is a bug workaround
eups declare -c sconsUtils 3.2 -r $LSST_PKGS/sconsUtils/3.2

setup -v lsst

You can safely ignore the following messages:

Unable to locate a current version of pacman for flavor Linux64
Please use --tag=current next time, not --current/-C
Note:
Depending on the state of your system, scons 3.2 will be installed either when you reinstall base or when you update lsst. In either case, when you finish, you should make sure that both scons and sconsUtils have version 3.2 declared as "Current":
% eups list scons
   1.20      
   3.2          Current Setup
% eups list sconsUtils
   1.20      
   3.2          Current Setup
If either the version 3.2 is not listed or does not have the "Current" flag next to it, run "eups declare" on the errant package:
eups declare -c sconsUtils 3.2 -r $LSST_PKGS/sconsUtils/3.2
eups declare -c scons 3.2 -r $LSST_PKGS/sconsUtils/3.2

Here's what your session should look like (assuming scons gets updated with the lsst package):

% setup -v lsst
Setting up: lsst                            Flavor: Linux64    Version: 0.3
Setting up: |scons                          Flavor: Linux64    Version: 1.20
Setting up: | sconsUtils                    Flavor: Linux64    Version: 1.20
Setting up: | sconsDistrib                  Flavor: Linux64    Version: 0.98.5
Setting up: | |python                       Flavor: Linux64    Version: 2.5.2
Setting up: | | tcltk                       Flavor: Linux64    Version: 8.5a4
Setting up: |lssteups                       Flavor: Linux64    Version: 0.3
Unable to locate a current version of pacman for flavor Linux64
Setting up: |base                           Flavor: Linux64    Version: 3.1
% 
% lsstpkg install eups 1.1.0
% switcheups 1.1.0
% setup eups 1.1.0
% unsetup base
% eups undeclare base 3.1
% mv $LSST_PKGS/base/3.1 $LSST_PKGS/base/3.1-1
% setup -v lsst
Setting up: lsst                            Flavor: Linux64    Version: 0.3
Setting up: |scons                          Flavor: Linux64    Version: 1.20
Setting up: | sconsUtils                    Flavor: Linux64    Version: 1.20
Setting up: | sconsDistrib                  Flavor: Linux64    Version: 0.98.5
Setting up: | |python                       Flavor: Linux64    Version: 2.5.2
Setting up: | | tcltk                       Flavor: Linux64    Version: 8.5a4
Setting up: |lssteups                       Flavor: Linux64    Version: 0.3
Unable to locate a current version of pacman for flavor Linux64
Unable to locate a current version of base for flavor Linux64
% 
% lsstpkg install base        # reinstall base
Required product tcltk 8.5a4 is already installed
Required product python 2.5.2 is already installed
Required product sconsDistrib 0.98.5 is already installed
Required product scons 1.20 is already installed
Required product swig 1.3.36+2 is already installed
Required product doxygen 1.5.4 is already installed
Installing base 3.1
Version: svn
Setting up environment (via ./eupssetups.sh)...
tar zvxf base-3.1.tar.gz
scons opt=3 install declare
Emptying the build directory
Package base 3.1 installed successfully
% 
% lsstpkg install -C lsst
Please use --tag=current next time, not --current/-C
Required product tcltk 8.5a4 is already installed
Required product python 2.5.2 is already installed
Required product sconsDistrib 0.98.5 is already installed
Installing scons 3.2
Version: svn
Setting up environment (via ./eupssetups.sh)...
/usr/bin/curl http://dev.lsstcorp.org/dmspkgs/sconsUtils/3.2/sconsUtils-3.2.tar.gz > sconsUtils-3.2.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 24279  100 24279    0     0  1199k      0 --:--:-- --:--:-- --:--:-- 1975k
sconsUtils-3.2.tar.gz
tar zvxf sconsUtils-3.2.tar.gz
scons install declare
Emptying the build directory
Package scons 3.2 installed successfully
Installing lssteups 1.0
Version: svn
Setting up environment (via ./eupssetups.sh)...
tar zvxf lssteups-1.0.tar.gz
scons opt=3 install declare
Emptying the build directory
Package lssteups 1.0 installed successfully
Installing lsst 1.0
Version: svn
Setting up environment (via ./eupssetups.sh)...
tar zvxf lsst-1.0.tar.gz
scons opt=3 install declare pkgsurl=http://dev.lsstcorp.org/dmspkgs
Emptying the build directory
Package lsst 1.0 installed successfully
%
% eups declare -c sconsUtils 3.2 -r $LSST_PKGS/sconsUtils/3.2
% setup -v lsst
Setting up: lsst                            Flavor: Linux64    Version: 1.0
Setting up: |scons                          Flavor: Linux64    Version: 3.2
Setting up: | sconsUtils                    Flavor: Linux64    Version: 3.2
Setting up: | sconsDistrib                  Flavor: Linux64    Version: 0.98.5
Setting up: | |python                       Flavor: Linux64    Version: 2.5.2
Setting up: | | tcltk                       Flavor: Linux64    Version: 8.5a4
Setting up: |lssteups                       Flavor: Linux64    Version: 1.0
Unable to locate a current version of pacman for flavor Linux64
Setting up: |base                           Flavor: Linux64    Version: 3.1

If everything installs okay (like the above example), you can safely do this clean up:

rm -r $LSST_PKG/base/3.1-1