Changeset 978 in Sophya for trunk/SophyaLib/Manual/sophya.tex


Ignore:
Timestamp:
Apr 28, 2000, 10:58:49 AM (25 years ago)
Author:
ansari
Message:

MAJ doc sophya overview - Reza 28/4/2000

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/Manual/sophya.tex

    r974 r978  
    66\usepackage{graphicx}
    77% package a mettre pour faire du pdf
    8 % \usepackage{palatino}
     8\usepackage{palatino}
    99
    1010%  Extension de symboles mathematiques
     
    1313\usepackage{defsophya}
    1414
    15 %  Definition de taille de page
    16 \setlength{\textwidth}{16cm}
    17 \setlength{\textheight}{21.5cm}
    18 \setlength{\topmargin}{0.5cm}
    19 \setlength{\oddsidemargin}{0.cm}
    20 \setlength{\evensidemargin}{0.cm}
    21 \setlength{\unitlength}{1mm}
    2215
    2316
     
    2518
    2619\begin{titlepage}
    27 \vspace{1cm}
    28 \makebox[30mm][c]{\includegraphics[width=3cm]{hfi_icon_vsmall.eps}}
    29 \hspace{5mm} \raisebox{12mm}{\rule{75 mm}{0.5 mm}\makebox[50 mm]{\bf Sophya }}
    30 \vspace{2cm}
    31 \begin{center}
    32 \par \renewcommand{\baselinestretch}{2.0} \small
    33 {\LARGE \bf
    34 Sophya  \\
    35 An overview
     20\titrehp{Sophya  \\ An overview }
     21\auteurs{
     22R. Ansari     &  ansari@lal.in2p3.fr       \\
     23G. Le Meur    &  lemeur@lal.in2p3.fr       \\
     24C. Magneville &  cmv@hep.saclay.cea.fr     \\
     25S. Versille   &  versille@lal.in2p3.fr     
    3626}
    37 \par \renewcommand{\baselinestretch}{1.0} \normalsize
    38 \vspace{5 cm}
    39 \begin{tabular}{ll}
    40 {R. Ansari} & {\tt ansari@lal.in2p3.fr} \\
    41 % {. Lesquoy} & {\tt lesquoy@hep.saclay.cea.fr} \\
    42 {G. Le Meur} & {\tt lemeur@lal.in2p3.fr} \\
    43 {C. Magneville} & {\tt cmv@hep.saclay.cea.fr} \\
    44 \end{tabular}
    45 
    46 \end{center}
    47 \vfill
    48 \hfill
    49 \framebox[\textwidth]{\hspace{0.5cm} \bf Sophya
    50 \hspace{1cm} \today } \\
     27% \auteursall
     28\titrebp{2}
    5129\end{titlepage}
    5230
     
    5432
    5533\newpage
    56 
    5734
    5835\section{Introduction}
     
    6946with the specific goal of providing the general framework for
    7047the Planck-HFI data processing software. However, most of the
    71 packages presented are independent of Planck and CMB analysis
    72 problem.
     48packages presented here have a more general scope than the CMB analysis
     49and Planck surveyor mission problem.
    7350  The source directory tree
    7451\footnote{ CVS server: cvsserver.lal.in2p3.fr:/projects/Eros/CVSEros}
     
    9067\end{itemize}
    9168
    92 Modules designed for problems related to CMB analysis :
    93 
     69The modules listed below are more tightly related to the
     70CMB (Cosmic Microwave Background) data analysis problem:
    9471\begin{itemize}
    9572\item[] {\bf SkyMap/} Local and full sky maps
     
    10178\end{itemize}
    10279
    103 Modules containing interface classes with external libraries:
     80The following modules contain the interface classes with
     81external libraries:
    10482\begin{itemize}
    10583\item[] {\bf FitsIOSrever/} Classes for handling file input-output
     
    123101\end{itemize}   
    124102
    125 \section{Mgr/ module and software installation}
     103\section{Using Sophya}
     104Two environment variables {\bf DPCBASEREP} and {\bf EROSCXX} are used
     105to define the path where the Sophya libraries and executable are installed.
     106{\bf DPCBASEREP} defines the base directory path and {\bf EROSCXX} the
     107name of the C++ compiler. The complete path is built using {\bf DPCBASEREP},
     108the operating system name (as obtained by the {\tt uname} command), and
     109the compiler name. In the example below, we show the complete path
     110for a {\tt Linux} system, using the GNU g++ compiler:
     111
     112\begin{itemize}
     113\item \$DPCBASEREP/Include : Include (.h) files
     114\item \$DPCBASEREP/Linux-g++/Libs : Path for the archive libraries (.a)
     115\item \$DPCBASEREP/Linux-g++/ShLibs : Shared library path (.so)
     116\item \$DPCBASEREP/Linux-g++/Exec : Executable file path
     117\end{itemize}
     118
     119In order to use the shared libraries, the {\bf LD\_LIBRARY\_PATH} variable
     120should contain the Sophya shared library path
     121({\tt \$DPCBASEREP/Linux-g++/ShLibs } when using g++ compiler on Linux)
     122
     123The file {\tt \$DPCBASEREP/Include/MakefileUser.h} defines the compilation
     124flag and the list of Sophya libraries. It should be included in the
     125user's makefile. The default compilation rules assumes that the object (.o)
     126and executable files would be put in the following diretories: \\
     127{\tt \$HOME/`uname`-\$EROSCXX/Objs} \\
     128{\tt \$HOME/`uname`-\$EROSCXX/Exec}.
     129In the case of a {\tt Linux} system and using {\tt g++} as the C++ compiler,
     130these two directories would be translated to \\
     131{\tt \$HOME/Linux-g++/Objs} and {\tt \$HOME/Linux-g++/Exec}.
     132The GNU make program should be used.
     133\par
     134The file {\tt \$DPCBASEREP/Include/makefile\_auto} defines the rules to compile
     135a given source program, and link it against the Sophya libraries to produce
     136an executable. The example below shows the steps to compile a program named
     137{\tt trivial.cc }.
     138\begin{verbatim}
     139csh> cp $DPCBASEREP/Include/makefile_auto makefile
     140csh> make trivial
     141\end{verbatim}
     142This command should compile the {\tt trivial.cc} file, producing
     143{\tt \$HOME/`uname`-\$EROSCXX/Objs/trivial.o} and link it against the sophya
     144libraries to produce {\tt \$HOME/`uname`-\$EROSCXX/Exec/trivial}.
     145\par
     146The file {\tt \$DPCBASEREP/Include/makefile\_example} provides another
     147example makefile.
     148
     149
     150\section{Building and installing Sophya}
     151Presently, the Sophya library compilation has been tested with the following
     152compiler/platform pairs:
     153
     154\begin{center}
     155\begin{tabular}{ll}
     156Compaq/DEC OSF1  &     cxx  (6.0 , 6.2)  \\
     157Linux            &     g++  (2.91 , 2.95)  \\
     158Linux            &     KCC  (3.4)   \\
     159Solaris          &     g++  (2.95)  \\
     160SGI IRIX64       &     CC           \\
     161\end{tabular}
     162\end{center}
     163
     164Some of the modules in the Sophya package uses external libraries. The
     165{\bf FitsIOServer} is the example of such a module, where the {\tt libcfitsio.a}
     166is used.
     167The build procedure expects to find the include files and the libraries in: \\
     168{\tt \$EXTLIBDIR/Include/FitsIO } \\
     169{\tt \$EXTLIBDIR/`uname`-\$EROSCXX/Libs} \\
     170
     171The object files from a given Sophya module are grouped in an archive library
     172with the module's name ({\tt libmodulename.a}). All Sophya modules
     173 are grouped in a single shared library ({\tt libsophya.so}), while the
     174modules with reference to external libraries are grouped in
     175({\tt libextsophya.so}). The {\bf PI} and {\bf PIext} modules are
     176grouped in ({\tt libPI.so}).
     177
     178The environment variables {\bf DPCDEVREP}, {\bf EXTLIBDIR} and {\bf EROSCXX}
     179must be defined in order to install the Sophya package.
     180In the example below, we assume that we want to install Sophya from a
     181released (tagged) version in the source directory {\tt \$SRC} in the
     182{\tt /usr/local/Sophya} diretory, using {\tt g++}. We assume that
     183the external libraries directory tree has been set up in
     184{\tt /usr/local/ExtLibs/}. \\[3mm]
     185\centerline{\bf \large the use of GNU make is mandatory.}
     186\vspace*{3mm}
     187\begin{verbatim}
     188# We select our C++ compiler
     189csh> setenv EROSCXX g++
     190# Setup the build directory
     191csh> mkdir /usr/local/Sophya/
     192csh> setenv DPCDEVREP /usr/local/Sophya/
     193csh> setenv EXTLIBDIR /usr/local/ExtLibs/
     194# Use the top level makefile in Mgr/
     195csh> cd $SRC
     196csh> cp Mgr/Makefile Makefile
     197# Step 1: Create the directory tree and copy the include files (.h)
     198csh> make depend
     199# Step 2: Compile the modules without external library reference
     200csh> make libs
     201# Step 3: Compile the modules WITH  external library reference (optional)
     202csh> make extlibs
     203# Step 4: Build libsophya.so
     204csh> make slb
     205# Step 5: Build libextsophya.so (optional)
     206csh> make slbext
     207# Step 6: Compile the PI and PIext modules (optional)
     208csh> make PI
     209# Step 7: Build the corresponding shared library libPI.so (optional)
     210csh> make slbpi
     211\end{verbatim}
     212
     213To compile all modules and build the shared libraries, it is possible
     214to use:
     215\begin{verbatim}
     216# Step 2,3,6
     217csh> make all
     218# Step 4,5,7
     219csh> make slb
     220\end{verbatim}
     221
     222At this step, all libraries sould have been made. Programs using
     223Sophya libraries can now be built:
     224\begin{verbatim}
     225# To compile test programs
     226csh> cd Tests
     227csh> make arrt ...
     228csh> cd ..
     229# To compile other programs, for example from the PMixer module
     230csh> cd PMixer
     231csh> make
     232csh> cd ..
     233# To build (s)piapp (libPI.so is needed)
     234csh> cd ProgPI
     235csh> make
     236csh> cd ..
     237\end{verbatim}
     238
     239\section{Mgr/ module}
     240This module contains scripts which can be used for ge
    126241blabla ...
    127242
Note: See TracChangeset for help on using the changeset viewer.