wiki:IDL

Version 16 (modified by cdelarcuz, 20 years ago) ( diff )

--

IDL

IDL is available from rsinc, for a licensing fee (apparently $480 for a "floating node license fee" for educational institutions). The current version appears to be 6.2.

They do support linux, and are moving to a kernel/glibc support indicator strategy (see here). This strategy apparently won't be ready until 6.3. However, that doesn't mean that the earlier systems won't have comparable support.

They also have a linux FAQ which seems somewhat out of date.

licensing

CAL has a "floating" 50 user license (meaning that a properly configured IDL installation requests a license while running and then returns the license when finished). The current license server runs on njord.phys.columbia.edu (a sun) and will serve licenses to any version of IDL running on any operating system. Installation of IDL on a client machine means both installing the software and a "license.dat" file that contains the information required by the license server.

license server

The license server used by IDL is FLEXlm. Instructions for installing this are available here.

Installation

Carlos added this package to metis by Downloading the IDL 6.2 (RHE3.x_FC3_Intelx86) Demo archive and running the ./install script.

root@metis:~# mkdir /usr/local/rsi
root@metis:~# chmod a+rx /usr/local/rsi

root@metis:/usr/local/rsi# gzip -d idl_linux.x86.tar.gz
root@metis:/usr/local/rsi# tar xf idl_linux.x86.tar
root@metis:/usr/local/rsi# ./install


Do you accept all of the terms of the preceding license agreement? (y/n): y

    This script installs Unix IDL version 6.2. The current
    directory is assumed to be the RSI directory under
    which IDL is to be installed.

    Current directory:  /usr/local/rsi
    Current login: root

Do you wish to continue? (y/n): y

    There are 3 ways to create the symbolic links or define
    the environment variables necessary to run IDL:

    1) Allow this script to install IDL in the RSI recommended
       manner:

           - If the rsi directory tree (of which IDL is a
             subdirectory) is not located in /usr/local/rsi,
             create a symbolic link called /usr/local/rsi that points
             at it.

           - Create symbolic links in /usr/local/bin for IDL and
             related commands. To run IDL, users must put
             /usr/local/bin in their execution paths. At most sites,
             this is already the case.

    2) Manually create the symbolic links using the commands:

           setenv  RSI  /usr/local/rsi

           ln -s $RSI    /usr/local/rsi
           ln -s $RSI/ion_6.2/bin/iond    LOCAL_DIR/iond_6.2
 	   ln -s $RSI/ion/bin/iond    LOCAL_DIR/iond

           ln -s $RSI/ion_6.2/bin/ionstat    LOCAL_DIR/ionstat_6.2
           ln -s $RSI/ion/bin/ionstat    LOCAL_DIR/ionstat

           ln -s $RSI/ion_6.2/bin/iondown    LOCAL_DIR/iondown_6.2
           ln -s $RSI/ion/bin/iondown    LOCAL_DIR/iondown

           ln -s $RSI/idl_6.2/bin/idl    LOCAL_DIR/idl_6.2
           ln -s $RSI/idl/bin/idl  LOCAL_DIR/idl

           ln -s $RSI/idl_6.2/bin/idlde    LOCAL_DIR/idlde_6.2
           ln -s $RSI/idl/bin/idlde  LOCAL_DIR/idlde

           ln -s $RSI/idl_6.2/bin/idlrpc    LOCAL_DIR/idlrpc_6.2
           ln -s $RSI/idl/bin/idlrpc  LOCAL_DIR/idlrpc

           ln -s $RSI/idl_6.2/bin/idlhelp    LOCAL_DIR/idlhelp_6.2
           ln -s $RSI/idl/bin/idlhelp  LOCAL_DIR/idlhelp

           ln -s $RSI/idl_6.2/bin/idlman    LOCAL_DIR/idlman_6.2
           ln -s $RSI/idl/bin/idlman  LOCAL_DIR/idlman

           ln -s $RSI/idl_6.2/bin/idldemo    LOCAL_DIR/idldemo_6.2
           ln -s $RSI/idl/bin/idldemo    LOCAL_DIR/idldemo

           ln -s $RSI/idl_6.2/bin/rsilicense    LOCAL_DIR/rsilicense_6.2
           ln -s $RSI/idl/bin/rsilicense    LOCAL_DIR/rsilicense

           ln -s $RSI/idl_6.2/bin/idlman    LOCAL_DIR/ionman_6.2
           ln -s $RSI/idl/bin/idlman  LOCAL_DIR/ionman

           ln -s $RSI/idl_6.2/bin/idlhelp    LOCAL_DIR/ionhelp_6.2
           ln -s $RSI/idl/bin/ionhelp  LOCAL_DIR/ionhelp



      where LOCAL_DIR is the path of a directory on your system
      that commonly appears in users' paths.

    3) Files named idl_setup and idl_setup.ksh are
       automatically created by the installation script.  These
       files contain appropriate definitions for IDL-related
       environment variables and aliases.  If you choose this
       option, you must have your users set up their accounts
       as shown below:

           Have your C-shell users add the line:

               source /usr/local/rsi/idl/bin/idl_setup

           to their .cshrc files.

           Have your Korn shell users add the line:

               . /usr/local/rsi/idl/bin/idl_setup.ksh

           to their .profile files.

           Have your Bash shell users add the line:

               . /usr/local/rsi/idl/bin/idl_setup.bash

           to their .bashrc files.


