RE: ROOTCINT problem on Windows

From: Lynch, Michael (STFC,RAL,PPD) <michael.lynch_at_stfc.ac.uk>
Date: Mon, 14 Sep 2009 13:24:27 +0100


Hi,

Sorry it's taken me quite so long to get back to you. Everything seems to work correctly in this version. Thanks for the help.

Regards,

Mike

-----Original Message-----
From: Axel Naumann [mailto:Axel.Naumann_at_cern.ch] Sent: 08 September 2009 09:54
To: Lynch, Michael (STFC,RAL,PPD)
Cc: roottalk_at_root.cern.ch
Subject: Re: [ROOT] ROOTCINT problem on Windows

Hi Michael,

it must of course not crash either way! The -c is needed. Thanks for trying out the trunk. If it still fails: can you send the headers and LinkDef, or extract a minimal version that reproduces the issue?

Cheers, Axel.

On 2009-09-08 10:39, Lynch, Michael (STFC,RAL,PPD) wrote:
> Hello,
>
> I'm just downloading the trunk version now and building it. I'd be
> surprised if it was an issue, but it's probably worth mentioning I'm
> using the ROOT Builder program instead of Cygwin, as that's not setup
on
> my machine.
>
> As I said, the result with -c and without -p is it crashes, and
without
> either:
>
> Limitation: Reference member not supported. Please use pointer
> D:/root/include\T
> GenericClassInfo.h(36)
>
> To summarise, with version 5.24/00 (downloaded as a binary from
> http://root.cern.ch/drupal/content/production-version-524, using the
> "Release" version for VC++ 9):
>
>
> ------------------------------------------------------------
> | Without -p | With -p
> |
>



> -
> Without -c | Limitation: Reference | 2382880_cint.cxx
> |
> | member not supported. |
> D:/root/cint/cint/include\lim |
> | Please use pointer D:/ | its.h(8) :
> |
> | root/include\TGeneric | fatal error C1017:
> |
> | ClassInfo.h(36) | invalid integer
> constant |
> | | expression
> |
> | | Error: external
> preprocessing |
> | | failed. (0)
> |
>


> -
> With -c | Rootcint crashes | Rootcint crashes
> |
>


> -
>
> As soon as I finish the build, I'll let you know the results for the
> trunk version.
>
> Regards,
>
> Mike
>
> -----Original Message-----
> From: Axel Naumann [mailto:Axel.Naumann_at_cern.ch]
> Sent: 07 September 2009 17:06
> To: Lynch, Michael (STFC,RAL,PPD)
> Cc: roottalk_at_root.cern.ch
> Subject: Re: [ROOT] ROOTCINT problem on Windows
>
> Hi,
>
> this got fixed in the trunk. Can you try without -p?
>
> Cheers, Axel.
>
> Lynch, Michael (STFC,RAL,PPD) wrote on 09/07/2009 05:35 PM:
>> Hello,
>>
>> Sorry, that call to rootcint should of course read,
>>
>> rootcint -f MyDict.cxx -c -p RootSession.hpp RootSessionField.hpp
>> LinkDef.h
>>
>> which is what I am running on both Windows and Linux.
>>
>> This doesn't change the underlying problem whatsoever.
>>
>> Regards,
>>
>> Mike
>>
>> -----Original Message-----
>> From: owner-roottalk_at_root.cern.ch

[mailto:owner-roottalk_at_root.cern.ch]
>> On Behalf Of Lynch, Michael (STFC,RAL,PPD)
>> Sent: 07 September 2009 16:30
>> To: roottalk_at_root.cern.ch
>> Subject: [ROOT] ROOTCINT problem on Windows
>>
>> Hello,
>>
>> I'm working on a project (a DLL/shared object) that tries to create
>> TTrees with branches of type std::vector<float/int/double/bool>,
>> std::vector<TVector3> and std::vector<TLorentzVector>.
>>
>> I'm running ROOT v5.24/00 on Windows XP SP3 and Microsoft C++
compiler
>> v15.00.30729.01 (from MS Visual C++ 2008 Express). This project works
>> fine on Scientific Linux 4.4 and ROOT v5.24, but I'd like to be able
> to
>> target both platforms.
>>
>> I have to run
>>
>> rootcint -f MyDict.cxx -c -p RootSession.cpp RootSessionField.cpp
>> LinkDef.h
>>
>> so that ROOT can write the trees with vector<TVector3> etc (I've
>> attached my LinkDef.h, in case that's useful). The resulting files
are
>> then compiled into my main shared object, which works fine on Linux.
>> However, on Windows, with exactly the same call, rootcint crashes. I
>> definitely have full read/write permissions for this folder, which
> seems
>> to have been an issue that's tripped other people up.
>>
>> The culprit seems to be the -c argument. Without it, rootcint does
not
>> crash, but still does not work and prints a warning instead:
>>
>> If I run rootcint -f MyDict.cxx RootSession.cpp RootSessionField.cpp
>> LinkDef.h, I get the warning
>>
>> Limitation: Reference member not supported. Please use pointer
>> D:/root/include\T
>> GenericClassInfo.h(36)
>>
>> Whereas if I run rootcint -f MyDict.cxx -p RootSession.cpp
>> RootSessionField.cpp LinkDef.h, I get
>>
>> 2254010_cint.cxx
>> D:/root/cint/cint/include\limits.h(8) : fatal error C1017: invalid
>> integer const
>> ant expression
>> Error: external preprocessing failed. (0)
>>
>> Either way, it seems the -c argument is necessary (and indeed, my
code
>> works perfectly on Linux).
>>
>> Is this a known issue that I've missed in the forums? Can anyone
offer
>> an explanation/solution?
>>
>> Regards,
>>
>> Mike
>>
>>
> --
> Scanned by iCritical.
>
-- 
Scanned by iCritical.
Received on Mon Sep 14 2009 - 14:25:30 CEST

This archive was generated by hypermail 2.2.0 : Mon Sep 14 2009 - 17:50:03 CEST