Porting FAQ


written by Joey Mukherjee -
joey@swri.org

Table of contents

  1. Overview
  2. Getting Started
  3. Platforms supported
  4. How To...

Overview

SDDAS is a very portable collection of software. We have successfully ported the system to a variety of platforms with little difficulty. This serves as a guide on how to port SDDAS to your target platform.

Getting Started...

First, obtain the source code to SDDAS. You can do this by emailing Sandee Jeffers at SJeffers@swri.org. Indicate how you wish to receive the source code. Either via mail, ftp, or web address... You will need to sign a license agreement. Next step is to try the compilation. You will need the following working correctly on your system:

  1. egcs v1.1b or later. This is obtainable from http://www.cygnus.com/egcs
  2. Imake
  3. Tcl/Tk v8.0.3 or later (This is obtainable from ftp.scriptics.com)
  4. CDF v2.6 and netCDFv2.4 for the Data Export application
  5. VTK v3.1 or later
  6. Mesa v3.0 or later

Both Tcl/Tk and VTK must be compiled a special way. Compile Tcl/Tk with the following options:

Here is what we use to compile Tcl/Tk:

./configure --enable-gcc --disable-load --prefix=/opt/local/tcltk

The enable-gcc forces GCC to be used. The disable-load forces static libraries to be created. Finally, the prefix is where to install.

VTK must be compiled with :

What we use is as follows:

configure --with-tcl --with-contrib --with-local --with-tk-widget --with-opengl --prefix=/opt/local/vtk31/OpenGL

Since we use Tcl/Tk, we include the --with-tcl and --with-tk-widget options. The --with-opengl tells it to use the native GL and finally the prefix is where to put it. The --with-contrib and --with-local tell it to include these directories when building. Finally, the local subdirectory must be populated with our special routines. Email joey@swri.org to get these routines. They are not included in the SDDAS source code.

Platforms Supported

We have sucessfully ported SDDAS to the following operating systems:

  1. Sun Solaris v2.5.1
  2. Hewlett-Packard HP-UX v10.20
  3. IBM AIX
  4. DEC Alpha Ultrix
  5. Linux

How To...

Here are the steps required to port SDDAS:

  1. Create a directory that will be home to SDDAS. This directory will be the new SDDAS_HOME.
  2. Create some subdirectories under SDDAS_HOME. These are :
    1. bin
    2. include
    3. lib
    4. src
  3. Untar the SRC.tar.gz in the src directory.
  4. Configure the SDDAS.rules to your target platform.
  5. Make sure either SDDAS.rules is in the Imake include file path, or set IMAKEINCLUDE to the directory where it is. (i.e. setenv IMAKEINCLUDE -I$SDDAS_HOME/src).
  6. Set your environment variable SDDAS_HOME.
  7. Do a "xmkmf -a" (or if that doesn't work, an "xmkmf" and then a "make Makefiles") in the src directory. If imake is installed correctly, and the SDDAS.rules is correct, everything should go fine.
  8. Type "make". If there are no errors so far, this is a very good sign and most things might go just fine.
  9. If the previous step completed fine, you can now compile the rest of SDDAS. To do this, do a make followed by (and in this order): first, second, third, fourth, fifth, sixth, seventh, and finally eighth. (e.g. "make second", "make third", ...)
  10. If you know everything will work fine since the SDDAS.rules is the same, then you can do a "make all".
  11. There is a problem with libSCF and libErrorMsgs. For right now, the work around is to just type "make all" again and it will eventually piece through it.

Notes: