This package is the version of the OpenScientist osc_vis used by the LHCb/Panoramix event display. Below are instructions to build on a local Linux or macOS machine, but also to build on lxplus by using the gcc, Qt and Python packages used by LHCb, which are now under: /cvmfs/lhcb.cern.ch/lib/lcg/releases/[gcc,Python,qt] /////////////////////////////////////////////////////////////// //// build osc_vis : ////////////////////////////////////////// /////////////////////////////////////////////////////////////// <source setup the desired compiler> cd osc/osc_vis/mgr To build code over C lib, STL and OpenGL only : ./build To build [gtk,Qt,OpenMotif,Python] related code, you may have to customize : ../../../inexlib/exlib/mgr/use_[gtk,Qt,Xt,Python] and then : ./build -[gtk,Qt,Xt,Python] For Qt and Python, on lxplus for a build for LHCb, see the special note below. To build the release : ./build_release It produces the zip distribution binary file : ./bin_[gnu,clang]/distrib/osc_vis-<version>-<platform>-<compiler>.zip To have a trace of what happens (what is compiled, linked), you can type : ./build -v and to be fully verbose : ./build -x To remove the per package bin_<config> directories with binaries : ./build -clean_all /////////////////////////////////////////////////////////////// //// install ////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// To install a binary kit, for example under you home directory, in an existing writable "local" directory : cd ~/local <get a zip binary kit> unzip -q osc_vis-<version>-<platform>-<compiler>.zip cd osc_vis/<version> ./install The ./install script enforces the installation path in the [aida-]setup.[csh,sh] scripts. You have to execute it once. /////////////////////////////////////////////////////////////// //// use ////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// After installation, to use the kit you have to "source setup" it by sourcing, according your shell, or the setup.sh or the setup.csh script. If you have a sh flavoured shell : sh> . <installation_path>/osc_vis/<version>/setup.sh sh> osc-plot (sh> osc-plot -gtk) (sh> osc-plot -Xt) If you have a csh flavoured shell : csh> source <installation_path>/osc_vis/<version>/setup.csh csh> osc-plot If using Qt, you may have to source setup it : sh> . ./Qt-setup.sh # to find the Qt shared libs of the # Qt installation used at build time. (csh> source Qt-setup.csh) sh> osc-plot -Qt /////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// To test the graphics with osc-plot : - Choose the Viewer3D tab to have the Inventor decorations. - Help => Examples => Examples/AIDA/DLD => Histogram2D/lego plot - Play with the thumb wheels. /////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// If using Python, you may have to source setup it : sh> . ./py-setup.sh # to find the python program of the # Python installation used at build time. (csh> source py-setup.csh) sh> . ./Python-setup.sh # to set PYTHONPATH to find osc_vis plugins. (csh> source Python-setup.csh) sh> cd Resources/AIDA/examples/Python sh> python aida_0.py sh> OSC_GUI_TOOLKIT=Qt;export OSC_GUI_TOOLKIT (csh> setenv OSC_GUI_TOOLKIT Qt) sh> python aida_1.py WARNING : the python program must be the one coming from the Python installation used to build the plugins ([Coin,HEPVis,OnX,OnXLab]_SWIG_Python.so). You must be aware that multiple python programs may exist on your machine. /////////////////////////////////////////////////////////////// //// Qt, Python on lxplus ///////////////////////////////////// /////////////////////////////////////////////////////////////// The exlib/mgr/use_Qt, use_Python are tuned to find Qt and Python on the "lcg area" under : /cvmfs/lhcb.cern.ch/lib/lcg/releases/[Python,qt] If "being on lxplus" is detected (by using `uname -n`), then the version of Python, Qt used is choosen from a BUILD_CONFIG variable that you have to define before launching the build for Python, Qt. For example : sh> export BUILD_CONFIG=x86_64-centos7-gcc62-opt Obviously you must take care to be on the correct kind of machine, then here a 64 bits machine under centos7, and be sure to use the right compiler. Here typing : sh> g++ --version should return you a 6.2.x version. Various version of g++ can be found under : /cvmfs/sft.cern.ch/lcg/contrib/gcc For example to setup a 6.2 one under a csh shell, type : csh source /cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/6.2.0/x86_64-centos7/setup.csh Under the configs directory some scripts can be found to setup both the compiler and BUILD_CONFIG for the configs already known by exlib/mgr/use_[Qt,Python]. Note that on lxplus, someone can build the Qt driver (./build -Qt), but also the gtk2 (./build -gtk) and the OpenMotif (./build -Xt) ones since gtk2 and OpenMotif are installed on the system. (And put all together, if displaying on a remote machine, OpenMotif is still the most effective!)