Table of Contents
A) Distribution Contents
B) Preliminary Note
C) Associated executables
D) Environmental variables
E) Compiling the "3dma_fiber" executable
F) Testing the compilation
A) Distribution Contents
The 3DMA_Fiber distribution comes as a Unix gzip'd, tar'd file containing the following directory structure.
3dma_fiber bin src USER_AGREEMENTFor purposes of this discussion, we assumed the user installs the distribution at the absolute address "/nfs/3dma_fiber".
As we frequently find ourselves with several versions of the 3DMA-Fiber executables present, compiled for different Unix architectures, we have adopted the convention that the names of executables involved with running the 3DMA-Fiber code have an architecture identifying string appended. The string to be appended can be chosen by the user; we employ obvious choices such as "sun", "sgi", "irix", "lnx". For purposes of this discussion, we shall use the string "lnx".
The affected executables are:
stripcomm_lnx
3dma_fiber_lnx
The 3DMA-Fiber code consists of the main executable, "3dma_fiber_lnx", which executes command-line strings. (See further discussion in the 3DMA-Fiber primer)
Before these executables can be run, some associated executables in "/nfs/3dma_fiber/bin" must be constructed.
% cd /nfs/3dma_fiber/binThere are also the supporting executable shellscripts
% gcc stripcomm.c -o stripcomm_lnx
% cd /nfs/3dma_fiber/bin/src_jgraph
% make jgraph
% mv jgraph ..
% make clean
in "/nfs/3dma_fiber/bin" which do not have to be compiled.
nar differ runcase
To compile and run the 3DMA-Fiber code executables, the "path" environmental variable must list the directory "/nfs/3dma_fiber/bin".
% set path=( $path /nfs/3dma_fiber/bin )
E1) Makefile changes:
Edit the file "/nfs/3dma_fiber/src/makefile" and check the macro definitions on lines 1 through 64.
The string "ARCH" must be set to the architecture identifying string chosen in section B) Prelimary Note.
ARCH = lnx
Significant changes were made to the Gnu C++ compiler starting with the RedHat8.0 release. The "3dma_fiber" source code has been updated to reflect these changes. If the machine on which "3dma_fiber" will be compiled is running RedHat8.0 or higher, no changes to the code are necessary.
For RedHat7.0 and below, you can still compile and run the "3dma_fiber" executable. All C++ changes occured in the "seg_krig" directory. For backwards compatibility, there is a "seg_krigRH6" directory which contains the affected source code for running "3dma_fiber" on RedHat7.X and below.
To exchange the source code so that "3dma_fiber" can be compiled on RedHat7.X or below, execute the following commands:
% cd /nfs/3dma_fiber/src
% mv seg_krig seg_krigRH8
% mv seg_krigRH6 seg_krig
E3) To compile the "3dma_fiber" executable:
% cd /nfs/3dma_fiber/srcThis will install the the executable "/nfs/3dma_fiber/bin/3dma_fiber_lnx".
% make 3dma_fiber >& makelog &
Note the makefile uses the utility "/nfs/3dma_fiber/bin/nar"
which provides modifications to the UNIX "ar" command. "nar" calls
the Unix archive facility "ar" with the "-o" option (extract files
from archive with original dates). On some Unix operating systems,
the "-o" option to "ar" is not supported. Lack of this option causes
no fundamental problems, but is does lead to recompilation of all files
in a subdirectory if any file within the subdirectory is changed.
Once you have built the "3dma_fiber_lnx" executable, the 3DMA-Fiber code can
be run following the instructions in the
3DMA-Fiber primer.
This html file also explains how to perform an initial test by
downloading data into a Test directory.