how to compile .x files
galtavi wrote on Feb 20, 2013
Dear IRAF users, I would like to modify the telluric task source (t_tweak.x) to get in output the rms (so far it is printed on the graphical window only). I think it's enough to modify the lines
call printf (" Tweak: shift = %.2f, scale = %.3f")
call pargr (shift)
call pargr (TWK_SCALE(twk))
with
call printf (" Tweak: shift = %.2f, scale = %.3f, rms= %.3f")
call pargr (shift)
call pargr (TWK_SCALE(twk))
call pargr (TWK_RMS(twk))
My problem is that I do not know ho to compile t_tweak.x. I have done:
xc t_tweak.x
but I get the message " cannot find include file "
it seems that the files specified at the beginning of the t_tweak.x, i.e.:
include <error.h>
include <gset.h>
include <imset.h>
include <imhdr.h>
include <math.h>
include <math/iminterp.h>
include <pkg/gtools.h>
include <smw.h>
include <units.h>
include <pkg/xtanswer.h>
are not found.
Do I need to specify something more while compiling or
xc t_tweak.x
is correct and I'm doing something wrong?
Thanks for your help
Giuseppe
call printf (" Tweak: shift = %.2f, scale = %.3f")
call pargr (shift)
call pargr (TWK_SCALE(twk))
with
call printf (" Tweak: shift = %.2f, scale = %.3f, rms= %.3f")
call pargr (shift)
call pargr (TWK_SCALE(twk))
call pargr (TWK_RMS(twk))
My problem is that I do not know ho to compile t_tweak.x. I have done:
xc t_tweak.x
but I get the message " cannot find include file "
it seems that the files specified at the beginning of the t_tweak.x, i.e.:
include <error.h>
include <gset.h>
include <imset.h>
include <imhdr.h>
include <math.h>
include <math/iminterp.h>
include <pkg/gtools.h>
include <smw.h>
include <units.h>
include <pkg/xtanswer.h>
are not found.
Do I need to specify something more while compiling or
xc t_tweak.x
is correct and I'm doing something wrong?
Thanks for your help
Giuseppe
Mike Fitzpatrick wrote on Feb 20, 2013
The XC command is indeed what you use to compile .x files, however what you need to do is link this change into the existing binary. The task here is MKPKG to build the package binary. To do this, you'll need to have a $iraf and $IRAFARCH environment defined, preferably in your .cshrc/.profile since MKPKG invokes XC and the variables are need by both.
To compile the change, you'll need to first reconfigure the NOAO package for your current architecture, then recompile the ONEDSPEC package, e.g. outside of IRAF do
You should see the t_tweak.x file recompiled and relinked, make sure you have the right architecture for your system and that the noao$bin.<arch>/x_onedspec.e binary was updated.
If you let me know what platform you're one I can make the change and supply a new binary for you, let me now.
To compile the change, you'll need to first reconfigure the NOAO package for your current architecture, then recompile the ONEDSPEC package, e.g. outside of IRAF do
% cd $iraf/noao # go to the NOAO package
% mkpkg -p noao macintel # reconfigure for macintel arch
% cd onedspec # go to the ONEDSPEC package
% mkpkg -p noao update # update the binary
You should see the t_tweak.x file recompiled and relinked, make sure you have the right architecture for your system and that the noao$bin.<arch>/x_onedspec.e binary was updated.
If you let me know what platform you're one I can make the change and supply a new binary for you, let me now.
Last post on Feb 20, 2013