Create the symbolic links described in option 1 above? (y/n): y



    Link Name: /usr/local/bin/idl_6.2
    Points at: /usr/local/rsi/idl_6.2/bin/idl

    Link Name: /usr/local/bin/iond_6.2
    Points at: /usr/local/rsi/idl_6.2/products/ion_6.2/ion_java/bin/iond

    Link Name: /usr/local/bin/iond
    Points at: /usr/local/rsi/idl/products/ion/ion_java/bin/iond

    Link Name: /usr/local/bin/ionstat_6.2
    Points at: /usr/local/rsi/idl_6.2/products/ion_6.2/ion_java/bin/ionstat

    Link Name: /usr/local/bin/ionstat
    Points at: /usr/local/rsi/idl/products/ion/ion_java/bin/ionstat

    Link Name: /usr/local/bin/iondown_6.2
    Points at: /usr/local/rsi/idl_6.2/products/ion_6.2/ion_java/bin/iondown

    Link Name: /usr/local/bin/iondown
    Points at: /usr/local/rsi/idl/products/ion/ion_java/bin/iondown

    Link Name: /usr/local/bin/idl_6.2
    Points at: /usr/local/rsi/idl_6.2/bin/idl

    Link Name: /usr/local/bin/idl
    Points at: /usr/local/rsi/idl/bin/idl

    Link Name: /usr/local/bin/idlde_6.2
    Points at: /usr/local/rsi/idl_6.2/bin/idlde

    Link Name: /usr/local/bin/idlde
    Points at: /usr/local/rsi/idl/bin/idlde

    Link Name: /usr/local/bin/idldemo_6.2
    Points at: /usr/local/rsi/idl_6.2/bin/idldemo

    Link Name: /usr/local/bin/idldemo
    Points at: /usr/local/rsi/idl/bin/idldemo

    Link Name: /usr/local/bin/idlhelp_6.2
    Points at: /usr/local/rsi/idl_6.2/bin/idlhelp

    Link Name: /usr/local/bin/idlhelp
    Points at: /usr/local/rsi/idl/bin/idlhelp

    Link Name: /usr/local/bin/ionhelp_6.2
    Points at: /usr/local/rsi/idl_6.2/bin/idlhelp

    Link Name: /usr/local/bin/ionhelp
    Points at: /usr/local/rsi/idl/bin/idlhelp

    Link Name: /usr/local/bin/idlman_6.2
    Points at: /usr/local/rsi/idl_6.2/bin/idlman

    Link Name: /usr/local/bin/idlman
    Points at: /usr/local/rsi/idl/bin/idlman

    Link Name: /usr/local/bin/ionman_6.2
    Points at: /usr/local/rsi/idl_6.2/bin/idlman

    Link Name: /usr/local/bin/ionman
    Points at: /usr/local/rsi/idl/bin/idlman

    Link Name: /usr/local/bin/idlrpc_6.2
    Points at: /usr/local/rsi/idl_6.2/bin/idlrpc

    Link Name: /usr/local/bin/idlrpc
    Points at: /usr/local/rsi/idl/bin/idlrpc

    Link Name: /usr/local/bin/rsilicense_6.2
    Points at: /usr/local/rsi/idl_6.2/bin/rsilicense

    Link Name: /usr/local/bin/rsilicense
    Points at: /usr/local/rsi/idl/bin/rsilicense


