OpenSpirit enable cross-vendor, cross platform... Integration of Data and Applications
About Us Products Support Services Clients News Contact Us
Developer FAQ: Version 2.5.0 Developer FAQ Menu

Applications >> Distribution

What is the preferred way to distribute an OpenSpirit enabled application?
What do I do about the linking error I'm getting when I try to compile on Solaris with Forte6 Compiler against OpenSpirit?

What is the preferred way to distribute an OpenSpirit enabled application?

OpenSpirit strives for compatibility between client and server at the IIOP level for minor releases. This means we can introduce new objects, new methods, or attributes on existing objects or new data store implementations without breaking existing clients built against older versions of the same minor release. Client applications only need to be modified in order to take advantage of new functionality released in newer versions.

We do not necessarily guarantee full compatibility with client side utilities between releases. For this reason we recommend that customers deploy a small subset of the OpenSpirit shared object libraries from the OpenSpirit version their client was built against, which will ensure that your client applications will work with newer versions of the servers.

Specifically, we suggest that you ship the libraries (listed below) with your software distribution. If you follow this recommendation your application built against a version "x" OpenSpirit will continue to work with all version "x" OpenSpirit commercial releases made after your deploy your application. For example, if you build against v2.4.0, your application will continue to work against a v2.5.x installation. The only caveat is that you will not be able to take advantage of new functionality, but existing functionality will continue to work..

Java - All Platforms

Only use classes defined in the org.*, com.openspirit.osp.util, and the com.openspirit.osp.event Java packages and do not bundle anything.

Libraries for Solaris C++ UNIX (Solaris/LINUX/IRIX) Clients

Bundle all of the shared libraries contained in the $OSP_DEV_HOME/lib* directory and in the $OSP_DEV_HOME/external/mico/lib directory. (the lib directory name differs based on platform and compiler).

The shared libraries in the lib* directory are:

  • libOpenSpiritC.so
  • libosp_cppUtil.so
  • libosp_eventUtil.so
  • libosp_osp.so
  • libosp_util.so
  • libosp_x11EventHandler.so
  • libospInterpretation.so
  • libospSeismic.so
  • libospShapes.so
  • libospWell.so

The shared libraries in the external/mico directory are:

  • libmico2.3.11.so

If the application is using the X11 event handler:

  • libmicoaux2.3.11.so

The OSP utility libraries don’t use the libraries below. The only time these libraries are required if the application is using specific CORBA features:

  • libmicoir2.3.11.so
  • libmicox2.3.11.so

Libraries for Windows C++ Clients

Bundle all of the DLLs contained in the %OSP_DEV_HOME%\bin folder of the Windows OpenSpirit developer kit. The DLL’s in the v2.6.0 bin folder are:

  • mico2311.dll
  • msvcp71.dll
  • msvcr71.dll
  • ospInterpretation.dll
  • ospSeismic.dll
  • ospShapes.dll
  • ospWell.dll
  • osp_Cos.dll
  • osp_Dos.dll
  • osp_Ep.dll
  • osp_Epi.dll
  • osp_Store.dll
  • osp_cppUtil.dll
  • osp_eventUtil.dll
  • osp_internal.dll
  • osp_osp.dll
  • osp_util.dll

.NET - Windows platform only

Bundle the osp_Net.dll contained in the %OSP_DEV_HOME%\bin\osp.Net folder of the Windows OpenSpirit developer kit. This DLL contains the OpenSpirit .NET assembly and does not depend on any other OpenSpirit or MICO DLL.

The osp_Net.dll is a .NET Framework 1.1 assembly. The framework must be present on the target computer by the time of deployment. We recommend to place the osp_Net.dll into the target computer’s GAC using standard installation features or the GACUTIL (version 1.1.4322) utility provided by Microsoft.

COM - Windows platform only

Bundle the osp_Net.dll and the osp_Net.tlb files contained in the %OSP_DEV_HOME%\bin\osp.Net folder of the Windows OpenSpirit developer kit. The osp_Net.dll contains the OpenSpirit .NET assembly which must be registered in the end user’s global assembly cache. The COM interfaces must also be registered using the osp_Net.tlb file.

The osp_Net.dll assembly is required in order to run applications using OpenSpirit utility libraries through COM interface. The osp_Net.tlb file is used for development only; the deployment of that file is not required. We recommend the register the osp_Net.dll assembly using standard installation features or the REGASM (version 1.1.4322) utility provided by Microsoft.

Back to Top ...

What do I do about the linking error I'm getting when I try to compile on Solaris with Forte6 Compiler against OpenSpirit?

The Solaris OpenSpirit and MICO libraries shipped with OpenSpirit v2.5 were compiled with the "Forte Developer 7 C++ 5.4" compiler using the "-compat=4" flag, which makes them backwards compatible with the older SC 4.2 compiler.

If you are compiling your own application with the Forte6 or Forte7 compiler (not using the "-compat=4" flag), then the shipped libraries will not be likely to work for you because Sun's newer compiler isn't link-compatible with SC 4.2 generated libraries.

We have recompiled and made available all the OpenSpirit client libraries, using various compiler options.

The full source code and a go-by Makefile is available in $OSP_HOME/src if you need to compile the OpenSpirit client libraries with other compilers and/or options for your application.

Back to Top ...

Site Map      Legal      Privacy
Planning Well
OpenSpirit Home