[daip] Compiling AIPS tasks with INTEL compiler

Eric Greisen egreisen at nrao.edu
Mon Nov 6 09:02:52 EST 2006


This ... compiler has a "feature" in which it refuses to put a library
twice in its list of libraries.  But AIPS requires that.  For some
reason, the exact version we have for Linux does allow what we would
like to do, but most other versions do not.  I have asked our systems
people to talk to them but I suspect that they have not done so.

Anyway, the workaround is not too onerous.  in $LIBR make link files,
e.g.

ln -s APLSUB JUNKAPL
ln -s APLLINUX JUNKLIN

Then edit LIBR.DAT in $SYSLOCAL to that below.  this fools the
feature but I really do not want to install this in all of aips.

Eric Greisen

#-----------------------------------------------------------------------
#;  Copyright (C) 1995-1997, 2002-2003, 2006
#;  Associated Universities, Inc. Washington DC, USA.
#;
#;  This program is free software; you can redistribute it and/or
#;  modify it under the terms of the GNU General Public License as
#;  published by the Free Software Foundation; either version 2 of
#;  the License, or (at your option) any later version.
#;
#;  This program is distributed in the hope that it will be useful,
#;  but WITHOUT ANY WARRANTY; without even the implied warranty of
#;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#;  GNU General Public License for more details.
#;
#;  You should have received a copy of the GNU General Public
#;  License along with this program; if not, write to the Free
#;  Software Foundation, Inc., 675 Massachusetts Ave, Cambridge,
#;  MA 02139, USA.
#;
#;  Correspondence concerning AIPS should be addressed as follows:
#;         Internet email: aipsmail at nrao.edu.
#;         Postal address: AIPS Project Office
#;                         National Radio Astronomy Observatory
#;                         520 Edgemont Road
#;                         Charlottesville, VA 22903-2475 USA
#-----------------------------------------------------------------------
AIPS subroutine source code search paths and object libraries:

$LIBR/AIPSUB/SUBLIB:0:$AIPSUB

APL subroutine source code search paths and object libraries:

Standard routines

$LIBR/APLSUB/SUBLIB:0:$APLSUB

Non-standard and routines

$LIBR/APLNOT/SUBLIB:0:$APLNOT

Z-routines

$LIBR/APLLINUX/SUBLIB:0:$APLLINUX
$LIBR/APLLINUX/SUBLIB:0:$APLBELL
$LIBR/APLLINUX/SUBLIB:0:$APLUNIX
$LIBR/APLLINUX/SUBLIB:0:$APLGEN

Q subroutine source code search paths and object libraries:

Standard routines

$LIBR/QSUB/SUBLIB:0:$QSUB

Non-standard routines

$LIBR/QNOT/SUBLIB:0:$QNOT

Q-routines

$LIBR/QPSAP/SUBLIB:0:$QPSAP
$LIBR/QPSAP/SUBLIB:0:$QDEV

Y subroutine source code search paths and object libraries:

Standard routines

$LIBR/YSUB/SUBLIB:0:$YSUB

Non-standard routines

$LIBR/YNOT/SUBLIB:0:$YNOT

Y-routines

$LIBR/YSS/SUBLIB:0:$YSS
$LIBR/YSS/SUBLIB:0:$YGEN

Object Oriented routine source code search path and object libraries:

General routines

$LIBR/APLOOP/SUBLIB:0:$APLOOP

Q-object routines

$LIBR/QOOP/SUBLIB:0:$QOOP

AIPS stand alone program source code search paths and link libraries:

AIPGUNIX => UNIX specific stand alone programs

$LIBR/APLSUB/SUBLIB:0:$AIPGUNIX
$LIBR/APLLINUX/SUBLIB:0:$AIPGUNIX
$LIBR/JUNKAPL/SUBLIB:0:$AIPGUNIX
$LIBR/JUNKLIN/SUBLIB:0:$AIPGUNIX

AIPPGM => Standard stand alone programs using TV
# -ltermcap has been replaces -lncurses

