Rootcint problem under mac os x 10.5

Dear Rooters,

I have a problem with rootcint (root version 5.20/00) under my mac
(powerbook intel 10.5.6).When I trying to compile my program
I obtain the following error message

Generating dictionary EventDict.cxx…
Error: cannot open file “TObject.h” :0:
!!!Removing EventDict.cxx EventDict.h !!!
Error: rootcint: error loading headers…
make: *** [EventDict.cxx] Error 1

Under Scientific Linux with the same root version I have no problem, my program compile perfectly …

Does anyone have an idea of what could be my problem ?
by advance
thank you
Olivier

PS:
my problem look like the one reported with this subject:
problems with rootcint for ROOT 5.20.0 / MacOs 10.3.9 on PPC
(root.cern.ch/phpBB2/viewtopic.ph … 60ccec5139)

Hi,

is $ROOTSYS set? Or did you install ROOT using configure --prefix?

Cheers, Axel.

Dear Rooters,

on my mac rootcint seems to need the include path:
In my makefile when I replace this line
$(ROOTCINT) -f $@ -c $^
by
$(ROOTCINT) -f $@ -c -I$(ROOTSYS)/include -I$(ROOTSYS)/cint/cint/include $^
my program compile .

In linux when don’t need this trick :unamused:

cheers
Olivier

Hello Axel,

yes $ROOTSYS is set, I don’t install ROOT using configure --prefix.
I took the binary.

thank you
olivier

Hi,

Please try v5.22 (if indeed your problem is the same as the one you pointed to), then it is solved in v5.22 :slight_smile:

Cheers,
Philippe.

Hello Philippe,

thank you but with 5.22 version give the same results, and it fact is worse:
I must replace in my Makefile

$(ROOTCINT) -f $@ -c $^

by

$(ROOTCINT) -f $@ -c -I$(ROOTSYS)/include \
-I$(ROOTSYS)/cint/cint/include
-I$(ROOTSYS)/cint/cint/stl/ -I$(ROOTSYS)/cint/cint/lib $^

cheers

PS: but now I have the 5.22 version :stuck_out_tongue:

Hi,

