skip to content
 
HEASARC: Software

 

Instructions for using HEASOFT in the Cygwin Environment

Important Note for CYGWIN users: Please read the README.CYGWIN document below before using HEAsoft in the Cygwin environment. Also, the HEAsoft pre-compiled binaries are not guaranteed to work with versions of Cygwin earlier than 1.5.25 (the version these binaries were compiled under) due to changes in the Cygwin DLL and in the X11R6 libraries. If you have problems running the binaries, please check your version of Cygwin (try the "uname -a" command) and upgrade if necessary (or build from source).

Please also note that not all packages are available for Cygwin: Suzaku and the FV/GUIS packages are not currently available for Cygwin. FV users should see the FV page to download the latest FV GUI for the native Windows platform instead.


*******************************************************************************
                                README.CYGWIN
                   INSTRUCTIONS FOR USING HEASOFT IN CYGWIN
*******************************************************************************

From http://www.cygwin.com:

   Cygwin is a Linux-like environment for Windows. It consists of two parts:
   A DLL (cygwin1.dll) which acts as a Linux emulation layer providing
   substantial Linux API functionality.  A collection of tools, which provide
   Linux look and feel. 

   The Cygwin DLL works with all non-beta, non "release candidate", ix86
   32 bit versions of Windows since Windows 98, with the exception of
   Windows CE.

Instructions for installing CYGWIN:

1) Using a web browser, navigate to http://www.cygwin.com

   Click on "Install or update now (using setup.exe)" to download setup.exe.
   If you already have a copy of setup.exe, locate and double-click it to
   begin the next step.

