ROOT Analyzer/Compiling

From HallCWiki
Revision as of 17:12, 18 April 2023 by Brads (Talk | contribs) (make doesn't seem to work at all.)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The new Hall C analyzer, hcana, based on the Hall A analyzer is available and may be retrieved with git, see ROOT Analyzer/Git.

The only prerequisite, beyond what should normally be installed on a system, is root, version 5.32 or later, but not version 6. On the JLab CUE systems, root may be setup by typing (or putting in your login script):

 setup root

Note: Previous instructions used a version of root in /group/hallc/root. As the default version of root in /apps is sufficient, this group disk version is no longer needed. References to it should be removed from your .login and .cshrc files.

On your own system, install root somehow.

Before compiling, go to the directory where the code is and setup the environment for hcana with

 source setup.csh

(Or "source setup.sh" if you use bash.) This setup script can be called in your login script. Make sure that in addition to the Hall C code in the src directory, the Hall A code is in the podd directory. See Analyzer/Git if it is not.

SCons is available on JLab machines and is the recommended method to build hcana. (CMake support is 'experimental'. 'make' is deprecated.)

To use SCons, type:

 scons

Additional SCons features :

To do the equivalent of "make clean", do:

 scons -c

To compile with debug capabilities, do:

 scons debug=1

To compile the standalone codes the are part of podd, do:

 scons standalone=1

This should build the Hall A libraries and the Hall C analyzer hcana.

See Analyzer/Running for instructions to run the analyzer.

Build Errors

Missing system header files

Error: cannot open file "gnu/stubs.h"  /usr/include/features.h:399:
Error: cannot open file "bits/wchar.h"  /usr/include/stdint.h:27:
Error: cannot open file "bits/wordsize.h"  /usr/include/stdint.h:28:
  • If you're on a Debian based multi-lib distribution (Ubununtu, ...), try this: sudo apt-get install g++-multilib