User Tools

Site Tools


skycat
no way to compare when less than two revisions

Differences

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


Previous revision
Last revision
skycat [2010/03/26 02:35] – old revision restored (wasn't able to compile it undet Ubuntu 9.10) jstrobl
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)