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/.
# 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 ..