Changes between Version 22 and Version 23 of InstallingMars


Ignore:
Timestamp:
10/10/19 21:26:00 (5 years ago)
Author:
tbretz
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • InstallingMars

    v22 v23  
    1919}}}
    2020
    21 Before you run *cmake*, please make sure that your root environment has been properly initialized. With recent ROOT versions it is often enough if `root-config` is in your path. That is usually the case if you can execute root easily from your commandline (or root-config itself) or if `export | grep ROOTSYS` gives a reasonable result. Otherwise, call `thisroot.sh` from your root installation. Assuming root is installed in /opt/root-6.14.04, this would be:
     21Before you run *cmake*, please make sure that your root environment has been properly initialized. With recent ROOT versions it is often enough if `root-config` is in your path. That is usually the case if you can execute root easily from your command line (or root-config itself) or if `export | grep ROOTSYS` gives a reasonable result. Otherwise, call `thisroot.sh` from your root installation. Assuming root is installed in /opt/root-6.14.04, this would be:
    2222{{{
    2323[X] . /opt/root-6.14.04/bin/thisroot.sh
     
    4545instead. If you are not sure which compiler to use, just use the default and see if it works. (In almost all cases using a different compiler is not worth it)
    4646
    47 CMake will check for the availablility of all important packages. For Mars, this is mainly *root* and *libnova*. Although, we have managed to compile Mars with pre-installed binary packages, it is advised that you install root from scratch (see http://root.cern.ch). Libnova (if there is no package available -- don't forget the dev-package!) can be found here http://libnova.sourceforge.net/index.html and should be easy to compile (`./configure && make`.
     47CMake will check for the availability of all important packages. For Mars, this is mainly *root* and *libnova*. Although, we have managed to compile Mars with pre-installed binary packages, it is advised that you install root from scratch (see http://root.cern.ch). Libnova (if there is no package available -- don't forget the dev-package!) can be found here http://libnova.sourceforge.net/index.html and should be easy to compile (`./configure && make`.
    4848
    4949If a package is missing, you will see an error which looks like this
     
    6868''Hint'': To get an idea what cmake is doing or has done, you can call {{{cmake-gui .}}} in the build directory. Note that the {{{.}}} is required.
    6969
    70 Usually, there is XXX_INCLUDE_DIR which is a a path to the header files and XXX_LIBRARY which is the library filename (including path).
     70Usually, there is XXX_INCLUDE_DIR which is a path to the header files and XXX_LIBRARY which is the library filename (including path).
    7171
    7272To check what cmake actually found, you can call
     
    7979== Observatory ==
    8080
    81 The default observatory is build in during compile time. This should avoid that by mistake and changed resource files, a wrong observatory location is selected. The default is La Palma (`ORM`). If you want to select a different location (ORM, HAWC, SPM, RWTH), you can do that when runnning cmake, for exmaple, by
     81The default observatory is build in during compile time. This should avoid that by mistake and changed resource files, a wrong observatory location is selected. The default is La Palma (`ORM`). If you want to select a different location (ORM, HAWC, SPM, RWTH), you can do that when running cmake, for example, by
    8282
    8383{{{
     
    9797== Linking Problems ==
    9898
    99 Mars itself only links with root libraries, standard C(++) libraries and libnova. If you have **any** linker problem, it is most likely related to the fact that your linking environment during compilation of Mars (e.g. LD_LIBRARY_PATH) is not set identical to linking root. In most cases (I think) setting your root environment with **thisroot.sh** should help.
     99Mars itself only links with root libraries, standard C(++) libraries and libnova. If you have **any** linker problem, it is most likely related to the fact that you are linking environment during compilation of Mars (e.g. LD_LIBRARY_PATH) is not set identical to linking root. In most cases (I think) setting your root environment with **thisroot.sh** should help.
    100100
    101101== Starting Mars ==
     
    116116You should now be able to use Mars.
    117117
    118 How does that work? When you start root in your build directory, it reads `.rootrc` in your build directory. This file points to `rootlogon.C` in your build directory. This macro is executed when on root startup and loads the shared object `lib/libmars.so`. As all this uses absoluet paths, you could even move `.rootrc` into your home directory and get the Mars environment no matter where you start root. As this works only with absolute paths, you might not change or rename the build directory without changing those files.
     118How does that work? When you start root in your build directory, it reads `.rootrc` in your build directory. This file points to `rootlogon.C` in your build directory. This macro is executed when on root startup and loads the shared object `lib/libmars.so`. As all this uses absolute paths, you could even move `.rootrc` into your home directory and get the Mars environment no matter where you start root. As this works only with absolute paths, you might not change or rename the build directory without changing those files.
    119119
    120120== Known to work ==
     
    125125* Ubuntu 18.04 and clang 6.0 or gcc 7.3.0 / 7.4.0
    126126* Peppermint 9 and clang 6.0 or gcc 7.3.0
    127 * root 5.34/36, 5.34/38, 6.12/06, 6.14/04, 6.14/06
     127* root 5.34/36, 5.34/38, 6.12/06, 6.14/04, 6.14/06, 6/18.04
    128128* root binary packages might work
    129129* libnova 0.12 / 0.15.0