OBSOLETE: SciSoft

Distributed in the Astro build, until such time as we have replaced it completely by more up-to-date versions of its constituent parts.

WARNING: The Apple port of SciSoft (which always had the unofficial nature) has not been updated since 2013; ESO's SciSoft page has described it as "no longer available" since at least June 2016, whatever other websites may still say. In particular said port contains seriously old versions of Python packages (Python 2.7, at that).

We are part-way through the process of replacing the useful parts of SciSoft with more up-to-date and complete packages and suites. Please see instead (eg):

We reserve the right to completely remove this port of SciSoft from the Astro build of macOS at any time. Tread with care. Continue at your own risk.

'Yere be dragons ---

.... That said, and on a strict "if this breaks, you get to keep both parts" basis: Access by:

Activate scisoft

This sources the appropriate startup file into your current shell, which in turn sets the appropriate environment variables. We also use this opportunity to add in some local bugfixes, eg to gnuplot, which have not yet made their way back into the Scisoft distribution.

Please see also:

Installed version

At the time of writing, saying either of:

Activate installed scisoft
Activate scisoft --available

.... at my shell prompt yields:

I see Scisoft Layout_C (2013-May-31) here.

This corresponds to the 2013.6.1 release of SciSoft for Mountain Lion.

Manifest

Say:

Activate help scisoft
Activate help scisoft | less # Page it

.... at the command line.

Libraries:

If you wish to link one or more of the Scisoft libraries into your own software, Activate Scisoft in the usual manner, then add the following command-line option to your compiler, to tell it where the libraries live:

-L$SCISOFT_ROOT/lib

(no space after the L). To find C header files, use also:

-I $SCISOFT_ROOT/include

(including the space after the capital I).

  • Good News:
    • The Activation will set all the appropriate environment variables for you, including $DYLD_LIBRARY_PATH and $DYLD_FRAMEWORK_PATH (and their variants), in one easy-to-use package. This will permit your compiled program to find various run-time libraries and frameworks.

    • The Activation also sets environment variables such as $LDFLAGS and $CFLAGS for you; these are understood by the make facility. If you have a well-constructed Makefile, your job is done. (Sadly, not every Makefile out there is well-constructed, partly because some incarnations of make are more equal than others.)

  • Bad News:
    • You do need to have Activated Scisoft in the current shell before running your program. This is especially mystifying if you've logged out and back in again, or are attempting to run the program in a different Terminal and/or xterm.

    • If you've Activated SciSoft, the aforementioned environment variables can easily trip up an invocation of make in ways you aren't expecting. The most notorious such variable is $F77, which SciSoft sets to something related to IRAF. If you suspect problems of this sort, the quickest way to check is to say:

      gcctest

      .... which reports whence various compilers came, and lists some of the environment variables which can lead make astray.

  • Ugly News: Certain parts of Scisoft use Apple's graphics interface, known variously as Aqua, Carbon, Cocoa and Quartz. Aqua cannot be tunnelled over SSH, as can the X11 protocol; you will therefore need to use VNC to use the resultant executables. For libraries which use X11 instead, see The Starlink collection.

    • AquaTerm is one known offender, for tolerably obvious reasons. Because of this, use of gnuplot over SSH requires care: say:

      set term x11

      .... at the GNUplot prompt before doing any plots. (This is a Good Move anyway, as for some reason AquaTerm seems to lack the feedback channel by which one can interact with the resultant plot, eg to zoom in on interesting features.)

    • Similar considerations apply to anything which uses Apple's version of the Tcl/Tk libraries, which sadly now includes much of Scisoft itself.

    • If you're going to use VNC, you will need to have left yourself logged onto your system, and to have fired up the VNC server, before you walk away from it. It's up to you to determine whether this is worth the security exposure. Please remember also the annoyance factor of finding your system has had to be rebooted to take on system updates (that's a when, not an if .... some security updates really are mission-critical serious).

Categories: Apple | Astro software | Astrophysics | Development | Mac | OS X | scisoft