Difference between revisions of "ROOT Analyzer/Compiling"

From HallCWiki
Jump to navigationJump to search
(make doesn't seem to work at all.)
 
(5 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
The new Hall C analyzer, <tt>hcana</tt>, based on the Hall A analyzer is available and may be retrieved with git, see [[ROOT Analyzer/Git]].
 
The new Hall C analyzer, <tt>hcana</tt>, 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.  On the JLab CUE systems, root may be setup by typing (or putting in your login script):
+
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
 
   setup root
Line 16: Line 16:
 
(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 <tt>src</tt> directory, the Hall A code is in the <tt>podd</tt> directory.  See [[Analyzer/Git]] if it is not.
 
(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 <tt>src</tt> directory, the Hall A code is in the <tt>podd</tt> directory.  See [[Analyzer/Git]] if it is not.
  
The analyzer may be compiled with either the traditional "make" utility, or with SCons, a new utility which allows additional auto-configuration abilities.  SCons is available on JLab machines.  If you do not have SCons installed the local machine that you are compiling on, go to [http://www.scons.org SCons.org] to install the latest version. 
+
SCons is available on JLab machines and is the recommended method to build hcana. (CMake support is 'experimental'. 'make' is deprecated.)
  
To use "make", simply type:
+
To use SCons, type:
 +
 
 +
  scons
 +
 
 +
Additional SCons features :
 +
 
 +
To do the equivalent of "make clean", do:
 +
 
 +
  scons -c
 +
 
 +
To compile with debug capabilities, do:
  
   make
+
   scons debug=1
  
To use SCons, type:
+
To compile the standalone codes the are part of podd, do:
  
   scons
+
   scons standalone=1
  
This should build the Hall A libraries and the Hall C analyzer <tt>hcana</tt>.  
+
This should build the Hall A libraries and the Hall C analyzer '''hcana'''.
  
 
See [[Analyzer/Running]] for instructions to run the analyzer.
 
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: <code>sudo apt-get install g++-multilib</code>

Latest revision as of 16:12, 18 April 2023

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