Running Install with Cygwin
John Nerwinski wrote on Apr 16, 2008
IRAF help desk:
I am trying to install IRAF on my home PC (Windows Vista) using Cygwin. I am in a TCSH shell and have run the command "sh install -n". When I do this, I get a bunch of errors, mostly alias and unalias not found errors. How do I get these errors to clear up so I can run the script without the "-n"?
Secondly, on line 116, I have a syntax error near unexpected token '$UNAME' message. How do I fix it.
Additionally, there is a "setenv: command not found" error and an "onintr: command not found" error on lines 46 and 43 respectively. I also need to get these fixed in order to run install.
Once I get the script working, what result am I then looking for when I run "sh install -n" that will allow me to know I am ready to run the actual "sh install"?
Thanks
John
I am trying to install IRAF on my home PC (Windows Vista) using Cygwin. I am in a TCSH shell and have run the command "sh install -n". When I do this, I get a bunch of errors, mostly alias and unalias not found errors. How do I get these errors to clear up so I can run the script without the "-n"?
Secondly, on line 116, I have a syntax error near unexpected token '$UNAME' message. How do I fix it.
Additionally, there is a "setenv: command not found" error and an "onintr: command not found" error on lines 46 and 43 respectively. I also need to get these fixed in order to run install.
Once I get the script working, what result am I then looking for when I run "sh install -n" that will allow me to know I am ready to run the actual "sh install"?
Thanks
John
Mike Fitzpatrick wrote on Apr 16, 2008
The install script is a C-shell script, not a Bourne shell script. If you have tcsh installed you can just execute it as "./install -n", or as "csh install". The '-n' will show you everything the script will do, but you need to run it without the '-n' to actually install the system. When you're done, command like 'mkiraf' and 'cl' should start the system (assuming you have the "local bin directory" in your path, otherwise you'll need to specify the full path to the command).
I haven't actually tried IRAF under Vista myself, but neither have we gotten reports that it doesn't work.
Cheers,
-Mike
I haven't actually tried IRAF under Vista myself, but neither have we gotten reports that it doesn't work.
Cheers,
-Mike
John Nerwinski wrote on Apr 16, 2008
I got it to work successfully. Thanks. Now I have also installed some external packages. The instructions say that I need to do this: To install a new package, add the two statements to define the package root directory and package task, then add the package helpdb to the `helpdb' list.
I do not understand how to do this. What exactly do I type (I am in the /iraf/iraf/unix/hlib directory)?
Below is a sample of the instructions I have
Editing extern.pkg
File extern.pkg, which is located in /iraf/iraf/unix/hlib, must be edited to add these new external packages.
Just follow the instructions and examples provided in the file. My extern,.pkg looks like this (because of proportional fonts, column alignment seems to be broken, but should be OK if you save and paste the code into a file).
[Get Code]
# External (non core-system) packages. To install a new package, add the
# two statements to define the package root directory and package task,
# then add the package helpdb to the `helpdb' list.
reset noao = iraf$noao/
task noao.pkg = noao$noao.cl
reset tables = /iraf/extern/tables/
task tables.pkg = tables$tables.cl
reset stsdas = /iraf/extern/stsdas/
task stsdas.pkg = stsdas$stsdas.cl
reset nmisc = /iraf/extern/nmisc/
task nmisc.pkg = nmisc$nmisc.cl
reset ctio = /iraf/extern/ctio/
task ctio.pkg = ctio$ctio.cl
reset gemini = /iraf/extern/gemini/
task gemini.pkg = gemini$gemini.cl
reset fitsutil = /iraf/extern/fitsutil/
task fitsutil.pkg = fitsutil$fitsutil.cl
reset helpdb = "lib$helpdb.mip\
,noao$lib/helpdb.mip\
,tables$lib/helpdb.mip\
,stsdas$lib/helpdb.mip\
,nmisc$lib/helpdb.mip\
,ctio$lib/helpdb.mip\
,gemini$lib/helpdb.mip\
,fitsutil$lib/helpdb.mip\
"
keep
I do not understand how to do this. What exactly do I type (I am in the /iraf/iraf/unix/hlib directory)?
Below is a sample of the instructions I have
Editing extern.pkg
File extern.pkg, which is located in /iraf/iraf/unix/hlib, must be edited to add these new external packages.
Just follow the instructions and examples provided in the file. My extern,.pkg looks like this (because of proportional fonts, column alignment seems to be broken, but should be OK if you save and paste the code into a file).
[Get Code]
# External (non core-system) packages. To install a new package, add the
# two statements to define the package root directory and package task,
# then add the package helpdb to the `helpdb' list.
reset noao = iraf$noao/
task noao.pkg = noao$noao.cl
reset tables = /iraf/extern/tables/
task tables.pkg = tables$tables.cl
reset stsdas = /iraf/extern/stsdas/
task stsdas.pkg = stsdas$stsdas.cl
reset nmisc = /iraf/extern/nmisc/
task nmisc.pkg = nmisc$nmisc.cl
reset ctio = /iraf/extern/ctio/
task ctio.pkg = ctio$ctio.cl
reset gemini = /iraf/extern/gemini/
task gemini.pkg = gemini$gemini.cl
reset fitsutil = /iraf/extern/fitsutil/
task fitsutil.pkg = fitsutil$fitsutil.cl
reset helpdb = "lib$helpdb.mip\
,noao$lib/helpdb.mip\
,tables$lib/helpdb.mip\
,stsdas$lib/helpdb.mip\
,nmisc$lib/helpdb.mip\
,ctio$lib/helpdb.mip\
,gemini$lib/helpdb.mip\
,fitsutil$lib/helpdb.mip\
"
keep
Mike Fitzpatrick wrote on Apr 16, 2008
What package are you trying to install that isn't in your list? To clarify what's in the extern.pkg let's look at say the TABLES package definitions:
The first line is declaring an iraf variable 'tables' holding the path to the directory where you installed the package. Since other paths are built from this variable is MUST always end in a '/'. The second line declares the package itself, more precisely it's defining a package task called 'tables' that when you run it will execute the 'tables.cl' script in the tables directory (this script declares other tasks and loads the package so it can be used).
The second part of the process is to declare the package help pages as part of the 'helpdb' string, i.e. the
[code ,tables$lib/helpdb.mip\ [/code]
If you read the entire thing you'll see this is just a comma-delimited list of paths to helpdb.mip files where each line uses a '\' escape of the newline.
For almost any other package you would do exactly the same thing using the name of the new package instead of 'tables'. Note that even if you install a package using pre-built binaries you'll need to also install the source distribution so you get help pages, parameter files, etc. It's not an error to declare a package that doesn't exist, you just can't actually use it. Hope this helps.
Cheers,
-Mike
reset tables = /iraf/extern/tables/
task tables.pkg = tables$tables.cl
The first line is declaring an iraf variable 'tables' holding the path to the directory where you installed the package. Since other paths are built from this variable is MUST always end in a '/'. The second line declares the package itself, more precisely it's defining a package task called 'tables' that when you run it will execute the 'tables.cl' script in the tables directory (this script declares other tasks and loads the package so it can be used).
The second part of the process is to declare the package help pages as part of the 'helpdb' string, i.e. the
[code ,tables$lib/helpdb.mip\ [/code]
If you read the entire thing you'll see this is just a comma-delimited list of paths to helpdb.mip files where each line uses a '\' escape of the newline.
For almost any other package you would do exactly the same thing using the name of the new package instead of 'tables'. Note that even if you install a package using pre-built binaries you'll need to also install the source distribution so you get help pages, parameter files, etc. It's not an error to declare a package that doesn't exist, you just can't actually use it. Hope this helps.
Cheers,
-Mike
Last post on Apr 16, 2008