I am a bit puzzled. I routinely develop on MacOs 10.5 and never seen this problem. I also download the tar file for v5.22 (from root.cern.ch/root/Version522.html) and did:export ROOTSYS=${PWD} export PATH=${ROOTSYS}/bin:${PATH} export LD_LIBRARY_PATH=${PWD}/lib:${LD_LIBRARY_PATH} cd test rm -f EventDict.cxx gmake EventDict.cxx and this was successful (i.e. EventDict.cxx was produced and no error message was printed.

If a similar test fails for you, can you send the result of echo $ROOTSYS echo $PWD rootcint -f EventDict.cxx -c -v -p Event.h EventLinkDef.h

Thanks,
Philippe.

Hi Philippe,

echo $ROOTSYS
/Applications/root

echo $PWD
/Applications/root/test

rootcint -f EventDict.cxx -c -v -p Event.h EventLinkDef.h
g++ -E -C “-DG__APPLE=1” “-DG__GNUC=4” “-DG__GNUC_MINOR=0” “-DG__GNUC_VER=4000” “-DG__i386=1” “-DG__ROOT=1” “-DG__NATIVELONGLONG=1” “-DTRUE=1” “-DFALSE=0” “-Dexternalref=extern” “-DSYSV” “-D__MAKECINT__” “-DG__CINTVERSION=50160029” -I. -I/Applications/root/include -I/Applications/root/src -D__CINT__ -I/Applications/root/cint/cint/include -I/Applications/root/cint/cint/stl -I/Applications/root/cint/cint/lib /var/tmp/tmp.1.EXviDX_cint.cxx > /var/tmp/tmp.2.sNVWMN_cint
/Applications/root/cint/cint/include/stdfunc.dll:DLLREV=30051515
This cint accepts DLLREV=30051501~30051599 and creates 30051515
/Applications/root/cint/cint/stl/vector.dll:DLLREV=30051515
This cint accepts DLLREV=30051501~30051599 and creates 30051515
/Applications/root/cint/cint/stl/vectorbool.dll:DLLREV=30051515
This cint accepts DLLREV=30051501~30051599 and creates 30051515
unmatch0 u tagnum204 0x0 : U tagnum16 1
unmatch0 f tagnum-1 0x0 : U tagnum16 1
unmatch0 u tagnum204 0x0 : U tagnum16 1
unmatch0 f tagnum-1 0x0 : U tagnum16 1
unmatch0 u tagnum204 0x0 : U tagnum16 1
unmatch0 f tagnum-1 0x0 : U tagnum16 1
unmatch0 u tagnum204 0x0 : U tagnum16 1
unmatch0 f tagnum-1 0x0 : U tagnum16 1
unmatch0 U tagnum12 0x0 : U tagnum16 1
unmatch0 U tagnum12 0x0 : U tagnum16 1
unmatch0 U tagnum12 0x0 : tagnum-1 1
unmatch0 U tagnum12 0x0 : tagnum-1 1
unmatch0 U tagnum12 0x0 : U tagnum16 1
unmatch0 U tagnum12 0x0 : U tagnum16 1
unmatch0 U tagnum12 0x0 : tagnum-1 1
unmatch0 U tagnum12 0x0 : tagnum-1 1
unmatch0 U tagnum12 0x0 : U tagnum16 1
unmatch0 U tagnum12 0x0 : U tagnum16 1
unmatch0 U tagnum12 0x0 : tagnum-1 1
unmatch0 U tagnum12 0x0 : tagnum-1 1
unmatch0 u tagnum204 0x0 : U tagnum16 1
unmatch0 f tagnum-1 0x0 : U tagnum16 1
unmatch0 u tagnum204 0x0 : U tagnum16 1
unmatch0 f tagnum-1 0x0 : U tagnum16 1

freetemp 0:(ROOT::TSchemaHelper)0x0xf748a0 0:(NULL)0x0x0
free_tempobject(121)=0xf748a0

seems to be good isn’t it ?
Can you try to compile the tar.gz I attached ?
Try to make, if it doesn’t work go to the makefile
comment this line:
(ROOTCINT) -f @ -c ^ and uncomment (ROOTCINT) -f @ -c -I(ROOTSYS)/include -I$(ROOTSYS)/cint/cint/include
-I$(ROOTSYS)/cint/cint/stl/ -I$(ROOTSYS)/cint/cint/lib $^

by advance thank you
Olivier
dad_test.tar.gz (7.75 KB)

Hi Olivier,

Did export ROOTSYS=${PWD} export PATH=${ROOTSYS}/bin:${PATH} export LD_LIBRARY_PATH=${PWD}/lib:${LD_LIBRARY_PATH} cd test rm -f EventDict.cxx gmake EventDict.cxxsucceed or fail?

Thanks,
Philippe.

make EventDict.cxx
fail (with my favourite errror )

Generating dictionary EventDict.cxx…
rootcint -f EventDict.cxx -c Event.h EventLinkDef.h
Error: cannot open file “TObject.h” :0:
!!!Removing EventDict.cxx EventDict.h !!!
Error: rootcint: error loading headers…
make: *** [EventDict.cxx] Error 1

Olivier

oups sorry…
In my previous reply I didn’t take a new terminal so some ROOT variable was still there.
If I took a new terminal:
export ROOTSYS=${PWD}
export PATH=${ROOTSYS}/bin:${PATH}
export LD_LIBRARY_PATH=${PWD}/lib:${LD_LIBRARY_PATH}
cd test
rm -f EventDict.cxx
make EventDict.cxx

succeed
Sorry

and this fixed my problem …
this was my root env file

export ROOTSYS=/Applications/root
export PATH=${PATH}:$ROOTSYS/bin/
export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:$ROOTSYS/lib

and this is what you suggested me to do

export ROOTSYS=${PWD}
export PATH=${ROOTSYS}/bin:${PATH}
export LD_LIBRARY_PATH=${PWD}/lib:${LD_LIBRARY_PATH}

I don’t understand
:open_mouth:
does the problem is coming from ?
DYLD_LIBRARY_PATH and LD_LIBRARY_PATH ???
Olivier

[quote]and this is what you suggested me to do

export ROOTSYS=${PWD} [/quote]Sorry, my description was missing an important step :frowning:: cd where_root_is. I.e. I mean (in your case): cd /Applications/root export ROOTSYS=${PWD}. If the current directory was anything but /Applications/root, rootcint should be failing in exactly the way you saw :slight_smile:.

Cheers,
Philippe.