Re: IDL local library! [message #8315 is a reply to message #8300] |
Wed, 26 February 1997 00:00   |
Peter Mason
Messages: 145 Registered: June 1996
|
Senior Member |
|
|
On 25 Feb 1997, DAMIANO ZILIO wrote:
> I'm working with IDL. Version 4.0.1 (AIX ibmr2) on a UNIX Sistem.
> I've developped some routines by myself and I would use them not
> localy!, I'd like to put all my routines in a directory and then
> call and compile everyting from everywere in my filesystem.
> Can anyone help me?
> PS In my filesystem I can't use the superuser permission, so I can't write
> anything in the main IDL lib directory!!!.
There are a couple of solutions that come to mind, but I think that you'll
need superuser permission to implement any of them. So since you're probably
going to have to involve your systems manager regardless, why not just get him/
her to create a directory for you under $IDL_DIR/lib? If this is going to
be a problem, here are some other things you could try...
First of all, put your programs in some directory of your own, make this
directry world -readable and -executable, and make all the programs
world-readable. (If the people who are going to run your programs are
in the same group as you then you can use group instead of world access,
which is preferrable.)
(If there's much IDL development going on at your site then you should consider
persuading your systems manager to create a group-accessible directory
structure for the progs, rather than having you set up a directory in your
private user area.)
Then implement one of the following:
1 Add your directory to the IDL_PATH for all your programs' users.
e.g., If your programs are in /users/damiano/idlstuff and IDL_PATH is
'.:+$IDL_DIR/lib' then you must change it to look like:
'.:+$IDL_DIR/lib:/users/damiano/idlstuff', or
'.:+$IDL_DIR/lib:+/users/damiano/idlstuff' (note the "+") if there are
subdirectories under idlstuff.
Where do you do this?
Some people define IDL_PATH privately, in one of their startup files
(typically in .login). In such cases you will need to edit the .login
files (for each user), and you'll need SU privs for this. (Well, you
could ask all the users to do the change themselves.)
Some people use a "global" setup file called idl_setup, which lives in
$IDL_DIR/lib. e.g., They "source" this file from their .login. In this
case you'll just need to modify $IDL_DIR/bin/idl_setup, but again you'll
need SU privs for this. (Also, you might need to redo this whenever you
upgrade IDL.)
2 Set up (or get the systems manager to set up) a symbolic link in $IDL_DIR/lib
which points to your directory. e.g.,
%>cd $IDL_DIR/lib
%>ln -s /users/damiano/idlstuff damiano
(Actually, I'm not sure of the syntax on AIX - this e.g. is for OSF.)
This option has some problems.
The first problem - and this is quite a noticeable one - is that:
*** it doesn't actually work with IDL4.0.1 ***
IDL4.0.1 doesn't appear to follow symbolic links when it builds its !path
variable. You'll have to wait for IDL5. (Hopefully not that long, which
is why I mentioned this option at all.)
Secondly, you might have to redo the link whenever you upgrade IDL.
Thirdly, the $IDL_DIR/lib entry in IDL_PATH must be a "recursive" entry,
i.e., it must be preceded by a "+".
And, of course, you'll need SU privs to create the link.
Peter Mason
|
|
|