$LIBR/AIPSUB/SUBLIB:0:$AIPPGM
$LIBR/YSUB/SUBLIB:0:$AIPPGM
$LIBR/YSS/SUBLIB:0:$AIPPGM
$LIBR/APLSUB/SUBLIB:0:$AIPPGM
$LIBR/APLLINUX/SUBLIB:0:$AIPPGM
$LIBR/JUNKAPL/SUBLIB:0:$AIPPGM
$LIBR/JUNKLIN/SUBLIB:0:$AIPPGM
$LIBR/GNU/libreadline.a:0:$AIPPGM
-lncurses:0:$AIPPGM

AIPNOT => Standard stand alone programs NOT using the TV

$LIBR/APLSUB/SUBLIB:0:$AIPNOT
$LIBR/APLLINUX/SUBLIB:0:$AIPNOT
$LIBR/JUNKAPL/SUBLIB:0:$AIPNOT
$LIBR/JUNKLIN/SUBLIB:0:$AIPNOT

YPGVDEV => Virtual TV server program

$LIBR/YSUB/SUBLIB:0:$YPGVDEV
$LIBR/YSS/SUBLIB:0:$YPGVDEV
$LIBR/APLSUB/SUBLIB:0:$YPGVDEV
$LIBR/APLLINUX/SUBLIB:0:$YPGVDEV
$LIBR/JUNKAPL/SUBLIB:0:$YPGVDEV
$LIBR/JUNKLIN/SUBLIB:0:$YPGVDEV

APL-task source code search paths and link libraries:

APGUNIX => UNIX specific tasks that call neither Q nor Y-routines

$LIBR/APLNOT/SUBLIB:0:$APGUNIX
$LIBR/APLSUB/SUBLIB:0:$APGUNIX
$LIBR/APLLINUX/SUBLIB:0:$APGUNIX
$LIBR/JUNKAPL/SUBLIB:0:$APGUNIX
$LIBR/JUNKLIN/SUBLIB:0:$APGUNIX

APGNOT => Non-standard tasks that call neither Q nor Y-routines

$LIBR/APLNOT/SUBLIB:0:$APGNOT
$LIBR/APLSUB/SUBLIB:0:$APGNOT
$LIBR/APLLINUX/SUBLIB:0:$APGNOT
$LIBR/JUNKAPL/SUBLIB:0:$APGNOT
$LIBR/JUNKLIN/SUBLIB:0:$APGNOT

APGOOP => Tasks that use the object-oriented routines but NOT Q ones

$LIBR/APLOOP/SUBLIB:0:$APGOOP
$LIBR/YSUB/SUBLIB:0:$APGOOP
$LIBR/YSS/SUBLIB:0:$APGOOP
$LIBR/APLNOT/SUBLIB:0:$APGOOP
$LIBR/APLSUB/SUBLIB:0:$APGOOP
$LIBR/APLLINUX/SUBLIB:0:$APGOOP
$LIBR/JUNKAPL/SUBLIB:0:$APGOOP
$LIBR/JUNKLIN/SUBLIB:0:$APGOOP

APLPGM => Standard tasks that call neither Q nor Y-routines

$LIBR/APLSUB/SUBLIB:0:$APLPGM
$LIBR/APLLINUX/SUBLIB:0:$APLPGM
$LIBR/JUNKAPL/SUBLIB:0:$APLPGM
$LIBR/JUNKLIN/SUBLIB:0:$APLPGM

Q-task source code search paths and link libraries:

QPGNOT => Non-standard tasks that call Q-routines but not Y-routines

$LIBR/QNOT/SUBLIB:0:$QPGNOT
$LIBR/APLNOT/SUBLIB:0:$QPGNOT
$LIBR/QSUB/SUBLIB:0:$QPGNOT
$LIBR/QPSAP/SUBLIB:0:$QPGNOT
$LIBR/APLSUB/SUBLIB:0:$QPGNOT
$LIBR/APLLINUX/SUBLIB:0:$QPGNOT
$LIBR/JUNKAPL/SUBLIB:0:$QPGNOT
$LIBR/JUNKLIN/SUBLIB:0:$QPGNOT

QPGM => Standard tasks that call Q-routines but not Y-routines

