######################################################################
#
# Copyright 1995-1997 Petrotechnical Open Software Corporation
#
# POSC grants permission to copy or reproduce this material in its
# original form for internal use only.
#
# This software is subject to the provision of the "POSC Software
# License Agreement" which states in part:
#
# 1) Licensee accepts a non-exclusive, non-transferable, license
# to use, display, modify and distribute works derived from the
# licensed documentation and Software Product.
#
# 2) Licensee shall have no right to distribute in its original
# form any Software Product or documentation licensed under this
# agreement.
#
######################################################################
#
# (c) Copyright 1997 Petrotechnical Open Software Corporation
#
######################################################################
This directory is the source directory of POSC Epicentre implementation,
which holds the program building environment that includes source code of
the swizzle functions for accessing non-relational E&P data types, and a
compatibility layer for running DAE v2.2 programs against the relational
projection. The users are not allowed to change the directory structure
from this point on.
This directory includes:
README - this file
/bin - holds executables
/build - holds source files for building executables
/include - prototype header files for building applications
/lib - libraries and object files
/test - Regression test directory
The following environment variables are used in building:
$POSC_SYSBASE - this directory
$POSC_HOST - The host OS version type, like SunOS-5.5.1
$POSC_DBTYPE - Database type: oracle, sybase, informix
$POSC_BIN - directory with the executables.(loaders, etc.)
$POSC_LIB - directory with the libraries.
$POSC_INCLUDE - directory with the header files
$POSC_BUILD - root directory of the source code files.
$POSC_DAE - directory with source code for Data Access and
Exchange, under $POSC_BUILD, defined for the
convenience of compiling.
After a successful build, the executables under $POSC_BIN are ready to use.
The directory /pds_root includes ddl, meta data, and relational reference
data, etc. Refer to the README file under /pds_root for further
information.
Building Steps for Win95/WinNT installation:
-------------------------------------------
1) set environment variables by running '<script>.bat'
(opcexch7.bat has been provided as a sample in the /env_scripts
directory. Change as appropriate)
2) cd %POSC_BUILD
3) nmake -f Makefile.vc clean - not necessary the first time
4) nmake -f Makefile.vc - compile and link
NOTE: Make sure to have enough environment space for the variables set in the
batch file (watch for 'Out of environment space' warnings).
Skip the next paragraph (Building Steps for UNIX installation) if installing
on Win95/NT and continue reading at "Limations" below.
Building Steps for UNIX installation:
------------------------------------
1) set environment variables by 'source <script>' (in env_scripts)
(For information on creating a script for setting up these environment
variables, see the README file in the pds_root directory, in the
section titled 'ENVIRONMENT VARIABLES')
2) cd $POSC_BUILD
3) make clean - not necessary the first time
4) make - compile and link
If you use GNU make and gcc, g++, you should expect a successful compilation.
If you run into database linking errors (undefined symbols), for ORACLE
refer to the "Linking the Oracle version" below.
Limitations:
-----------
This implementation has been developed on SUN machines running
SunOS 4.1.3 and Solaris 2.5.1 using Oracle, Sybase and informix.
Limited testing was performed.
Also, the seismic and well log loaders were tested only on the SUN.
The seismic loader loads only cubes, not traces (try making your trace
a long thin cube).
The supplemental library has only been run using gcc and GNU Make
(see below).
The supplemental library doesn't determine the BDAL using tables
method_set, method_param, method_choice. Therefore, even if you
make your own BDAL, the supplemental library won't use it unless
you explicitly call rdaeMethodChoice. If this is a bother, there
is a single function in pcco_frames.c which is now stubbed to always
return POSC's own BDAL. You could simply fix this routine.
The supplemental library doesn't dynamically link BDAL's. To add
a new BDAL, you must add a line to the rdaeInitStatus.c (under
directory $POSC_BUILD/libsrc/epiLibFrame) routine.
Compiler and make versions:
--------------------------
The source and make files can be built using GNU Make version 3.7*
and GNU gcc version 2.7.*. If you do not already have this
freeware, it is available on the first CD in /Files/GNU.
It should be possible to use the software in conjunction with
other compilers and make programs, but you should expect to
encounter some difficulties during the compile and link stage
which will have to be fixed.
If you do choose to use a different compiler, please be aware that
this software uses gcc's g++ capabilities (the rest of
the layer uses only the ansi C capabilities).
To find your own compiler and make versions, use the commands
make -v
gcc -v
Compiler warnings:
-----------------
Depending on your version of gcc, you will probably see some compiler
warnings. You can ignore unless you get actual errors.
We tried to provide all proper prototypes. But expect some missing
ones.
Some versions of gcc treat NULL differently than others. This causes
a lot of "makes pointer from integer without a cast" warnings.
Linking the Oracle version:
--------------------------
The Makefile for linking ORACLE database use include file
$POSC_INCLUDE/proc.mk to define OCILDLIBS for ORACLE libraries. If
a linking error occurs, try copy approperiate platform dependent files
under this directory $POSC_INCLUDE (proc.mk.hp, proc.mk.ibm, ...) to
this proc.mk.
The Oracle version was tested using server release 7.3.2.3.0.
Due to the complexity of the link and that each version of Oracle
tends to have different linking instructions, You will need to modify
the proc.mk* file supplied with this release.
If you still experience difficulties linking, make a copy of your own
proc.mk. You may choose to use $ORACLE_HOME/rdbms/lib/oracle.mk.
Strip off the targets, and replace these files with it as appropriate.
TROUBLESHOOTING:
---------------
0) Errors with delimiters in the make files.
The make files are not compatible with the SunOS's standard make.
You must use GNU make.
1) Linking difficulties.
Newer versions of GCC are probably okay but older ones should be
avoided.
Make sure the "make" in your path is GNU make (try make -v).
Make sure the headers are proper (a common symptom with problems in
this area is trouble with functions named "exit" and "abort").
[Return to text file]
[Return to Getting Started Introduction]