5.0.3 -> 5.1 Remote Procedure Call troubles [message #12371] |
Thu, 16 July 1998 00:00 |
steinhh
Messages: 260 Registered: June 1994
|
Senior Member |
|
|
Maybe it's just me....or has IDL done something funny with the
idlrpc executable from version 5.0.3 to 5.1?
I'm working on a Digital UNIX system, but the following should
go for other UNIX flavors as well:
Try this: Copy all files from $IDL_DIR/external/rpc to an
empty (scratch) directory, and place yourself in that
directory, and issue a "make" command.
(If your $IDL_DIR is not the standard "/usr/local/rsi/idl" you
will have to modify the (stupid!) line in the Makefile that
insists on setting IDL_DIR explicitly)
On my system, the make command results in a shower of error
messages when compiling "idl_rpc_obsolete.c". This is only a
minor embarassment for RSI and not part of my problem
(AFAIK). (RSI has rewritten the export.h file - it no longer
defines the macro "publish" which is used in
idl_rpc_obsolete).
The make command results in (among other things) two
executables, idlrpc and idl_rpc_test. Start the IDL RPC server
in the background ("idlrpc &").
With version 5.0.3, the IDL_STARTUP file was automatically
processed (fixing paths etc) before the server mode was
started, but apparently RSI decided to remove this feature
without telling anyone... So when I came to work today, the
programs that used RPC calls to IDL had stopped working over
night...
Well well, let's start the program idl_rpc_test (in the
foreground), which will talk to the idlrpc server program. At
first it performs a number of checks, and then prints out the
prompt for us to write commands, e.g.
RMTIDL> print,"HI"
HI
RMTIDL>
(Note: A blank line will terminate both the server and the
test program..)
So, we'll try to manually include the $IDL_STARTUP file:
RMTIDL> @$IDL_STARTUP
IDL_RPCExecuteStr: Shell command and line continue symbols not allowed
Oh darn, they must have a rather simplistic search for those
dollar signs, let's test it:
RMTIDL> PRINT,"$"
IDL_RPCExecuteStr: Shell command and line continue symbols not allowed
Yep - that's one bad regular expression in there - but this works,
for example:
RMTIDL> print,"a$"
a$
Strange, but let's go back to the original problem: Let's try
expanding the path of IDL_STARTUP:
RMTIDL> @<full path of my IDL_STARTUP>
What happens? Well, it executes the first line of that file,
and then nothing. It even appears to be sulking, no longer
responding to my typed commands:
RMTIDL> print,"HI"
RMTIDL> help
RMTIDL>
No response. So, assuming other people can reproduce this
behaviour, I'd like to ask RSI for a fix that will
a) Run the IDL_STARTUP file as usual. If I don't want the
IDL_STARTUP file to be run by my server I'll just unset
the variable, right?
b) Allow included files - this is possible in version 5.0.3
Regards,
Stein Vidar Haugan
|
|
|