Frequently Asked Questions
Questions
Q1: I get complaints about all the ROOT classes not being
found. What do I do? (outdated)
Q2: For some reason when I compile I keep having
undefined variables that I have defined in the .h?
Q3: My execute method is taking way too long or never
finishes?
Q4: How do I make nice Changelog Entries?
Q5: How do I make things build faster on a multi CPU
machine?
Q6: How do I make cvs use an editor other then vi
when I checkin?
Q7: When I divide a canvas things don't draw the way
I expected?
Q8: I did a 'cvs update' and I now get a host of
undefined references?
Answers
Q1: I get complaints about
all the ROOT classes not being found. What do I do?
A: The problem is that the include path to the location of your root
install is wrong. To fix this problem you will need to edit the
Makefile. Edit the ROOTSYS variable to point to your ROOT install.
Q2: For some reason when I
compile I keep having undefined variables that I have defined in the .h?
A: You've most likely forgoten to save your .h file.
Q3: My execute method is
taking way too long or never finishes?
A: The problem could be that you're doing something in execute that
doesn't belong there like writing a histogram that's still in the
process of being filled. This would cause the histogram to be written to
disk for every single event resulting in your algorithm finishing some
time shortly before the big crunch.
Q4: How do I make nice
Changelog Entries?
The best way to make nice ChangeLog entries is to use emacs. The
Command 'M-x add-change-log-entry' will do it. It's also nice to use
'M-x auto-fill-mode'.
Q5: How do I
make things build faster on a multi CPU machine?
Since a programs are by built making object files out of source files
and then linking them all together it is possible to have different
source files built on different CPUs. To tell make to do this add the
'-jN' where 'N' is the number of CPUs you would like to use. For example
of the fate machines you would want to use '-j2'. You can tell how many
CPUs a machine has and how fast they are by looking at the file
'/proc/cpuinfo'.
Q6: How do I
make cvs use an editor other then vi when I checkin.
You set the environment variable $CVSEDITOR to the editor of your
choice. For eaxmple:
export CVSEDITOR='emacs'
Q7: When I
divide a canvas thigs don't draw the way I expected?
Once you divide a canvas with can->Divide(X,Y) you must
can->cd(1) and not can->cd(0). The canvas numbered '0' is the
origional canvas and not the divided pad.
Q8: I did a 'cvs
update' and I now get a host of undefined references?
Likely what has happend is that a new file has been added to the
package. This means that the Makefile must be regenerated by running
./configure again.