User Tools

Site Tools


skycat

Differences

This shows you the differences between two versions of the page.


Previous revision
skycat [Unknown date] (current) – external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
 +====== 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:
 +<code bash>
 +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
 +</code>
 +
 +  * Ubuntu 09.04:
 +<code bash>
 +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
 +</code>
 +  * Debian:
 +<code bash>
 +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
 +</code>
 +
 +====== Patching ======
 +
 +  * Ubuntu & Debian:
 +If you installed tcl8.4:
 +<code bash>
 +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
 +</code>
 +
 +If you installed tcl8.5:
 +<code bash>
 +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
 +</code>
 +
 +You will get error (libBLT24), which is expected. Now edit //tclutil/configure//, find **libBLT24** and replace this line:
 +
 +<code>
 +    BLT_LIBNAME=libBLT24${SHLIB_SUFFIX}
 +    BLT_LIBFLAG=-lBLT24
 +</code>
 +
 +with
 +
 +<code>
 +    BLT_LIBNAME=libBLT${SHLIB_SUFFIX}
 +    BLT_LIBFLAG=-lBLT
 +</code>
 +
 +Also if you installed tcl8.5, change 8.4 to 8.5 in //skycat/skycat.in//:
 +
 +<code bash>
 +exec wish8.5 $SKYCAT_BASE/lib/skycat@PACKAGE_VERSION@/main.tcl ${1+"$@"} | tee -a $HOME/.skycat/log 2>&1
 +</code>
 +
 +  * 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>//
 +
 +<code c++>
 +#include <cstdio>
 +#include <string.h>
 +#include "WorldOrImageCoords.h"
 +</code>
 +
 +Also edit //astrotcl/generic/ImageIO.h//, around line 307 should abs((float)bitpix_).. instead of abs( bitpix_):
 +
 +<code c++>
 +    // 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
 +</code>
 +
 +and in //rtd/generic/RtdImage.C// around line 915 add define for MODULE_SCOPE, so
 +
 +<code c++>
 +// 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
 +</code>
 +
 +becomes
 +
 +<code c++>
 +#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
 +</code>
 +
 +  * 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:
 +<code bash>
 +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
 +</code>
 +
 +====== Make ======
 +
 +  * Debian, Ubuntu <= 08.10:
 +<code bash>
 +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
 +</code>
 +
 +  * Ubuntu 09.04:
 +<code bash>
 +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
 +</code>
 +
 +====== Troubleshooting ======
 +
 +Please write to [[petr@iaa.es]], and attach error description.
 +
  
skycat.txt · Last modified: 2010/03/26 00:00 (external edit)