Overview | Releases | Download | Docs | Links | Help | RecentChanges

OmniORB

OmniORB is a CORBA implementation created by Omni.

The [OmniORB homepage].

From OnlineSoftware version 00-20-00, OmniORB took over from ILU as the default CORBA implementation.

See also CORBA, ORB, DocumentationForOmniMigration and AcronymSoup.

python needs omnipy, to get this we will need to add omnipy to the tdaq release, which will mean compiling tdaq

TDAQ compilation notes

cd ~/LESTER_PLAY/

mkdir -p cmt
echo "use tdaq tdaq-01-09-01" > cmt/project.cmt

export TDAQ_DIR=/afs/cern.ch/atlas/project/tdaq

# From https://pcatdwww.cern.ch/cmt/#develop
source $TDAQ_DIR/cmt/bin/cmtsetup.sh tdaq-01-09-01


$TDAQ_DIR/cmt/bin/getpkg omni


cd ~/LESTER_PLAY/omni/omni-04-08-08/cmt
cmt show uses
cmt config

# The above step has to be done once when you checked-out the package and later each time when you change version of CMT, version of the package ot it's location.

######### OF WE GO ##############


source setup.sh


gmake
gmake inst
gmake check

Python notes in SctApiIPC/PythonBuild/README

Read this readme file.  Then read the comments in getInitRef.py  and try running it.  The file getInitRef.py steps the user through navigating an IPC tree and connecting to objects.



# The version of omniidl that comes with TDAQ does not include suport for python bindings.  Therefore as a different user (lester) I installed omniORB and omniORBpy with 
#
# configure --prefix=/atlas/lester/usr/local
# 
# Having done so, we can use this better version of omniorb to generate python stubs back as user "sctrod" in the following way:


#/atlas/lester/usr/local/bin/omniidl -bpython -I/r16/atlas/tdaq/tdaq/tdaq-01-08-04/installed/include -I$SCT_DAQ_ROOT/include ../SctApi.idl /r16/atlas/tdaq/tdaq/tdaq-01-08-04/installed/include/ipc/ipc.idl ../../sctConfIPC/configuration.idl  ../../SCT/src/Addressing.idl 



/atlas/lester/usr/local/bin/omniidl -bpython -I$TDAQ_INST_PATH/include -I$SCT_DAQ_ROOT/include \
$TDAQ_INST_PATH/include/ipc/ipc.idl \
$SCT_DAQ_ROOT/AnalysisService/src/AnalysisServiceInterface.idl \
$SCT_DAQ_ROOT/ArchivingService/src/ArchivingServiceInterface.idl \
$SCT_DAQ_ROOT/CalibrationController/src/ipc/CalibrationController.idl \
$SCT_DAQ_ROOT/FittingService/service/FitterInterface.idl \
$SCT_DAQ_ROOT/SCT/CORBA_Test/example1/Rabbit.idl \
$SCT_DAQ_ROOT/SCT/CORBA_Test/example2/Rabbit.idl \
$SCT_DAQ_ROOT/SCT/UnitTest/marshalling.idl \
$SCT_DAQ_ROOT/SCT/src/Addressing.idl \
$SCT_DAQ_ROOT/SCT/src/DeletableServant.idl \
$SCT_DAQ_ROOT/SCT/src/RefCountServant.idl \
$SCT_DAQ_ROOT/SCTTestAPI/SctTestApi.idl \
$SCT_DAQ_ROOT/SctApiIPC/SctApi.idl \
$SCT_DAQ_ROOT/SctService/src/SctService.idl \
$SCT_DAQ_ROOT/SctService/test/ObserverInterface.idl \
$SCT_DAQ_ROOT/sctConfIPC/configuration.idl


# Makes
#  SctApi_idl.py  SctApi_idl.pyc  Sct_SctApi  Sct_SctApi__POA


#Then 
 export PYTHONPATH=$PYTHONPATH:/atlas/lester/usr/local/lib/python2.3/site-packages

#which amounts in cambridge to
# export PYTHONPATH=/r16/atlas/tdaq/tdaq/tdaq-01-08-04/installed/i686-slc4-gcc34-opt/lib:/atlas/lester/usr/local/lib/python2.3/site-packages
# and presumably
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/atlas/lester/usr/local/lib

#in cern I only installed omniorbpy in /tmp/usr/local on pcatsct06, so here I use instead

export PYTHONPATH=PythonStubs:/tmp/usr/local/lib/python2.3/site-packages:/afs/cern.ch/atlas/project/tdaq/cmt/tdaq-01-09-00/installed/i686-slc4-gcc34-opt/lib:/usr/lib/python2.3/site-packages

#Later I moved /tmp/usr to ~sctroddq/lester/usr and so now need

export PYTHONPATH=PythonStubs:$HOME/lester/usr/local/lib/python2.3/site-packages:/afs/cern.ch/atlas/project/tdaq/cmt/tdaq-01-09-00/installed/i686-slc4-gcc34-opt/lib:/usr/lib/python2.3/site-packages

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:PythonLibs


#then 

python
import SctApi_idl

or to run our test python script getInitRef.py from the current directory do

python
import getInitRef