*************************************************************************** * * * SciAn README File * * Eric Pepke * * September 13, 1993 * * * *************************************************************************** This file describes the process of obtaining and installing SciAn on your workstation. Please read it thoroughly before doing any installation. I know it's not always much fun to read things before jumping in and compiling, but please do it anyway--there are some definable options that you need to know about before you begin. Table Of Contents 1.0 Introduction 2.0 System requirements 2.1 FORTRAN option 2.2 HDF option 2.3 NetCDF option 2.4 JPEG option 3.0 Obtaining and installing SciAn 3.1 Connecting to ftp.scri.fsu.edu 3.2 Downloading the SciAn Package 3.3 Installing SciAn 3.3.1 Preparing the installation options 3.3.2 Assigning font mappings 3.3.3 Compiling and linking SciAn 3.3.4 Releasing SciAn 3.3.5 Local options 4.0 Obtaining the documentation 4.1 PostScript format 4.2 Microsoft Word format 5.0 Using the technical notes 6.0 Getting help 6.1 Common problems and solutions --------------------------------------------------------------------------- 1.0 Introduction SciAn is a scientific visualization and animation program for Silicon Graphics and IBM RISC/Sytem 6000 workstations. It was developed at the Supercomputer Computations Research Institute at Florida State University to help meet the daily visualization needs of our scientists. SciAn is primarily intended to do 3-D visualizations of data in an interactive environment with the ability to generate animations using frame-accurate video recording devices. A user manual, on-line help, and technical notes will help you use the program. As a research institution, we have always relied upon the availability of free software to meet our needs, and we wanted to give something back to the research community in return. For this reason, we are making SciAn available at no charge. If you have problems with or suggestions about SciAn, please don't hesitate to send us electronic mail. However, please understand that we are a research institution, not a software development company. We work best in an environment of cooperation and collaboration, and we hope that you will join us. If you use SciAn to produce images or animations for publication, please give credit to the Supercomputer Computations Research Institute at Florida State University. It is a lot easier to justify continuing to put effort into maintaining SciAn if we can point to places where it is being used to do real work. 2.0 System requirements SciAn currently runs on two platforms: 1) Silicon Graphics 4D workstations 2) IBM RISC/System 6000 workstations Beginning with version 0.60, SciAn should run on all Silicon Graphics Power Series, Personal IRIS, and Indigo workstations with Z-buffer capability. It will not run on very old workstations, such as the 1000, 2000, and 3000 series. SciAn will run only on IBM RISC/System 6000 workstations that have 3-D graphics accelerators that provide GL compatibility. SciAn also requires a Z-buffer. If there is any question about whether your hardware provides this, please get in touch with your system manager or IBM sales representative. (IBM makes a bewildering variety of hardware, and I can't keep up, but the magic words are Z-buffer and 3-D GL compatibility.) On all workstations, SciAn ABSOLUTELY REQUIRES a Z-buffer. If you try to run it on a workstation that does not have a Z-buffer, you will get strange results. Because SciAn is distributed as source code, you must also have access to a C compiler to install. Any old ANSI C will do; you don't need C++. In addition to the basic SciAn, there are several installation options. The automatic installation process as described in Section 3.3.2 takes care of detecting and modifying the installation for these options. It is necessary to have the correct libraries and languages installed before you begin to install SciAn. 2.1 FORTRAN option If a FORTRAN compiler is present on your system, SciAn will use it to compile the PLOT-3D file reader to be able to read unformatted FORTRAN data files. If you don't have a FORTRAN compiler, the PLOT-3D file reader will only be able to read formatted and binary files. In order to compile using FORTRAN, there must be a FORTRAN compiler in the /bin, /usr/bin, /usr/local/bin, or . directories. The name of the FORTRAN compiler is given in the flags.?.make file as described in section 3. 2.2 HDF option SciAn may also optionally be installed using the Hierarchical Data Format (HDF) library developed by the National Center for Supercomputing Applications at the University of Illinois at Urbana-Champaign. This library is available via anonymous FTP from ftp.ncsa.uiuc.edu. We strongly recommend that you obtain this library, as it provides a good data format. You must install the HDF library, libdf.a, in /lib, /usr/lib, or /usr/local/lib before starting the SciAn installation process. SciAn will work with versions 3.1, 3.2, and 3.3 of the HDF library. 2.3 NetCDF option SciAn may optionally be installed using the NetCDF library, which is available via anonymous FTP from unidata.ucar.edu. We strongly recommend that you obtain this library, as it provides a good data format. You must install the NetCDF library, libnetcdf.a, in /lib, /usr/lib, or /usr/local/lib before starting the SciAn installation process. There must also be a library called librpcsvc.a, which normally comes with the system software, in /usr/lib. Silicon Graphics machines must also have the Sun compatibility library, libsun.a. 2.4 JPEG option The JPEG animation recorder driver provides an easy way to save animation in a series of compressed JPEG files. In order to use this, you must install the JPEG library developed by Rodney Hoinkes at the Centre for Landscape Research. It is available via anonymous ftp from uceng.uc.edu. There are several libraries available from this site; the one you need is called libCLRjpeg4.a. It must be installed in /lib, /usr/lib, or /usr/local/lib. 3.0 Obtaining and installing SciAn If you would like to obtain SciAn, please send electronic mail to scian-info@scri.fsu.edu, if you haven't already done so. You can also request to be put on the SciAn mailing list, which will keep you informed of updates. There is no requirement to sign a license agreement for SciAn, but it is important to keep track of who is using it, so that we can show those who fund us that we are doing useful work for the research community. SciAn is normally distributed via anonymous ftp from ftp.scri.fsu.edu. If you do not have access to anonymous ftp, send us mail, and we'll try to figure out some other way to get you the program. It is much easier to get the program through ftp, however, and it's certainly easier to get updates that way. 3.1 Connecting to ftp.scri.fsu.edu Before you connect to the SciAn distribution machine, make sure that you are in a directory on your machine where you want the SciAn source to reside. You will need a few megabytes to keep the files during the installation process. To connect to ftp.scri.fsu.edu, start up ftp on your unix machine like this: ftp ftp.scri.fsu.edu When asked for a user name, enter anonymous. When asked for a password, enter your network electronic mail address. The SciAn program and documentation are located in the SciAn subdirectory of the pub directory. To get into that directory, enter cd pub/SciAn In that directory, you will find a README file (which is this document) and several subdirectories. The release subdirectory contains the release versions of SciAn. Obtaining SciAn from this directory is described in section 3.2. The beta subdirectory contains versions of SciAn for our beta testers. These versions are not as thoroughly tested as the release versions. When a version passes beta test, it is moved to the "release" directory. The patches subdirectory contains minor patches to particular versions of SciAn which do not require the bother of recompiling the entire source. You will receive notice of patches through the SciAn mailing list. The documentation subdirectory contains documentation for SciAn. Obtaining and printing it is described in section 3.3. The technotes subdirectory contains technical notes for using SciAn. These are text files that contain information about topics that we haven't had time to put in the manual. 3.2 Downloading the SciAn Package In the "release" subdirectory (enter cd release to get to the directory) you will find several files. They will all have names of the form scianXXX.tar.Z, where XXX is the version number of SciAn. For example, the file scian082.tar.Z contains SciAn version 0.82. It is usually best to get the latest version of SciAn, unless you have recieved a note to use an older version. You must download the file in binary mode. Most versions of ftp figure out that the target machine is running UNIX and go into binary mode automatically. Just to make sure, enter image to put ftp in binary mode. Now it is time to download SciAn. Let's assume that you want to download SciAn version 0.82. Enter get scian082.tar.Z After the file has been transferred, you can get out of ftp by entering bye or quit, depending on the version of ftp you have. The SciAn distribution is a compressed tar file. The first step in getting the file ready is to uncompress it. Enter uncompress scian082.tar When the uncompress command finishes, you will have a file called scian082.tar. To extract the individual files from the tar file, enter tar -xvof scian082.tar If you get an error message, try tar -xvf scian082.tar Many files will be extracted from the SciAn tar file. Files ending in .c, .h, and .f are the source files of SciAn. (Currently, you don't need the FORTRAN compiler to compile SciAn.) The Makefile and files with .make in their names are for the make program. There is also a directory called demo which contains demonstration files for SciAn. There may also be a file called RELEASE.NOTES. Look in this file to determine special features of the version you have just downloaded. 3.3 Installing SciAn Before SciAn can be installed, it must be configured to your machine. In order to understand the process of configuration, you must first understand how the SciAn source is structured. One copy of the SciAn source is used to produce all versions of SciAn. Which version is being compiled depends on constants defined in the file machine.h. At compile time, the file tests constants to see if it is running on an IBM or a Silicon Graphics machine and adjusts automatically. However, there are several options that you need to set by hand. There are four basic steps in installing SciAn: 1) Prepare the installation options by entering make INSTALL. Read everything the computer prints to the console. If there is an error which will cause problems later on in the installation, it will be described in a message, and you will need to fix the error and repeat this step. 2) Assign font mappings for special characters according to the fonts on your computer. 3) Compile and link SciAn by entering make scian (or pmake scian on Silicon Graphics machines with more than one processor). 4) Release SciAn by moving the scian executable and the demo files to the appropriate directories. These steps are described in the following four sections, 3.3.1 through 3.3.4. They should work for nearly all installations. Some sites may have local options, such as locally developed additions to SciAn. Information on this is described in section 3.3.5. 3.3.1 Preparing the installation options When all the supplemental libraries as described in section 2 have been installed, the first basic step in installation is to prepare the installation options. This is an extremely important step, and if you forget to do it, you may get link errors later. Enter make INSTALL A program called ScianPreInstall will go through the options defined in machine.h and check to make sure that the libraries that are needed are present on your system. When ScianPreInstall runs, it will ask you questions and print some messages to the console. Read everything it prints! ScianPreInstall will tell you if there is anything that needs to be changed in the optional libraries. Do not proceed to the next step until ScianPreInstall tells you that it is OK to do so. ScianPreInstall also writes several important files, which will be included into the source code and make file when you make scian. If and only if make INSTALL has given you the go-ahead to compile, you can go on to the next step. 3.3.2 Assigning font mappings The next step in the installation is to assign font mappings. SciAn uses some characters in the Silicon Graphics font library which are outside the normal range of ASCII characters. Unfortunately, which characters are which has changed as new versions of the operating system and the font manager have come out. It is necessary for you to tell SciAn what the mappings are. To do this, enter make FONTS at the console. If you are running on a Silicon Graphics workstation, you MUST be at a graphics console when doing this. On all other machines this will just produce a message and generate a file, and you can go on to the next step. On the Silicon Graphics, this will run a program that will put up a window which will ask you to find the various characters. Follow the directions given to you by the program, and then you will be able to go on to compiling SciAn. This step really only needs to be done when you install SciAn for the first time, or when you do an upgrade of the operating system which changes the characters in the fonts. If you are having any trouble with special characters within SciAn, e.g., the copyright C in a circle doesn't appear on the Copyright help screen, then you must do this step and recompile SciAn. You can omit this step entirely, in which case a set of default mappings will be used. The default mappings will probably work on your system, unless you are running an old version of the operating system. If not, the worst that can happen is that you won't be able to see some special characters. 3.3.3 Compiling and linking SciAn To make SciAn, enter make scian If you are making on a Silicon Graphics machine with more than one processor, you can do a parallel make instead by entering pmake scian The makefile will compile and link SciAn resulting in an executable named scian. If you get any kind of error, make sure that the configuration is set up correctly as described in sections 3.3.1 and 3.3.2. If that doesn't help, read through section 6.1. If you still cannot figure out what is wrong, send mail to us at scian-bugs@scri.fsu.edu. When scian has been made, test it out by typing ./scian. The user manual has a brief tour, but if you don't have a copy of the manual, you can get on-line help by clicking the mouse in the title window. 3.3.4 Releasing SciAn The final step in installing SciAn is to release it to the users of your machine. First copy the scian executable file to a place where users can reach it. One good place to put it is in /usr/local/bin. Then copy or move the demo directory to some directory where users can reach it and tell your users where it is. The user manual refers to this directory, so your users need to know its location. The executable of the Silicon Graphics version of SciAn should run on any Silicon Graphics workstation. However, the IBM RS/6000 version will probably only run on workstations configured in a similar way to the workstation where it was compiled. If you are running in a heterogeneous environment with several different versions of AIX, you may need to keep several executables of SciAn. 3.3.5 Local options Although the standard installation process works for most people, some sites may have unusual setups that require modification to work. This section gives some hints for possible configuration requirements. In order to understand how to do this, you need to know a little about how the installation process works. Running make INSTALL compiles and executes a program called ScianPreInstall. This program determines what kind of machine it has been compiled on (using the include file machine.h). Currently, two machine types are recognized: IBM RS/6000 workstations, and Silicon Graphics workstations. These are called "ibm6k" and "sgi4d" respectively. Once SciAn PreInstall determines the basic machine type, it looks at a number of installation source files, each containing the name of the machine type. Currently, these files are the following: flags.ibm6k.make flags.sgi4d.make flfiles.ibm6k.make flfiles.sgi4d.make lfiles.ibm6k.make lfiles.sgi4d.make The flags.*.make files contain symbol definitions that are included in the Makefile. These give the names of the C and FORTRAN compilers and compilation and linking options. The lfiles.*.make files contain the names of link libraries, one per line, that are required for standard linking. The flfiles.*.make files contain the names of link libraries, one per line, that are required for linking when FORTRAN has been used. All libraries are the names that will be used with the -l flag when linking. For example, a library that appears in flags.sgi4d.make as gl_s refers to the library libgl_s.a and results in a flag -lgl_s on the link line. The search paths for link libraries and compilers, as well as the names of the optional libraries, are currently hard-coded into the beginning of ScianPreInstall.c. In addition, ScianPreInstall reads the file machine.local.h, if present. This contains lines to be included into the C source, such as #define constants. ScianPreInstall.c produces a number of files (lfiles.make, flfiles.make, and flags.make) that are directly included in the Makefile. In addition, it produces a number of include files (machine.extras.h, machine.hdf.h, machine.jpeg.h, etc.) which specify compilation options for SciAn. The names of the C and FORTRAN compilers are specified in the flags.sgi4d. make or flags.ibm6k.make, whichever is appropriate. By default they are cc and f77, respectively. To change the names, change them in this file and make INSTALL again. The C compiler is also used to link SciAn. To add to the search path for header files or libraries, change the CFLAGS, FFLAGS, or LFLAGS symbols in flags..make and make INSTALL again. If the new search path is used for one of the SciAn optional libraries such as HDF, you may also need to edit the ScianPreInstall source code before doing make INSTALL. If you are compiling on an IBM RS/6000 machine, you may need to define the MENUSFROM0 constant in machine.h. The numbering of menu items in GL is supposed to start at 1. However, some versions of the IBM GL emulation, such as with AIX 3.1.5, start at 0. There isn't really any way to tell this beforehand, but if you compile SciAn and notice that the wrong menu items are getting grayed, you will need to go back and change this. 4.0 Obtaining the documentation Documentation can be downloaded in two forms: PostScript files and Macintosh files for Microsoft Word 5. 4.1 PostScript format PostScript files for the manuals are located in the documentation subdirectory. The name of the user manual is of the form userXXX.ps.tar.Z, and the name of the reference manual is of the form refXXX.ps.tar.Z, where XXX is the version of SciAn. For example, for version 0.80 of SciAn, there is a user manual named user080.ps.tar.Z and a reference manual named ref080.ps.tar.Z. There may also be a file of the form colorXXX.ps.tar.Z, which contains a color plate that can be printed out on a color PostScript printer. Each file is a compressed tar file, similar to the file containing the SciAn software, as described in section 3. Make sure that ftp is using the binary format by typing 'image' and then download the files. After you exit ftp, uncompress the files using the uncompress command. Then use the tar command to extract the files from the archive. For example: uncompress user080.ps.tar tar xvf user080.ps.tar The tar command will produce a number of PostScript files, all ending in the .ps extension. You can print out these PostScript files according to the rules for the printers at your site. 4.2 Microsoft Word format Microsoft Word files are located in the documentation subdirectory. The name of the user manual is of the form userXXX.msw.sit.hqx, and the name of the reference manual is of the form refXXX.msw.sit.hqx, where XXX is the version of SciAn. For example, version 0.80 of SciAn has a user manual named user080.msw.sit.hqx and a reference manual named ref080.msw.sit.hqx. There may also be a file of the form color080.msw.sit.hqx, which contains a color plate that can be printed out on a color printer. The manual is in Macintosh Word 5 format and has been compressed and encoded with Stuffit. Use BinHex4 or StuffIt to decode the file and then use StuffIt to extract the archive. When printing the manual, be sure to check "Color/Grayscale" in the print dialog. Printing the manual requires a lot of memory, so it may be necessary to increase the amount of memory used by Word. If you use background printing, it may be necessary to quit all other open applications. If you still have problems, try printing the manual in sections. 5.0 Using the technical notes When we need to release information about some aspect of SciAn that cannot wait for the long time delay in releasing a new version of the manual, we will put a technical note in the technotes directory. A file called INDEX will give summaries of all the technical notes in the directory. Technical notes are not guaranteed to be easy to understand and may cover esoteric topics. 6.0 Getting help We hope you enjoy SciAn. If you have difficulty installing it, please first check through this file to make sure that you are doing everything correctly. Be sure to look through section 6.1. If you still have problems, send a message to scian-bugs@scri.fsu.edu. If you have suggestions for new features for SciAn, please send them to scian-bugs@scri.fsu.edu. Please keep in mind that we are a research program and not a software house, and we work better in collaboration with you. 6.1 Common problems and solutions This section contains some problems that a few people have had during installation or printing of the manual. Please check this section if you have a problem. PROBLEM: I get link errors. SOLUTION: About 95% of the time this is due to forgetting to do make INSTALL before doing make scian. Make INSTALL is a very, very important part of the installation process. It will set up the link files to link properly if it can and will tell you what to do to fix it if it can't. PROBLEM: When I link, I see a message saying that ScianFontMapper.h can't be found. SOLUTION: This indicates that you haven't gone through the 'make FONTS' process to generate the font mappings. See section 3.3.3 PROBLEM: When I link, I get DFSDgetmaxmin or DFSDgetrange undefined. SOLUTION: Between versions 3.1 and 3.2 of the NCSA HDF library, they changed the name of one of the routines from DFSDgetmaxmin to DFSDgetrange. SciAn can link using either, but you have to specify in machine.h. Look for constants beginning with the letters HDF. The make INSTALL process will tell you if SciAn is correctly configured for the right version of HDF. PROBLEM: When I print the manual, the figures come out funny! SOLUTION: Make sure you are using the latest version of the Apple laser printer drivers, and turn background printing off. PROBLEM: SciAn compiles fine on the IBM, but when I run it, I get an error and it exits. SOLUTION: This one can mean a wide range of things, from trivial to disastrous. In ascending order of difficulty, these are some of the things we have run into: 1) When a user brings up X, some versions of AIX assume that the user "owns" the GL emulator and does not allow anyone else to use it. Make sure that you are the user that ran xinit. 2) Binaries compiled under different versions of the operating system will not run on other versions. (Also see MENUSFROM0 in machine.h.) Make sure that you have compiled and run on the same machine. 3) There are some software configurations that prevent you from using the GL emulator from within X. Check with your system manager to see if this is the case. 4) If you have multiple versions of the X library, the search path specified may get the wrong one. If this is the case, change the order of the directories in lfiles.ibm6k.make and rerun make INSTALL. DO NOT change lfiles.make; it is written by make INSTALL. 5) SciAn does not run on every IBM system, only on those with graphics accelerators that can do 3-D GL emulation, have Z-buffers, and can do RGB color. PROBLEM: When I try to run it on the IBM, the wrong menu items appear to highlight, and the fonts don't work in text boxes on the screen. SOLUTION: This probably means that you have compiled under AIX 3.1.5 without defining MENUSFROM0 in machine.h. Take a look at machine.h, run "make INSTALL" again, and try to make again. This problem is further explained in section 3.3.1.