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