Table of Contents
A) Distribution Contents
B) Preliminary Note
C) Associated executables
D) Environmental variables
E) Compiling the "3dma" executable
F) Compiling the "3dmaGUI" executable
G) Testing the compilation
A) Distribution Contents
The 3DMA_Neuron distribution comes as a Unix gzip'd, tar'd file containing the following directory structure.
med_ax Test bin src USER_AGREEMENTFor purposes of this discussion, we assume the user installs the distribution at the absolute address "/home".
e.g. cd /home gunzip 3dma_neuron_0104.tar.gz tar -xf 3dma_neuron_0104.tar
B) Preliminary Note
As we frequently find ourselves with several versions of the 3DMA-Neuron executables present, compiled for different Unix architectures, we have adopted the convention that the names of executables involved with running the 3DMA-Neuron 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_lnx
3dmaGUI_lnx
C) Associated executables
The 3DMA-Neuron code consists of two main executables, "3dma_lnx", which executes command-line strings, and "3dmaGUI_lnx", which is the graphical user interface through which the user interacts with the command line executable "3dma_lnx". (See further discussion in http://www.ams.sunysb.edu/~lindquis/3dma/3dma_neuron/3dma_neuron_run.html)
Before these executables can be run, some associated executables in "/home/med_ax/bin" must be constructed.
% cd /home/med_ax/binThere are also the supporting executable shellscripts
% gcc stripcomm.c -o stripcomm_lnx
% gcc static_analysis.c -o static_analysis -lm
% gcc mtif_header.c -o mtif_header -lm
% cd /home/med_ax/bin/JGRAPH
% make jgraph
% mv jgraph ..
% make clean
in "/home/med_ax/bin" which do not have to be compiled.
nar differ run3dma runcase generate_inputfile stif_2_mtif create_wdir
D) Environmental Variables
To compile and run the 3DMA-Neuron code executables, the "path" environmental variable must list the directories "/home/med_ax/bin" and "." (the current directory).
% set path=( $path /home/med_ax/bin . )(Again, pay particular attention to including the "." (period character))
Additionally, the environment variable "HOME_3dma" must be set, containing the directory where the med_ax directory is found.
% setenv HOME_3dma /home
E) Compiling the "3dma" executable
E1) Makefile changes:
Edit the file "/home/med_ax/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" source code has been updated to reflect these changes. If the machine on which "3dma" 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" 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" on RedHat7.X and below.
To exchange these directories so that "3dma" can be compiled on RedHat7.X or below, execute the following commands:
% cd /home/med_ax/srcThis exchanges the directory names so that compilation should work properly.
% mv seg_krig seg_krigRH8
% mv seg_krigRH6 seg_krig
E3) To compile the "3dma" executable:
% cd /home/med_ax/srcThis will install the the executable "/home/med_ax/bin/3dma_lnx".
% make 3dma >& makelog &
Note the makefile uses the utility "/home/med_ax/bin/nar" which provides modifications to the UNIX "ar" command.
F) Compiling the "3dmaGUI" executable
F1) Motif/Lesstif
The 3DMA-Neuron graphical user interface (GUI) uses Motif (SGI/Irix machines) or LessTif (Linux). On some machines (e.g. RedHat Linux 8.0), this package is already installed with the OS; otherwise a public distribution of LessTif can be downloaded from http://www.lesstif.org.
To compile and run the "3dmaGUI" executable, the environment variable "LD_LIBRARY_PATH" must be set to the absolute path address of the Motif (LessTif) libraries.
For Linux:
% setenv LD_LIBRARY_PATH ':/usr/local/LessTif/Motif2.0/lib'
or
% setenv LD_LIBRARY_PATH ':/usr/X11R6/LessTif/Motif1.2/lib'
For SGI:
% setenv LD_LIBRARY_PATH ':/usr/Motif-1.2/lib32'
F2) Makefile changes:
Edit the file "/home/med_ax/src/makefile" and check the macro definitions of "XMINCLUDE" and "XMLIBS" on lines 65 through 79. The "XMINCLUDE" ("XMLIB") entry must contain the absolute path address of the Motif/LessTif "include" ("lib") directory respectively.
eg: For Linux running LessTif/Motif version 1.2:
XMINCLUDE = -I/usr/X11R6/include -I/usr/X11R6/LessTif/Motif1.2/include
XMLIBS = -L/usr/X11R6/lib -L/usr/X11R6/LessTif/Motif1.2/lib -lXm -lXt -lX11
% cd /home/med_ax/srcThis will install the the executable "/home/med_ax/bin/3dmaGUI_lnx".
% make 3dmaGUI >& makelogGUI &
Note the makefile uses the utility "/home/med_ax/bin/nar" which provides modifications to the UNIX "ar" command.
G) Testing the 3DMA-Neuron executables
Once you have built the "3dmaGUI" executable, the 3DMA-Neuron code can
be run following the instructions at
http://www.ams.sunysb.edu/~lindquis/3dma/3dma_neuron/3dma_neuron_run.html.
This html file also explains how to perform an initial test using data
available in the "/home/med_ax/Test" directory.