Re: Rootcint's include paths

From: Alexander Mann <amann_at_uni-goettingen.de>
Date: Mon, 27 Sep 2010 21:11:39 +0200

Hi Philippe,

I could solve the problem by adding an explicit -I$ROOTSYS/include to the call to rootcint.

As I have encountered this problem only on one specific site so far, maybe they have somehow done something strange when installing ROOT.

 > To check the way it was build you can check if there is a file
 > 'config.status' in the top level directory
 > of the ROOT installation.

Well, it's on the GRID; so unfortunately it's rather difficult to debug for me as I cannot access the system directly.

cu,
Alexander

Am 27.09.2010 21:08, schrieb Philippe Canal:
>
> Hi,
>
> This is odd. My guess would be that you build of ROOT was made with the
> --prefix option in which
> case root is expecting to be installed always in the same path (and
> $ROOTSYS is ignored). If this
> is the case add -I$ROOTSYS/include would indeed work around this problem
> but it is likely that
> other issues might arise.
>
> To check the way it was build you can check if there is a file
> 'config.status' in the top level directory
> of the ROOT installation.
>
> Cheers,
> Philippe.
>
>
> On 9/25/10 9:05 AM, Alexander Mann wrote:
>>
>> Hi Axel,
>>
>> yes, ROOTSYS is set and $ROOTSYS/include points to the correct
>> directory, see
>>
>> http://voatlas20.cern.ch:25980/monitor/logs/4722a647-cdcc-4398-9d3a-79880b6e21b8/tarball_PandaJob_1118401439_ANALY_GRIF-LPNHE/prun_stdout.txt
>>
>>
>> (Search für "ROOTSYS=" and "No such".)
>>
>> As I cannot check for the cause of the error directly on the GRID
>> site, I guess I should just always pass -I$ROOTSYS/include to rootcint
>> (just to make sure).
>>
>> cu,
>> Alexander
>>
>>
>>
>> Am 25.09.2010 15:02, schrieb Axel Naumann:
>>> Hi Alexander,
>>>
>>> rootcint has an implicit -I$ROOTSYS/include (or whatever was specified
>>> as include dir to configure, when configuring with --prefix). Is ROOTSYS
>>> set, and does $ROOTSYS/include point to the correct directory?
>>>
>>> Cheers, Axel.
>>>
>>> On 9/25/10 1:58 PM, Alexander Mann wrote:
>>>>
>>>> Dear ROOT experts,
>>>>
>>>> where does rootcint get the path from, under which it looks for the
>>>> following files:
>>>>
>>>> {TObject.h,TMemberInspector.h,TSelector.h,TString.h,Rtypes.h,TList.h,TNamed.h,TError.h}
>>>>
>>>>
>>>>
>>>> Motivation for my question:
>>>>
>>>> I have a GRID job which has two build jobs on two different sites, and
>>>> one of them fails whereas the other doesn't. The one which fails says
>>>>
>>>> Generating dictionary src/SFrameCore_Dict.cxx
>>>> Compiling app/sframe_main.cxx
>>>> In file included from /tmp/weSVSq_cint.cxx:1:
>>>> /tmp/rootcint_v1FyZB.h:1:21: error: TObject.h: No such file or
>>>> directory
>>>> /tmp/rootcint_v1FyZB.h:2:30: error: TMemberInspector.h: No such file or
>>>> directory
>>>> In file included from ./include/ISCycleBase.h:18,
>>>> from /tmp/rootcint_v1FyZB.h:3,
>>>> from /tmp/weSVSq_cint.cxx:1:
>>>> ./include/SCycleBaseExec.h:21:23: error: TSelector.h: No such file or
>>>> directory
>>>> ./include/SCycleBaseExec.h:22:21: error: TString.h: No such file or
>>>> directory
>>>> In file included from ./include/SCycleBaseExec.h:27,
>>>> from ./include/ISCycleBase.h:18,
>>>> from /tmp/rootcint_v1FyZB.h:3,
>>>> from /tmp/weSVSq_cint.cxx:1:
>>>> ./include/ISCycleBaseNTuple.h:21:20: error: Rtypes.h: No such file or
>>>> directory
>>>> In file included from ./include/SCycleBase.h:21,
>>>> from /tmp/rootcint_v1FyZB.h:8,
>>>> from /tmp/weSVSq_cint.cxx:1:
>>>> ./include/SCycleBaseConfig.h:23:19: error: TList.h: No such file or
>>>> directory
>>>> In file included from ./include/SCycleBaseConfig.h:29,
>>>> from ./include/SCycleBase.h:21,
>>>> from /tmp/rootcint_v1FyZB.h:8,
>>>> from /tmp/weSVSq_cint.cxx:1:
>>>> ./include/SCycleConfig.h:23:20: error: TNamed.h: No such file or
>>>> directory
>>>> In file included from /tmp/rootcint_v1FyZB.h:19,
>>>> from /tmp/weSVSq_cint.cxx:1:
>>>> ./include/SErrorHandler.h:18:20: error: TError.h: No such file or
>>>> directory
>>>> Error: external preprocessing failed. :0:
>>>> !!!Removing src/SFrameCore_Dict.cxx src/SFrameCore_Dict.h !!!
>>>> Error:
>>>> /gpfs/automountdir/lpnhe/software/atlas/prod/releases/rel_15-23/DetCommon/15.8.0/InstallArea/i686-slc5-gcc43-opt/bin/../../../../../sw/lcg/app/releases/ROOT/5.22.00j/i686-slc5-gcc43-opt/root/bin/rootcint:
>>>>
>>>> error loading headers...
>>>>
>>>> On the other hand according to the site admin the files are there:
>>>>
>>>>> $ cd
>>>> /gpfs/automountdir/lpnhe/software/atlas/prod/releases/rel_15-23/DetCommon/15.8.0/InstallArea/i686-slc5-gcc43-opt/bin/../../../../../sw/lcg/app/releases/ROOT/5.22.00j/i686-slc5-gcc43-opt/root/include/
>>>>
>>>>
>>>>> $ ls -l
>>>> {TObject.h,TMemberInspector.h,TSelector.h,TString.h,Rtypes.h,TList.h,TNamed.h,TError.h}
>>>>
>>>>
>>>>> -rw-r--r-- 1 atls atlas 16290 May 3 18:56 Rtypes.h
>>>>> -rw-r--r-- 1 atls atlas 3290 May 3 18:56 TError.h
>>>>> -rw-r--r-- 1 atls atlas 8905 May 3 18:56 TList.h
>>>>> -rw-r--r-- 1 atls atlas 1770 May 3 18:56 TMemberInspector.h
>>>>> -rw-r--r-- 1 atls atlas 2642 May 3 18:56 TNamed.h
>>>>> -rw-r--r-- 1 atls atlas 9303 May 3 18:56 TObject.h
>>>>> -rw-r--r-- 1 atls atlas 3476 May 3 18:56 TSelector.h
>>>>> -rw-r--r-- 1 atls atlas 29028 May 3 18:56 TString.h
>>>>> Related issue :
>>>>> CC recipient :
>>>>
>>>> So why doesn't rootcint find them? It is not passed any include
>>>> directories, so it does have to take the files it's looking for (or
>>>> which a subsequent process is looking for) from some other environment
>>>> variable.
>>>>
>>>> cu,
>>>> Alexander
>>>>
>>>>
>>>
>>
>>
>
Received on Mon Sep 27 2010 - 21:11:30 CEST

This archive was generated by hypermail 2.2.0 : Tue Sep 28 2010 - 17:50:02 CEST