Changes between Version 2 and Version 3 of InstallingFACT++
- Timestamp:
- 08/05/18 15:31:45 (6 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
InstallingFACT++
v2 v3 1 1 == Compiling FACT++ == 2 2 3 First you need to get FACT++ from the svn-repository 3 First you need to get FACT++ from the svn-repository. The default command will checkout it into a sub-directory called "{{{directory}}}" at the current directory. It will be created if not existing. If the argument is omitted, the default directory is FACT++. 4 4 5 5 {{{ 6 svn checkout https://www.fact-project.org/svn/trunk/FACT++ 6 [0] svn checkout https://www.fact-project.org/svn/trunk/FACT++ [directory] 7 [1] cd FACT++ 7 8 }}} 8 9 9 Now create a new sub directory10 Now create a new sub-directory in your main source directory (here assuming the default name was used) 10 11 11 12 {{{ 12 cd FACT++ 13 mkdirbuild13 [2] mkdir build 14 [3] cd build 14 15 }}} 15 16 16 And call {{{cmake}}} from there 17 And call {{{cmake}}} from there (the "{{{..}}}" is intentional!) 17 18 18 19 {{{ 19 cmake ..20 [4] cmake .. 20 21 }}} 21 22 22 to compile with clang, you might want to do23 to compile with '''clang''', you might want to change the compilers by calling 23 24 {{{ 24 cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ..25 [4] cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ .. 25 26 }}} 26 27 27 Note that not all versions of clang are compatible with all version of the boost-libraries.28 instead. Note that not all versions of {{{clang}}} are compatible with all version of the boost-libraries on Ubuntu. You might have to try different versions. (However, it is worth it, because {{{clang}}} is much faster). 28 29 29 If you only want to compile the basic tools ( like rootifysql) you can add {{{-DTOOLS_ONLY=1}}} when calling {{{cmake}}}.30 If you only want to compile the basic tools (rootifysql, root2sql, fits2sql, fitsdump and zfits) you can add {{{-DTOOLS_ONLY=1}}} when calling {{{cmake}}}. This simplifies compilation because less packages are required (for example the whole QT stuff is not needed). 30 31 31 32 If a package is missing, you will see an error which looks like this … … 42 43 It is a bit tricky to find out which package is missing at the moment. In this case, it is the development package of the nova library (libnova-dev). 43 44 44 Then call {{{make}}} .45 Then call {{{make}}} or {{{make -jN}}} where '''N''' is the numbers of threads you want to utilize (check the number of CPU cores you can keep busy). 45 46 46 47 == Packaging FACT++ == 47 48 48 For the tool-set, you can build a archive file and Debian packages by {{{make package}}}. The Debian package can then be installed with {{{dpkg -i fact++-YYWWDDHH.deb}}} while YYWWDDHH is the version number compiled from the time when cmake was called. 49 Once successfully compiled, you can package the tool-set and build a tar-archive and a Debian package by 49 50 51 {{{ 52 [5] make package 53 }}} 54 55 The Debian package can then be installed system wide with 56 57 {{{ 58 [6] dpkg -i fact++-YYWWDDHH.deb 59 }}} 60 61 where '''YYWWDDHH''' is the version number compiled from the time when {{{cmake}}} was called. 62