User Tools

Site Tools


skycat

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.

skycat.txt · Last modified: 2010/03/26 00:00 (external edit)