Remote PixelDAQ Installion

This document describes the stand-alone installation and compilation of the PixelDAQ software on stand-alone hosts.

Prerequisites

One host machines for installation/compilation installed with 32-bit SLC5 or RHEL5 with

development packages installed.

These additional packages are required as well (list probably not complete)

  • qt-devel
  • glib2-devel
  • wine (only required for DSP code compilation)
Installation of TDAQ software

Recommended for now is to copy the TDAQ installation from SR1 with rsync. TDAQ should be copied to /daq on the target host.

On the target host:

mkdir -p /daq/slc5

On atlpix01:

cd /daq/slc5 ; rsync -avz --exclude "new/*" --exclude "old/*" * target_host:/daq/slc5

In case the target host is behind a firewall the rsync command needs to modified to ssh to a public host first:

cd /daq/slc5 ; rsync -avz --exclude "new/*" --exclude "old/*" * -e "ssh publichost ssh" target_host:/daq/slc5

Change default compiler to gcc 3.4

The current PixelDAQ version does currently only compile with gcc version 3.4. To make gcc 3.4 the default compiler:


mkdir -p /daq/slc5/gcc-3.4/bin
cd /daq/slc5/gcc-3.4/bin
ln -s /usr/bin/gcc34 gcc
ln -s /usr/bin/g++34 g++

Next edit the PixelDAQ setup script /daq/slc5/zzzz_daq.csh and append at the end of file

setenv PATH /daq/slc5/gcc-3.4/bin:/usr/lib/qt-3.3/bin:${PATH}
 

Fixing the Qt Installation

The qt-3.3 version shipping with SLC5 uses compiler options not known to gcc 3.4. To fix the qmake configuration file:

cp /usr/lib/qt-3.3/mkspecs/default/qmake.conf /usr/lib/qt-3.3/mkspecs/default/qmake.conf.save

Then edit /usr/lib/qt-3.3/mkspecs/default/qmake.conf and replace the line starting with QMAKE_CFLAGS_RELEASE by

QMAKE_CFLAGS_RELEASE = -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m32 -march=i386 -fasynchronous-unwind-tables

Some PixelDAQ GUIs require additional Qt widgets. To install:

source /daq/slc5/zzzz_daq_203.csh
cvs co QTaddons
sudo tcsh
cd /root
cp -r ~/QTaddons .
source /daq/slc5/zzzz_daq_203.csh
cd QTaddons/spinboxes
qmake
make
cp uspinbox.h fspinbox.h /usr/lib/qt-3.3/include
cd plugin
qmake
make
exit  # from root 

Installation and Compilation of PixelDAQ software

To check out PixelDAQ (for example version 1-5-T5):

mkdir -p ~/DAQ/PixelDAQ-1-5-T5
source /daq/slc5/zzzz_daq_203.csh
ln -s ~/DAQ/PixelDAQ-1-5-T5 daq
cd ~/daq
cvs co -r PixelDAQ-1-5-T5 Applications VmeInterface RodDaq

To following packages should be updated to CVS HEAD for development:

cvs update -A RodDaq/NewDsp
cvs update -A Applications/Pixel/PixLib
cvs update -A Applications/Pixel/PixRCD
cvs update -A Applications/Pixel/LabDb

To build:

cd ~/daq/Applications/Pixel/Scripts
./Compile.sh >& compile.log &

Running the PixelDAQ Infrastructure
A special configuration has been created that allows to run the PixelDAQ infrastructure in an stand-alone environment.

First, update the LabDb setup and Xml databases:

cvs update -A ~/daq/Applications/Pixel/LabDb cvs update -A 
cvs update -A ~/daq/Applications/Pixel/PixRCD/PixRCD-00-01-00/PixRCDConfiguration/LAB

Add the setup scripts to your shell login script (add to .cshrc for example)

if ( -r  /daq/slc5/zzzz_daq_203.csh ) then
source   /daq/slc5/zzzz_daq_203.csh >& /dev/null
if ( -r ~/daq/Applications/Pixel/LabDb/setup.csh ) then 
source ~/daq/Applications/Pixel/LabDb/setup.csh
endif
endif

The next step is to fix the LabDb setup. In this example all PixelDAQ applications will run on one Linux host.

source ~/.cshrc
cd ~/daq/Applications/Pixel/LabDb
./FixLabXml.pl

Create the sqlite DB

source mkdb.csh

Compile the helper application and create scan configurations for CalibrationConsole

cd ~/daq/Applications/Pixel/CalibrationConsole/Console
make -f test_Makefile test_createScanParamDb
./test_createScanParamDb

To run without a VME/SBC for demonstration purposes edit PixActionsServer.cxx

~/daq/Applications/Pixel/PixLib/Applications
$EDITOR PixActionsServer.cxx
Change these lines
//#include "RCCVmeInterface.h"
#include "DummyVMeInterface.h"
...
// Create VME interface
std::cout << "Creating VME interface" << std::endl;
VmeInterface *vme = 0;
   try {
// vme = new SctPixelRod::RCCVmeInterface();
vme = new SctPixelRod::DummyVmeInterface();
  }
 ...
Rebuild PixActionsServer
make
make inst
Finally start the infrastructure and CalibrationConsole
start_infr
Console

-- MatthiasWittgen - 20-Jul-2010

Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng package.png r1 manage 92.0 K 2010-07-25 - 02:51 MatthiasWittgen  
Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r5 - 2010-09-09 - MatthiasWittgen
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback