Introduction
This document is ment as a simple howto for installing 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 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 <string.h> to it, right after #include <cstdio>
#include <cstdio> #include <string.h> #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.