Can't get rootcint -I option to work

From: Joanne Bogart (jrb@SLAC.stanford.edu)
Date: Sun Jan 17 1999 - 05:54:38 MET


I'm trying to make a dictionary for several classes.  Some of them have
includes which are in a separate directory.  I have already successfully
made a dictionary for the case where all relevant files are in the
same directory with a rule in my makefile of the form

../src/EventCint.cxx:$(DIRINCFILES)
  @$(ROOTSYS)/bin/rootcint -f  $(SRCDIR)$@ -c $+

where DIRINCFILES is a symbol set to the appropriate list of .h files
and SRCDIR is just ../src/

(By the way, I don't know what the -f does.  It's only in the rule because
it also appears in the sample makefile in the Root web.  The description
of this option in the help file -- "set break file" -- is too terse for me.)

The rule for the new dictionary (actually, one of several permutations I
tried) is

../src/FastMCCint.cxx:$(DIRINCFILES)
   @echo "Generating dictionary ..."
   @$(ROOTSYS)/bin/rootcint  -f -I $(EVENTIDIR) $(SRCDIR)/FastMCCint.cxx -c $+ 

EVENTIDIR is the same include path successfully used when compiling
the classes.

I get the following output:

Generating dictionary ...
Option -c must come directly after the output file
gmake: *** [../src/FastMCCint.cxx] Error 1

The same thing happens if
  * I change the order of -f and -I $(EVENTIDIR)
  * I omit the -f
  * I leave no intervening space between -I and $(EVENTIDIR)
  * I use the absolute path rather than the symbol $(EVENTIDIR)

However if I omit the -I option (or put it at the end of the command,
contrary to the usage instructions) I get

Generating dictionary ...
Error: source file "Event.h" cannot open  FILE:../src/RecModule.h LINE:6
Error: source file "McPart.h" cannot open  FILE:../src/MCPartPrint.h LINE:8
Error: No symbol Event in current scope  FILE:../src/MCPartPrint.h LINE:25
Error: source file "Event.h" cannot open  FILE:../src/SmearTrack.h LINE:9
Error: source file "Track.h" cannot open  FILE:../src/SmearTrack.h LINE:10
Error: source file "McPart.h" cannot open  FILE:../src/SmearTrack.h LINE:11
gmake: *** [../src/FastMCCint.cxx] Segmentation Fault
gmake: *** Deleting file `../src/FastMCCint.cxx'

where, for example, RecModule.h is one of the source files, it
includes Event.h, and Event.h can be found in $(EVENTIDIR)

I'm using Root distribution 2.20/06 on Solaris:

jrb@flora04 $ uname -a
SunOS flora04 5.5.1 Generic_103640-20 sun4u sparc SUNW,Ultra-2

Any suggestions?

                                Thanks in advance,
                                   Joanne Bogart
                                   jrb@slac.stanford.edu



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:28 MET