fitz |
01/26/2014 10:30PM (Read 3042 times)
|
|
|
Status: offline
Registered: 09/30/2005
Posts: 4040
|
[Moderator's Note: Forwarded from user story submission]
When trying to run nproto$objmasks with default parameters in a brand new installation of scisoft (iraf 2.16) I get this error message:
ecl\$this->_split2($m[0])objmask test msk
ACE: NOAO/IRAF V2.16 rperez@ciclon Sun 22:31:11 26-Jan-2014
Image: test
Set sky and sigma:
Determine sky and sigma by surface fits:
start line = 51, end line = 1950, step = 99.9
xorder = 2, yorder = 2, xterms = half
hclip = 2., lclip = 3.
Determine sky and sigma by block statistics:
Number of blocks: 8 20
Number of pixels per block: 100 100
Number of subblocks: 15 40
Number of pixels per subblock: 50 50
Detect objects:
Convolution:
1. 1. 1.
1. 1. 1.
1. 1. 1.
ERROR: Cannot open file (/tmp///.IMT501)
"magzero=objmasks1.magzero)"
line 26: nproto$ace/objmasks.cl
called as: `objmasks (images=test, objmasks=msk)'
Any idea of what can be going on?
(System: Mac OSX Snow Leopard, with full Scisoft 7.7 just installed)
Thanks a lot
|
|
|
|
fitz |
01/26/2014 10:33PM
|
|
|
Status: offline
Registered: 09/30/2005
Posts: 4040
|
The message means the task is trying to open the image display but not finding a connection. You'll need to have DS9 or XImtool running before you run the task
|
|
|
|
ricpermar |
03/19/2014 02:07PM
|
|
|
Status: offline
Registered: 01/26/2014
Posts: 4
|
Thanks a lot for your replay! I do have ds9 running, but I still got the error message. It worked once I deleted the blaming file (/tmp///.IMT501), but this workaround was of little help when using objmask with lists.
I have then updated ds9 to its newest version (7.2) to see if it was of any help. Now the objmask task does not work at all. I enter the command and IRAF just does nothing. No file produced, no message at all. The prompt is returned immediately. I understand this can not be related to the ds9 update, but just in case I used the scisoft one with the same result.
Any hint?
All the best.
Ricardo
|
|
|
|
fitz |
03/19/2014 03:14PM
|
|
|
Status: offline
Registered: 09/30/2005
Posts: 4040
|
DS9 v7.2 is known to be broken when used with IRAF, you'll need to get a new (or older) version from their website (ds9.si.edu). I'm not sure which version comes with SciSoft but it may be related.
|
|
|
|
ricpermar |
03/20/2014 05:17PM
|
|
|
Status: offline
Registered: 01/26/2014
Posts: 4
|
I have tried with 6.1.2 (both from the scisoft instalation and from their webpage), 6.0 and 5.7 from ds9.si.edu with the same result. Looks like the connection iraf v.2.16 - ds9 though the socket /tmp/.IMT501 (at operating system level) just does not work. Is there any known issue with Mac Snow Leopard related to this matter?
All the best
Ricardo
|
|
|
|
ricpermar |
03/21/2014 04:07PM
|
|
|
Status: offline
Registered: 01/26/2014
Posts: 4
|
I think I got a solution after reading https://iraf.net/forum/viewtopic.php?showtopic=1466596&lastpost=true
I looks like that it was a iraf-ds9 communication problem, rather than a objmask one, as fitz indicated. This is what I did (for a bash shell):
PHP Formatted Code export IMTDEV =inet :5137
PHP Formatted Code ds9 -inet_only
and objmasks ran smoothly.
I have included the IMTDEV value in my .profile and aliased ds9 to "ds9 -inet_only'. However I can not get the alias to work when calling it from within iraf with a shell escape (!ds9& . The xgterm from where I launch iraf loads the alias, but somehow "ecl" reset the environment or something. Any idea?
Ricardo
|
|
|
|
fitz |
03/21/2014 08:52PM
|
|
|
Status: offline
Registered: 09/30/2005
Posts: 4040
|
The /tmp/.IMT501 unix socket is used by default, where the '501' refers to the user-id. This means that it is assumed that both the IRAF session and the DS9 will be running under the same user account. If these aren't connecting, then I'd suspect that e.g. the DS9 installed in /Applications might be running as setuid-root or under some 'scisoft' account or somesuch. The 501 is usually the first user account created on the machine and is likely yours, but do an "ls -l /tmp/.IMT501" after starting ds9 to be sure it is owned by you.
Otherwise, a "!ds9 &" from the CL prompt execute in a spawned shell and so the alias needs to be defined in something like your .cshrc or .profile/.bashrc depending on the shell. Defining the IMTDEV variable is what forces the type of connection IRAF uses, and the '-inet_only' flag to ds9 means that is the only open socket, and since these are inet sockets they are independent of the user id.
|
|
|
|
ricpermar |
03/24/2014 04:20PM
|
|
|
Status: offline
Registered: 01/26/2014
Posts: 4
|
Hello
Just for completion: The .IMT501 socket was created at ds9 start and did exist when IRAF issued the error about the missing file (/tmp/.IMT501).
A "ps -ef" showed both IRAF and ds9 were owned by the same user (ie: me, uid 501), but the task failed anyway.
The alias was defined in my .bash_alias file, that is sourced in .profile, but it is not transmitted to IRAF(?). In fact, if I log out IRAF and type "ds9" in the same terminal, it does use the aliased command.
I do not want you to spend more time in this since it is solved in one or other way, but maybe this info gives you some hints for other problems.
All the best and thank you very much for your help.
Ricardo
|
|
|
|