====== Introduction ======
This document is ment as a simple howto for installing [[http://archive.eso.org/cms/tools-documentation/skycat|ESO SkyCat Tool]] on Debian and Ubuntu systems. It surely is not comprehensive nor authoritative, it's rather the simple description of "how we did it". But it still may come in handy ;-).
The original version from Petr Kubanek was only for Ubuntu 08.10, now it's extended to Debian 4.0 Etch, Debian 5.0 Lenny and Ubuntu 09.04.
====== Downloads ======
From [[http://archive.eso.org/cms/tools-documentation/eso-skycat-download|Skycat download]] get skycat sources. As TclTk sources are included in Debian, you don't need them!
Then install required libraries:
* Ubuntu <= 08.10:
user@host:~$ wget http://archive.eso.org/cms/tools-documentation/skycat-download/skycat-3.0.2.src.tar.gz
user@host:~$ sudo apt-get install tcl8.4-dev tk8.4-dev blt-dev itcl3.1-dev itk3.1-dev tclx8.4
* Ubuntu 09.04:
user@host:~$ wget http://archive.eso.org/cms/tools-documentation/skycat-download/skycat-3.0.2.src.tar.gz
user@host:~$ sudo apt-get install tcl8.5-dev tk8.5-dev blt-dev itcl3-dev itk3-dev
* Debian:
user@host:~$ wget http://archive.eso.org/cms/tools-documentation/skycat-download/skycat-3.0.2.src.tar.gz
user@host:~$ sudo apt-get install tcl8.4-dev tk8.4-dev blt-dev itcl3-dev itk3-dev tclx8.4 iwidgets4 x11proto-xext-dev libxext-dev
====== Patching ======
* Ubuntu & Debian:
If you installed tcl8.4:
user@host:~$ tar -xzf skycat-3.0.2.src.tar.gz
user@host:~$ cd skycat-3.0.2/
user@host:~$ ./configure --with-tcl=/usr/lib/tcl8.4/ --with-tk=/usr/lib/tk8.4/ --with-tkinclude=/usr/include/tcl8.4/ --with-blt=/usr/lib
If you installed tcl8.5:
user@host:~$ tar -xzf skycat-3.0.2.src.tar.gz
user@host:~$ cd skycat-3.0.2/
user@host:~$ ./configure --with-tcl=/usr/lib/tcl8.5/ --with-tk=/usr/lib/tk8.5/ --with-tkinclude=/usr/include/tcl8.5/ --with-blt=/usr/lib
You will get error (libBLT24), which is expected. Now edit //tclutil/configure//, find **libBLT24** and replace this line:
BLT_LIBNAME=libBLT24${SHLIB_SUFFIX}
BLT_LIBFLAG=-lBLT24
with
BLT_LIBNAME=libBLT${SHLIB_SUFFIX}
BLT_LIBFLAG=-lBLT
Also if you installed tcl8.5, change 8.4 to 8.5 in //skycat/skycat.in//:
exec wish8.5 $SKYCAT_BASE/lib/skycat@PACKAGE_VERSION@/main.tcl ${1+"$@"} | tee -a $HOME/.skycat/log 2>&1
* Seems as case only for Ubuntu and Debian 5.0 Lenny
You need to edit //cat/generic/AstroQuery.h// and put //#include // to it, right after //#include //
#include
#include
#include "WorldOrImageCoords.h"
Also edit //astrotcl/generic/ImageIO.h//, around line 307 should abs((float)bitpix_).. instead of abs( bitpix_):
// reverse the effect of bzero and bscale
double unScaleValue(double d) const {return (d-bzero_)/bscale_;}
// return the size in bytes of a raw image pixel
int pixelSize() const {return abs((float) bitpix_)/8;}
// member access
and in //rtd/generic/RtdImage.C// around line 915 add define for MODULE_SCOPE, so
// Fix for Tk clipping coordinates to short range: See CanvasWindowCoordsNoClip() below.
#ifdef HAVE_TKCANVAS_H
#include "tkCanvas.h"
#else
// The structure we need hasn't changed for a long time, so just include a local copy.
#include "tkCanvas.h-tk8.4.11"
#define HAVE_TKCANVAS_H
#endif
becomes
#ifndef MODULE_SCOPE
#define MODULE_SCOPE extern
#endif
// Fix for Tk clipping coordinates to short range: See CanvasWindowCoordsNoClip() below.
#ifdef HAVE_TKCANVAS_H
#include "tkCanvas.h"
#else
// The structure we need hasn't changed for a long time, so just include a local copy.
#include "tkCanvas.h-tk8.4.11"
#define HAVE_TKCANVAS_H
* Debian (seems to be not a problem in ubuntu?):
There is one more problem in these files:
./cat/configure
./rtd/configure
./tclutil/configure
./skycat/configure
./astrotcl/configure
It is the redundant single quote mark (') in the end of the line:
system=MP-RAS-`awk '{print }' /etc/.relid'`
You can use this simple pipeline to repair it all:
for i in ./cat/configure ./rtd/configure ./tclutil/configure ./skycat/configure ./astrotcl/configure; do cp $i ${i}.orig; cat ${i}.orig | sed "s/\/etc\/\.relid'/\/etc\/.relid/" > $i; done
====== Make ======
* Debian, Ubuntu <= 08.10:
user@host:~$ ./configure --with-tcl=/usr/lib/tcl8.4/ --with-tk=/usr/lib/tk8.4/ --with-tkinclude=/usr/include/tcl8.4/ --with-blt=/usr/lib
user@host:~$ make all
user@host:~$ sudo make install
* Ubuntu 09.04:
user@host:~$ ./configure --with-tcl=/usr/lib/tcl8.5/ --with-tk=/usr/lib/tk8.5 --with-tkinclude=/usr/include/tcl8.5 --with-blt=/usr/lib
user@host:~$ make all
user@host:~$ sudo make install
====== Troubleshooting ======
Please write to [[petr@iaa.es]], and attach error description.