Aclic Compilation Error


I have been given a (complex) c++ program which contains a lot of subfiles where data is loaded, histograms are created, etc.etc. All together there is a final file called which I run the full program in total with. I asked the guy who wrote the code how he compiled it and I was told to use the Aclic compiler, i.e. “root”. Doing so, the compilation of the code fails. I do not only get a lot of “unused variable” errors (basically for every definition of every histogram) or “converting to int from double” errors for every line which looks like “int variable = 1e6;” (which actually should be okay). I also get the final error:

x86_64-pc-linux-gnu-g++: /home/analysis/vB1reduced/./RUN_cc_ACLiC_dict.o: No such file or directory Error in <ACLiC>: Compilation failed! Error: Function RUN() is not defined in current scope :0: *** Interpreter error recovered ***

Do you have any idea what the problem could be?
The thing is, the guy who wrote the code let it run on his local machine, I think.
And I try to let it run on the cluster of the collaboration.
Is there a problem with the Aclic installation, etc?

Thanks and best wishes,

PS: Yes, there is a function "void RUN() {…} " defined in :slight_smile:

Without your code there is not too much we can do for you. I would recommend:

  1. start ROOT
  2. .L
  3. Fix all errors you have (I would also fix all warnings if it’s possible).
  4. Now you can call RUN() /if steps 1-3 were completed or will have a better diagnostic (I hope so).

I’m afraid, this information is meaningless. For example, with my


i = 10;

void RUN()
std::cout<<“I’ll never get called\n”;

I have an error message like this (I’ve omitted all warnings, only the final error message is shown):

[quote]16 warnings and 1 error generated.
clang: error: no such file or directory: '…/RUN_cc_ACLiC_dict.o’
Error in : Compilation failed!
Error: Function RUN() is not defined in current scope :0:
*** Interpreter error recovered ***

Does this mean, you have the same as I do?

Hello and thank you for your reply.
I tried to run my the way you told me and it gave me an interpreter error.
The function only contains other files via the #include. I commented out EVERY include of that function, having basically a the following piece of code left

void RUN() { // many lines of comment }

Then I did “root .L” again and it gave me (like all the other times before) the same error

[code]root .L
Couldn’t find font “-adobe-helvetica-medium-r---10-----*-iso8859-1”,
trying “fixed”. Please fix your system so helvetica can be found,
this font typically is in the rpm (or pkg equivalent) package
XFree86-[75,100]dpi-fonts or fonts-xorg-[75,100]dpi.
Warning in TApplication::GetOptions: macro .L not found

  •                                     *
  •    W E L C O M E  to  R O O T       *
  •                                     *
  • Version 5.26/00b 9 February 2010 *
  •                                     *
  • You are welcome to visit our Web site *
  •            *
  •                                     *

ROOT 5.26/00b (branches/v5-26-00-patches@32288, Jun 01 2010, 07:40:00 on linuxx8664gcc)

CINT/ROOT C/C++ Interpreter version 5.17.00, Dec 21, 2008
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0]
Error: Line too long in G__exec_statement when processing
*** Interpreter error recovered ***[/code]

The line 103 is a comment line enclosed within /* and */. :neutral_face:

I was quite sure you’re trying to use ACLiC but in your last post I can see you are invoking CINT instead, which is not the same thing as ACLiC. Can you decide, what do you really want? If ACLiC - either follow the instructions I gave you, or use the command line with ‘+’ after the macro name. ACLiC is documented here, have a look how to use it: … s/CINT.pdf

(pages 13/14).