Too many variables root error

I’m attempting to run complied cxx code using gmake on root. The problem I’m having is that when I add too many variable declarations to my .h file root gives me a long string of errors when I run the code (it compiles fine). My .h contains all of the variables from an MC ntuple, so I’ve been deleting unused ntuple variables from my .h file whenever I need new variables. However this seems like a temporary solution.

Is there a way to change the maximum size of the code that root will run, or is there a way of breaking up my .h file so that root won’t complain? The error it gives me starts with

*** glibc detected *** /afs/cern.ch/atlas/software/releases/16.6.5/sw/lcg/app/releases/ROOT/5.26.00e_python2.6/i686-slc5-gcc43-opt/root/bin/root.exe: free(): invalid pointer: 0xeff8fa9c ***
======= Backtrace: =========
/lib/libc.so.6[0x1896c5]
/lib/libc.so.6(cfree+0x59)[0x189b09]
/afs/cern.ch/atlas/software/releases/16.6.5/gcc-alt-432/x86_64-slc5-gcc43-opt/lib/libstdc++.so.6(_ZdlPv+0x21)[0xf6fdec21]

Any help would be greatly appreciated.

Hi,

I am not quite sure which limit you are reaching. One likely solution is to try compile the header file via ACLiC rather than interpreting it.

Cheers,
Philippe.

I’m currently compiling using gmake without any compilation problems. I seem to be hitting some limit when I actually run the code. How would I go about compiling my .h files (with #includes I have about 5) separately with ACLiC? Thanks for the help.

Jeff

Hi Jeff,

[quote]How would I go about compiling my .h files (with #includes I have about 5) separately with ACLiC?[/quote]humm … it could be as simple as:.L header1.h+ .L header2.h+ etc.

Philippe.