2) Run setup.exe

   Choose a download source, root directory, (default text file type = unix),
   local package directory, connection type, and download site (for example,
   ftp://ftp.nas.nasa.gov), and then select packages.

   * Important: the default package selections are insufficient for using
     HEASOFT.  PLEASE READ THE FOLLOWING CAREFULLY:

   Once you have reached the "Select Packages" window, the top-most line
   will look something like this:

            +All () Default

   But by default, not all of Cygwin is installed.  You should click the
   arrowed circle (or the word "Default") in the first line beside "+All"
   until it says "Install" instead of "Default" (one click should do it),
   i.e. the top line should then look like this:

            +All () Install

   This will install all of Cygwin.  In the past, we have suggested a set
   of required packages for building or using HEASOFT, but as the contents
   of Cygwin packages seem to change regularly, we strongly recommend that
   you install everything to avoid missing any necessary items.

   If you experience problems during the Cygwin setup, please check the
   resources available at the Cygwin site:

     http://cygwin.com/faq/                             (Cygwin FAQ)
     http://cygwin.com/lists.html                       (Cygwin mailing lists)
     http://sources.redhat.com/cygwin/cygwin-ug-net/    (Cygwin User's Guide)
     http://www.cygwin.com/cygwin-ug-net/setup-net.html (help with setup.exe)


*******************************************************************************
                           BUILDING HEASOFT
*******************************************************************************

Once you have installed CYGWIN as described above, the HEASOFT build
process is the same as on any other UNIX platform.  Please read the
HEASOFT-INSTALL.TXT document for compilation, installation, and
initialization instructions.

IMPORTANT: You should not attempt to build or install HEASOFT in or below
a directory that contains spaces in its name!  Your HOME directory (the
environment variable "$HOME") must also not be in or below a directory that
contains spaces in its name.  It is also a good idea to make sure that your
PATH does not contain any paths with spaces in their names, as this can also
cause the build to fail.

If you encounter any "fork_copy" errors during the build ("cannot fork,
resources temporarily unavailable"), you may need to close down other
running programs/processes and try again.

Note that you will need approximately 1 Gb of free disk space for a
complete HEASOFT installation from the source distribution.  HEASOFT
libraries containing Fortran code exhibit faulty behavior when built
shared under Cygwin.  To address this problem, these libraries are
currently built statically under Cygwin, with the result that binaries
are slightly larger here than on other platforms.

Lastly, at LHEA we have primarily tested HEASOFT with the Cygwin DLL
release 1.5.19 installed on a PC (i686) running Windows XP, and using
the GNU compilers version 3.4.4.  While the underlying Windows version
may not be critical (since Cygwin is the actual environment we're
concerned with), we cannot make guarantees about the functionality of
HEASOFT under all Windows platforms.  We have successfully built
HEASOFT under Cygwin installed on Windows XP, and generally expect
that GNU compilers newer than version 3.3 will suffice to compile HEASOFT.


*******************************************************************************
                    NOTES ON USING HEASOFT IN CYGWIN
*******************************************************************************

There is a known problem with Perl modules (new as of HEASOFT 6.0) under
Cygwin which requires users to perform an additional step after installing
HEASOFT.  A complete explanation of the problem can be found at:

  http://www.tishler.net/jason/software/rebase/rebase-2.3.README

The extra step which is required is to run "rebaseall" on the HEASOFT shared
libraries (.dlls).  Recent versions of the rebaseall script require some minor
editing in order to run properly in the context described below.  We recommend
editing /usr/bin/rebaseall to comment out lines 52-60 and 107-108:

52,60c52,60
< grep -q -v '/ash$' /proc/[0-9]*/exename
< if [ $? -eq 0 -a -z "$RebaseDebug" ]
< then
<     echo "$ProgramName: only ash processes are allowed during rebasing"
<     echo "    Exit all Cygwin processes and stop all Cygwin services."
<     echo "    Execute ash from Start/Run... or a cmd or command window."
<     echo "    Execute rebaseall from ash."
<     exit 2
< fi
---
> #grep -q -v '/ash$' /proc/[0-9]*/exename
> #if [ $? -eq 0 -a -z "$RebaseDebug" ]
> #then
> #    echo "$ProgramName: only ash processes are allowed during rebasing"
> #    echo "    Exit all Cygwin processes and stop all Cygwin services."
> #    echo "    Execute ash from Start/Run... or a cmd or command window."
> #    echo "    Execute rebaseall from ash."
> #    exit 2
> #fi

107,108c107,108
< zcat /etc/setup/*.lst.gz | egrep "($Suffixes)\$" |
<     sed -e '/cygwin1.dll$/d' -e 's/^/\//' >"$TmpFile"
---
> #zcat /etc/setup/*.lst.gz | egrep "($Suffixes)\$" |
> #    sed -e '/cygwin1.dll$/d' -e 's/^/\//' >"$TmpFile"

If you prefer not to edit this script in place, you might instead make a
copy of rebaseall elsewhere under a different name (e.g. "hdrebaseall")
and make the edits to that instead.  Then, in the example below, run your
modified script instead of /usr/bin/rebaseall.

After you have made these modifications to rebaseall and have finished the
HEASOFT installation procedures, make sure that no Cygwin processes other
than bash are running, and 

	$ cd $HEADAS
	$ chmod +wx lib/lib*.dll
	$ find lib -name '*.dll' > dlls.txt
	$ rebaseall -T dlls.txt

If rebaseall runs without errors, the tools utilizing perl modules
(perldemo or perldemo2, for example) should now work.

--------

The BASH shell is the default shell used by Cygwin upon startup.  If you
prefer to use TCSH (and have obtained the tcsh shell during the Cygwin setup), 
simply type "tcsh" to enter TCSH.  You may also choose to create a desktop
shortcut to C:\cygwin\bin\tcsh.exe to bypass the bash start-up.

The default Cygwin window is a small terminal.  Under Windows NT (or newer)
you may increase the size/history properties of the window by right-clicking
on the upper left-hand corner of the window, selecting "Properties", and
changing the Height to e.g. 999 under "Screen Buffer Size".  Earlier versions
of Windows may not support this behavior.  You may eventually want to start
X-Windows anyway, in which you will have new windows (XTERMs) of varying and
adjustable sizes.  To start X-Windows, simply type "startx".  You MUST be in
X-Windows to use the plotting capabilities of e.g. XIMAGE, XSPEC, or FPLOT.

While Tcl/Tk 8.4.x compiles under Cygwin, we have encountered problems
with Tk functionality in the HEASOFT tools which use Tk.  As a result,
the Tk capabilities of XIMAGE and XSELTK are not available under Cygwin.
Additionally, the FV GUI is not available via a source build, but users
may download a Windows version of FV from:

   http://heasarc.gsfc.nasa.gov/docs/software/lheasoft/ftools/fv/

Please report any build-related or run-time problems to us via the FTOOLS
help desk at:

   http://legacy.gsfc.nasa.gov/cgi-bin/ftoolshelp


Thanks for using HEASOFT!


Help lines: FTOOLS or xanprob@athena.gsfc.nasa.gov

Web page maintained by Bryan K. Irby


HEASARC Home | Observatories | Archive | Calibration | Software | Tools | Students/Teachers/Public

Last modified: Thursday, 17-Apr-2008 13:15:31 EDT