Numbers instead of error messages
pweilbacher wrote on Jul 24, 2006
In one of my IRAF installations (version 2.12.2a on Linux) all error messages appears as numbers instead of text, e.g. when querying an extension that isn't there I get:
I found the corresponding error message using
but I have no idea what is wrong with this install so that it doesn't look that up automatically. Any hints?
> imhead image[1] l+
image[1]: 1121 image[1]I found the corresponding error message using
> match 1121 lib$syserrmsg
1121 FXF: EOF encountered while reading FITS filebut I have no idea what is wrong with this install so that it doesn't look that up automatically. Any hints?
Mike Fitzpatrick wrote on Jul 24, 2006
Looking at the code which formats the error message (etc$xerfmt.x), the cause of this is any of 1) a missing 'iraf' in the environment (in which case you wouldn't be able to login), 2) a missing 'lib' subdirectory of that $iraf, or 3) and unreadable 'syserrmsg' file in that lib subdirectory.
You can use the command "cl> =osfn("iraf$lib/syserrmsg")' to print the host path to the file, then check that all the elements of that path are readable. Since you were able to MATCH the file to get the code string it doesn't seem likely it is a permission problem, but check anyway. I do recall that some linux systems default to a restrictive umask, so if you installed as the 'iraf' user but are running as yourself you might not see the files/paths properly.
Also check your environment for values of 'iraf' and 'lib". Post a linux 'env' output if you're not sure what to look for. Hope this helps.
Cheers,
-Mike
You can use the command "cl> =osfn("iraf$lib/syserrmsg")' to print the host path to the file, then check that all the elements of that path are readable. Since you were able to MATCH the file to get the code string it doesn't seem likely it is a permission problem, but check anyway. I do recall that some linux systems default to a restrictive umask, so if you installed as the 'iraf' user but are running as yourself you might not see the files/paths properly.
Also check your environment for values of 'iraf' and 'lib". Post a linux 'env' output if you're not sure what to look for. Hope this helps.
Cheers,
-Mike
pweilbacher wrote on Jul 24, 2006
OK, many thanks for that hint! I did "!ls -ld" on every part of the path in =osfn("iraf$lib/syserrmsg") and discovered that on the machine with the problem the directory above $iraf was actually set to point to a link
cl> show iraf
/home/peter/iraf/iraf/
cl> !ls -ld /home/peter/iraf
lrwxrwxrwx 1 peter gal 25 2005-04-11 19:30 /home/peter/iraf -> /net/hercules/iraf whereas on a working machine it wasn't. Once I changed $iraf from /home/peter/iraf/iraf/ to /net/hercules/iraf/iraf/ I got the error message in text form, which is more understandable in most cases. :)
Last post on Jul 24, 2006