next up previous contents index
Next: Mgr module Up: sophya Previous: LinAlg and IFFTW modules   Contents   Index

Building and installing Sophya

Presently, the Sophya library compilation has been tested with the following compiler/platform pairs:

Compaq/DEC OSF1 cxx (6.0 , 6.2)
Linux g++ (2.91 , 2.95)
Linux KCC (3.4)
Solaris g++ (2.95)
SGI IRIX64 CC

Some of the modules in the Sophya package uses external libraries. The FitsIOServer is the example of such a module, where the libcfitsio.a is used. The build procedure expects to find the include files and the libraries in:
$EXTLIBDIR/Include/FitsIO
$EXTLIBDIR/`uname`-$EROSCXX/Libs

The object files from a given Sophya module are grouped in an archive library with the module's name ( libmodulename.a). All Sophya modules are grouped in a single shared library ( libsophya.so), while the modules with reference to external libraries are grouped in ( libextsophya.so). The PI and PIext modules are grouped in ( libPI.so).

The environment variables DPCDEVREP, EXTLIBDIR and EROSCXX must be defined in order to install the Sophya package. In the example below, we assume that we want to install Sophya from a released (tagged) version in the source directory $SRC in the /usr/local/Sophya diretory, using g++. We assume that the external libraries directory tree has been set up in /usr/local/ExtLibs/.

the use of GNU make is mandatory




# We select our C++ compiler
csh> setenv EROSCXX g++
# Setup the build directory
csh> mkdir /usr/local/Sophya/
csh> setenv DPCDEVREP /usr/local/Sophya/
csh> setenv EXTLIBDIR /usr/local/ExtLibs/
# Use the top level makefile in Mgr/ 
csh> cd \$SRC
csh> cp Mgr/Makefile Makefile
# Step 1: Create the directory tree and copy the include files (.h)
csh> make depend
# Step 2: Compile the modules without external library reference
csh> make libs
# Step 3: Compile the modules WITH  external library reference (optional) 
csh> make extlibs
# Step 4: Build libsophya.so
csh> make slb
# Step 5: Build libextsophya.so (optional)
csh> make slbext
# Step 6: Compile the PI and PIext modules (optional)
csh> make PI
# Step 7: Build the corresponding shared library libPI.so (optional)
csh> make slbpi

To compile all modules and build the shared libraries, it is possible to use:


# Step 2,3,6
csh> make all
# Step 4,5,7
csh> make slball

At this step, all libraries should have been made. Programs using Sophya libraries can now be built:


# To compile test programs
csh> cd Tests
csh> make arrt ...
csh> cd ..
# To compile other programs, for example from the PMixer module
csh> cd PMixer
csh> make
csh> cd ..
# To build (s)piapp (libPI.so is needed)
csh> cd ProgPI
csh> make 
csh> cd ..



Subsections
next up previous contents index
Next: Mgr module Up: sophya Previous: LinAlg and IFFTW modules   Contents   Index
Reza Ansari
2001-03-07