CMW Libraries at GSI
This section contains information about the CMW Libraries used at GSI.
Overview
The main usage of CMW Framework at GSI is to ensure the functionality of the FESA Framewok, which includes the communication layer and the logging capability. Those functionalities are provided by the cmw-rda and cmw-log packages. However they have multiple dependencies to other packages of CMW Framework and hence are also used by the GSI. The following figure provides the overview of the packages and their build dependencies.
OmniORB and IceUtils are 3rd part libraries. However CMW Framework is using only a thread part of the IceUtils library, which is also modified by the CERN middleware team. The modied sources for the IceUtils can be found in the CERN repository.
The OmniORB Verision used by the CMW RDA is 4.1.2. At GSI we had some issues compiling it under SL Linux 6, so we used the latest version - 4.1.6.
Building
In Order to build the CMW libraries at GSI (Scientific Linux 6) following points need to be considered:
- The required libraries (see figure above) can be checked out from the CERN repository
- Additionally a tagged version used by FESA is also copied into a GSI repository
- The build requires some common configuration files (Make.cmw, Make.generic and Make.common), those can be obtained from the CERN repository
- The configuration files need to be adjusted according the environment, e.g. the -m32 flag for the compiler
- Currently the used and tested omniORB version is 4.1.6
- The build of omniORB for a 32bit target System requires a 32bit Python interpreter (can be cross-compiled)
- The used and tested 32bit Python version is 2.7.3
- An attached build script can be used to build the libraries