Is it possible to compile a ROOT macro so that it can run without ROOT on any machine?
Alternatively, on a machine with ROOT installed, is there a way to compile/run a ROOT macro without entering the ROOT interface.
For instance, if I wanted to compile/run the macro test.C
I would first start ROOT with: root -l
Then type: .x test.C+
Is there a way for this to be integrated into a single command that can be run directly from the unix terminal?
system
April 30, 2010, 3:44am
#2
[quote=“nocloud”]…
For instance, if I wanted to compile/run the macro test.C
I would first start ROOT with: root -l
Then type: .x test.C+
Is there a way for this to be integrated into a single command that can be run directly from the unix terminal?[/quote]Did you try
is it possible to take this one step further and make it run the ROOT processes in the background.
For instance, something like
root -q -l text.C+ >& output.txt &
It did not work for me when I tried running the above command
This would make it much easier to parallelize running the same code on multiple processors.
Axel
April 30, 2010, 11:51am
#4
Hi,
root -l -b -q tutorials/hsimple.C+ >&out &
works for me. Which ROOT version are you using?
Cheers, Axel.
system
April 30, 2010, 4:08pm
#5
[quote=“nocloud”]…It did not work for me when I tried running the above command…[/quote]What does that mean
I am using version 5.26.00 on RHEL 5.4
When I run:
root -l -b -q test.C+ >& output.txt &
the output.txt is always empty and the ROOT file that is supposed to be created by test.C does not appear in my working directory.
Actually, I did some more investigation and found a rather strange behavior
When I run:
root -q -l -b text.C+ >& output.txt
it behaves correctly (although I lose the ability to run other jobs from the terminal).
To the problem is being caused by the last “&” symbol in the command:
root -q -l -b text.C+ >& output.txt &
another update.
i appear to have been able to get it running correctly by using the nohup command, ie:
nohup root -q -l -b text.C+ >& output.txt &
system
April 30, 2010, 9:33pm
#9
Can you try “root.exe” instead of just “root” ?
pcanal
April 30, 2010, 9:33pm
#10
Hi,
Yes this problem (a background root process trying to access the input terminal) has been fixed several weeks ago in the trunk and in the v5.26 patch branch.
Cheers,
Philippe.