$LIBR/QSUB/SUBLIB:0:$QPGM
$LIBR/QPSAP/SUBLIB:0:$QPGM
$LIBR/APLSUB/SUBLIB:0:$QPGM
$LIBR/APLLINUX/SUBLIB:0:$QPGM
$LIBR/JUNKAPL/SUBLIB:0:$QPGM
$LIBR/JUNKLIN/SUBLIB:0:$QPGM

QPGOOP => Tasks that use the object-oriented routines including Q ones

$LIBR/QOOP/SUBLIB:0:$QPGOOP
$LIBR/QNOT/SUBLIB:0:$QPGOOP
$LIBR/QSUB/SUBLIB:0:$QPGOOP
$LIBR/QPSAP/SUBLIB:0:$QPGOOP
$LIBR/APLOOP/SUBLIB:0:$QPGOOP
$LIBR/YSUB/SUBLIB:0:$QPGOOP
$LIBR/YSS/SUBLIB:0:$QPGOOP
$LIBR/APLNOT/SUBLIB:0:$QPGOOP
$LIBR/APLSUB/SUBLIB:0:$QPGOOP
$LIBR/APLLINUX/SUBLIB:0:$QPGOOP
$LIBR/JUNKAPL/SUBLIB:0:$QPGOOP
$LIBR/JUNKLIN/SUBLIB:0:$QPGOOP

Y-task source code search paths and link libraries:

YPGNOT => Non-standard tasks that call Y-routines but not Q-routines

$LIBR/YNOT/SUBLIB:0:$YPGNOT
$LIBR/APLNOT/SUBLIB:0:$YPGNOT
$LIBR/YSUB/SUBLIB:0:$YPGNOT
$LIBR/YSS/SUBLIB:0:$YPGNOT
$LIBR/APLSUB/SUBLIB:0:$YPGNOT
$LIBR/APLLINUX/SUBLIB:0:$YPGNOT
$LIBR/JUNKAPL/SUBLIB:0:$YPGNOT
$LIBR/JUNKLIN/SUBLIB:0:$YPGNOT

YPGM => Standard tasks that call Y-routines but not Q-routines

$LIBR/YSUB/SUBLIB:0:$YPGM
$LIBR/YSS/SUBLIB:0:$YPGM
$LIBR/APLSUB/SUBLIB:0:$YPGM
$LIBR/APLLINUX/SUBLIB:0:$YPGM
$LIBR/JUNKAPL/SUBLIB:0:$YPGM
$LIBR/JUNKLIN/SUBLIB:0:$YPGM

QY-task source code search paths and link libraries:

QYPGNOT => Non-standard tasks that call both Q-routines and Y-routines

$LIBR/QNOT/SUBLIB:0:$QYPGNOT
$LIBR/QSUB/SUBLIB:0:$QYPGNOT
$LIBR/QPSAP/SUBLIB:0:$QYPGNOT
$LIBR/APLNOT/SUBLIB:0:$QYPGNOT
$LIBR/YSUB/SUBLIB:0:$QYPGNOT
$LIBR/YSS/SUBLIB:0:$QYPGNOT
$LIBR/APLSUB/SUBLIB:0:$QYPGNOT
$LIBR/APLLINUX/SUBLIB:0:$QYPGNOT
$LIBR/JUNKAPL/SUBLIB:0:$QYPGNOT
$LIBR/JUNKLIN/SUBLIB:0:$QYPGNOT

QYPGM => Standard tasks that call both Q-routines and Y-routines

$LIBR/QSUB/SUBLIB:0:$QYPGM
$LIBR/QPSAP/SUBLIB:0:$QYPGM
$LIBR/YSUB/SUBLIB:0:$QYPGM
$LIBR/YSS/SUBLIB:0:$QYPGM
$LIBR/APLSUB/SUBLIB:0:$QYPGM
$LIBR/APLLINUX/SUBLIB:0:$QYPGM
$LIBR/JUNKAPL/SUBLIB:0:$QYPGM
$LIBR/JUNKLIN/SUBLIB:0:$QYPGM




More information about the Daip mailing list