Installation

Required packages

To compile and use DQMCpp you need:

  • C++ compiler with at least C++11 support (GCC and Clang usually)
  • CMake
  • cURL library and headers installed
  • make utility
  • Doxygen to generate documentation

Debian-like systems (Debian, Ubuntu)

sudo apt-get install make g++ cmake libcurl4 libcurl4-openssl-dev

Centos-like systems

sudo yum install make g++ cmake libcurl4 libcurl4-openssl-devel

Build from source

At the moment we don't provide pre-built packages, so you have to build DQMCpp from source.

Here a copy-paste snippet to clone and build default DQMCpp libraries (with ECAL PFG plugins).

git clone https://github.com/thegriglat/dqmcpp.git
cd DQMCpp
mkdir build
cd build
cmake ../src
make # or make -j $(nproc)

To specify your own plugin diretory use cmake -DPLUGINDIR option.

Build documentation

cd DQMCpp
make docs

Documentation will be written in doxygen directory.

Configuration

Prepare certificate and decrypted key files

  1. Obtain GRID certificate if you don't have one.

  2. Then you need to save your GRID certificate in p12 format. It is the same format as used by voms-proxy-init. Please follow instructions provided by CERN for IE, Firefox or Mac.

  3. Extract certificate part by executing

    openssl pkcs12 -in myCert.p12 -clcerts -nokeys -out usercert.pem
    

    (you will be asked for the password used when saving the certificate)

  4. Extract private key by executing

    openssl pkcs12 -in myCert.p12 -nocerts -out userkey_encrypted.pem
    

    (you will be asked for the password used when saving the certificate, and then for a password to encrypt the key with).

  5. Decrypt private key:

    openssl rsa -in userkey_encrypted.pem -out userkey.pem
    

    (you will be asked for the password from Step 3). You can now remove userkey_encrypted.pem

  6. Change permissions for the decrypted key:

    chmod go-rw userkey.pem
    

After these steps copy userkey.pem and usercert.pem to ~/.globus directory (default for CERN lxplus)

Configuration done!