IDL Installation Complete.

Web Servers have a default directory in which Java files
are located.  Please enter the directory where the Java
files are located.
(e.g. /usr/local/apache2/htdocs) (webserver install????)

Web Servers have a default directory in which CGI executables
are located.  Please enter the directory where the server
executables are located.
(e.g. /usr/local/apache2/cgi-bin)

Please enter the fully qualified domain name and the path to
the CGI executables directory for your Web server.
(e.g. myhost.mydomain.com/cgi-bin)


root@metis:/usr/local/rsi# idldemo

IDL Version 6.2 (linux x86 m32). (c) 2005, Research Systems, Inc.

% Embedded IDL: Research Systems, Inc., IDL Demo System.
% Restored file: IDLRTMAIN.
% Embedded IDL: Research Systems, Inc., IDL Demo System.
% IDLRTMAIN: The following error was encountered:  Error loading sharable executable.
               Symbol: IDL_Load, File = /usr/local/rsi/idl_6.2/bin/bin.linux.x86/idl_xml.so ibstdc++.so.5: 
cannot open shared object file: No such file or directory  Please consult the supplier of the application.

Required Packages/Dependancies

Application required the installation of libstdc++5:


root@metis:/etc/apt/apt.conf.d# apt-get install libstdc++5

root@metis:/usr/local/rsi/idl/bin# idldemo
IDL Version 6.2 (linux x86 m32). (c) 2005, Research Systems, Inc.

% Embedded IDL: Research Systems, Inc., IDL Demo System.
% Restored file: IDLRTMAIN.
% Embedded IDL: Research Systems, Inc., IDL Demo System.
% Loaded DLM: XML.
% Restored file: D_ICONTOUR.
% Loaded DLM: JPEG.
% Loaded DLM: PNG.
root@metis:/usr/local/rsi/idl/bin#



Added the following definition to .bashrc:

. /usr/local/rsi/idl/bin/idl_setup.bash


Application launches, as well as the demo modules. 

Astro Modules

Need to find suitable installation packages.

TeXtoIDL:

The purpose of the TeXtoIDL routines is to make it simple to use Greek letters, 
subscripts and superscripts in making labels for plots in IDL. This is accomplished by 
allowing the user to use TeX control sequences for Greek letters and special 
symbols and for sub/superscripts. The TeX control sequences are simple and easy 
to remember, especially if you already use TeX for writing papers (for those 
unfamiliar with TeX, an explanation of that notation is below). The translation 
is done for either vector or PostScript fonts. 

