next up previous contents
Next: Testing the Compilation Up: Medial Axis Analysis of Previous: Unbundling the Software Distribution

Compiling 3DMA

The source code currently contains files written in C (Kernighan and Ritchie), C++ and FORTRAN-77. It has been compiled on IBM, SUN, SGI, DEC and LINUX workstations using the GNU gcc/g++ compilers (version 2.7 and higher) and standard Fortran 77 compilers.

B)		Associated executables

B1)	Before the code can be built and run, a few executables in med_ax/bin
	must be constructed.


		% cd med_ax/bin
		% cc stripcomm.c -o stripcomm_sun

		% cd med_ax/bin/src_jgraph
		% make jgraph
		% make clean

	There are also executable shellscripts

		runcase 	differ		nar

	in med_ax/bin which do not have to be compiled. 


B2)	Note to netcdf data file users:

	If you are using netcdf data files with a filename convention

		sliceXXX.cdf

	where XXX is a three digit slice designator, this convention
	differs from the 3dma code which requires filenames have the
	convention

			NAME.XXX

	where `NAME' is arbitrary, and XXX is the three digit slice
	designator.  The utility  cdf_rename.c  is provided to enable
	rapid renaming of the sliceXXX.cdf files. It is compiled as

		% cd med_ax/bin
		% cc cdf_rename.c -o cdf_rename



C)		Compiling the 3dma executable

C1)	To compile and run the 3dma code, med_ax/bin must be added to
	the   `path'   variable

	eg:

		% set path=( $path med_ax/bin )


C2)	Edit the file  med_ax/src/makefile and check the macro definitions
	on lines 1 through 45.

	a) The string ARCH must agree with the architecture identifying
	   string chosen in `Prelimary Note A' above.

	   eg:
		ARCH = sun

	b) If you are using the netcdf library, the macro  NETCDF must be
	   set to the absolute path address of the netcdf library

	   eg:

		NETCDF = /dat_g/srsong/netcdf

	   If you are not using the netcdf library, uncomment the appropriate
	   `no netcdf stuff'  entries.


C3)	To compile the 3dma_code:

		% cd med_ax/src
		% make 3dma >& makelog &

	( this will install the the executable   med_ax/bin/3dma_sun )

	Note the makefile uses the utility    med_ax/bin/nar

	which provides modifications to the UNIX  `ar'  command.



Brent Lindquist
Thu Sep 30 12:33:54 EDT 1999