Developer - Building YarraServer

 Build-Instructions for YarraServer

 

Setting up the Build Environment

 
  • Download Xubuntu 16.04.06 LTS Desktop Edition and install (preferably in VM). The Desktop Edition is preferred because the Qt installation requires X11. When using VirtualBox, install the VirtualBox Guest Additions CD.
  • Update the apt-get chache:
sudo apt-get update
  • Install build system, required tools, and required libraries:
sudo apt install build-essential mercurial tortoisehg git cmake
sudo apt install libboost-all-dev libssl-dev libpq-dev libssl-dev libfcgi-dev
 

Installing Qt and Qt Creator

 
  • Download the Qt offline installer and run the setup. Version 5.5.1 libraries come with Ubuntu 16.04, so we are using this version for the build. Start the installer and use all default options.
wget http://download.qt.io/archive/qt/5.5/5.5.1/qt-opensource-linux-x64-5.5.1.run
chmod 700 qt-opensource-linux-x64-5.5.1.run
./qt-opensource-linux-x64-5.5.1.run
 

Building the Wt Library

 
  • Download the Wt Library Code v 3.3.12 (release 2018-12-14) and untar:
mkdir wt
cd wt
wget https://github.com/emweb/wt/archive/3.3.12.tar.gz
tar xvxf 3.3.12.tar.gz
cd wt-3.3.12
mkdir build
cd build
cmake .. -DSHARED_LIBS=OFF
make
sudo make install

If using a multi-core machine, the compilation can be accelerated via multithreaded compilation: make -j8

  • Install additional libraries for linking the WebGUI binary:
sudo apt install libglib2.0-dev libxml2-dev libjpeg-dev libx11-dev libxext-dev
sudo apt install libgl1-mesa-dev libfreetype6-dev libgraphicsmagick-dev libomp-dev
 

Code Checkout and Building YarraServer

 
  • Create folder for the individual Yarra components
mkdir NMRProjects
cd NMRProjects
  • Now clone the Yarra source code repositories
hg clone https://tblock@bitbucket.org/yarra-dev/yarraserver
hg clone https://tblock@bitbucket.org/yarra-dev/yarrawebgui
git clone https://tblock@bitbucket.org/yarra-dev/yarrasupport-ziplib.git ~/NMRProjects/yarrawebgui/ziplib
  • Open the Server.pro project in QtCreater and build release version
  • Open ServerCtrl.pro and build release version
  • Open yarrawebgui.pro and build release version
  • Open yarradexec.pro and build release version
 

Building the SetDCMTags Module

 
  • Download the DCMTK source code and compile
sudo apt-get install libarmadillo-dev libblas-dev
cd ~
mkdir dcmtk
cd dcmtk
wget https://dicom.offis.de/download/dcmtk/dcmtk364/dcmtk-3.6.4.tar.gz
tar xvxf dcmtk-3.6.4.tar.gz
cd dcmtk-3.6.4
mkdir build; cd build
cmake -D DCMTK_ENABLE_BUILTIN_DICTIONARY=ON -D DCMTK_ENABLE_PRIVATE_TAGS=ON ..
make -j8
sudo make install
  • Checkout code from Bitbucket
cd ~/NMRProjects
hg clone https://tblock@bitbucket.org/yarra-dev/yarramodules-setdcmtags
  • The current version of the module requires that certain private Siemens DICOM tags are added to the DICOM Tag Dictionary on the server. Therefore, the file dicom.dic needs to be edited:
cd /usr/local/share/dcmtk/
sudo nano dicom.dic

and the following 4 lines need to be inserted:

(0019,1008)	LO	Private	1	DICOM
(0029,1008)	LO	Private	1	DICOM
(0029,1018)	LO	Private	1	DICOM
(0051,1008)	CS	Private	1	DICOM
  • Open project SetDCMTags.pro in QtCreator and build the release version
 

Packaging

 

 Under Construction

Sorry, this section is still missing. Please check again soon.

Open Chat