IDLWAVE:
This package has been installed as part of Emacs to enable it to understand 
IDL syntax, which is very useful when writing IDL scripts. A number of lines 
should be added to your ~/.emacs file, and IDLWAVE online information which can 
be viewed with `M-x idlwave-info', or follow the Menu entry in the IDLWAVE menu. 
IDLWAVE also enables running an IDL shell within emacs - type:

	M-X idlwave-shell

which runs your settup defined by the environment variable IDL_STARTUP. 

Solaris Installation

From: Claire Russell <claire@astro.columbia.edu>
Date: February 3, 2006 12:21:12 PM EST
To: Greg Bryan <gbryan@astro.columbia.edu>
Cc: Carlos De La Cruz <cdelacruz@astro.columbia.edu>
Subject: Re: IDL

Greg,

Hi, looks like IDL 5.3 was disabled a wile back but IDL 5.6 works as does 6.0 
on the other Suns.  I see the new license file in two places:
        /softW_4/license/license.dat
        /softW_4/idl_6.0/license/license.dat     (same as /nfs/idl_6.0/license/license.dat on all Suns)

An oddity with license.dat is that '/usr/local/rsi/idl_6.2/bin/' doesn't exist 
but the license is running okay, see this  line in license.da\t:
DAEMON idl_lmgrd /usr/local/rsi/idl_6.2/bin/

If njord is rebooted, then the local system startup file: /etc/init.d/rc.local 
gets run and that will run the old license manager program(lm\grd).  But maybe that won't matter. 
Lines from rc.local:

# Start license managers
        RSI_DIR=/nfs/idl_6.0
        export RSI_DIR
        IDL_DIR=/nfs/idl_6.0/idl
        export IDL_DIR
        umask 022;su flexlm -c "/nfs/idl_6.0/idl/bin/lmgrd -c /nfs/idl_6.0/license/license.dat > /var/adm/idl.log "

So looks like the new 6.2 license is installed but might have to be restarted by hand after a reboot.
........................................................................
To install IDL 6.2:
Some licensed packages supply the license manager software separately ( for instance Mathematica).  
IDL however, has license manager and app\lication software in the same place.
You have the 'license.dat' file already, so that no worry about getting that.

1.  In any case, to add the new version (6.2), first set the INSTALLATION PATH 
so you can supply that when the RSI installation procedure as\ks you where to put the 
new version.   To do this:
        a) decide where there is room for the package and make the directory. 
           Seems /w1 has a lot of space, so put it there:
                >  mkdir  /w1/idl_6.2
        b) BUT that can't be the INSTALLATION PATH as it won't show up on 
           the other Sun hosts, so make a link:
                > ln -s   /w1/idl_6.2   /nfs/idl_6.2
                (LATER we can change this link to point to the automount point of the new version)

So now the INSTALLATION PATH you will give to RSI installation procedure is:
            /nfs/idl_6.2
and the RSI installation procedure will put the entire software 
package (including the license manager programs(lmgrd, lmdown,etc.) there as\ well.  
It SHOULD use that path to tailor any startup scripts&license 
files (but seems it doesn't, it expands it to the physical one!) so on\e 
has to edit one or two files later.

2. So now after using the RSI installation procedure, and 
supplying it with:/nfs/idl_6.2 , the package should be installed.  
If any odd ques\tions in the RSI procedure, let me know.

3. Then edit file:
        > cp /nfs/idl_6.2/idl_6.2/bin/idl_setup  /tmp
        > emacs /tmp/idl_setup     (replace /w1/idl_6.2 with /nfs/idl_6.2)

        and add a new last line to start up IDL:
                $IDL_DIR/bin/idl

         > cp /tmp/idl_setup /nfs/bins/idl_6.2
         > chmod +x /nfs/bins/idl_6.2      (be sure it's executable)

 4. copy over the new license file:
         cp  /softW_4/idl_6.0/license/license.dat  /nfs/idl_6.2/license/license.dat

 5. I have already added an entry to /etc/auto.indirect_pkg for /nfs/idl_6.2 
assuming that it is at:
         njord:/w1/idl_6.2
     so now:
         > rm /nfs/idl_6.2
         > all_some8 ln -s /nfs/pkg/idl_6.2 /nfs/idl_6.2
         > ls /nfs/idl_6.2              (will show the new installation via the automounter)

 6. then on all Suns:
                 idl_6.2         (search path will find: /nfs/bins/idl_6.2)
     will start up IDL 6.2

 7.  May be an astro library that need to copy from IDL 6.0?  Otherwise, done.


         Claire

Note: See TracWiki for help on using the wiki.