Native Windows 64-bit build?

Hi Bertrand,

Thanks for quick response. I’m glad to hear that the issue is being considered. I believe, I’m not the only one who would benefit from the 64-bit ROOT on Win. Unfortunately, the hardware we use has drivers under Windows only so I cannot avoid this system…

Regards,
Josef

I use ROOT for a couple of years. Now I’m in the need to port my application to 64 bit. Unfortunately it looks like ROOT is the only library I utilize that is not 64 bit ready on WIndows. Can you please tell me what things look like today? Will the problem be solved in near future?

Can you give me some hints on where the problems of a “native” 64 bit build are?

Do you think there is a chance to produce 64 bit DLLs using Mingw64 as a cross compiler with Linux - and less efforts compared to the “native” build?

Hi,

I’m investigating right now. There were some problems with bindexplib (extracting the symbols from the object files to generate the .def files) and now with rootcint… But if you want to make the exercise with Mingw64, feel free to go ahead! :smiley:

Cheers, Bertrand.

Hi Bertrand,
Please, is there anything new regarding the 64-bit build?

Cheers,
Josef

Hi Josef,

Not yet… But it will appear on the ROOT web page as soon as it will be available.

Cheers, Bertrand.

Hello,

I did a bit of research on this a couple of years ago. I presume some progress has been made since in terms of understanding the depth of the changes. The Win64 dev team decided to use a scheme for their 64 bit integral types which preserves the 32-bit compatibility of their legacy code. This means on 64 bit windows a long type is 32 bits. On many Unix systems a long is 64 bit (in 64 bit systems). This means that all the Long_t/ULong_t values in Root, CINT etc, must be inspected and upgraded to a well reasoned type which makes sense in both a 32 and 64 bit context. It’s a lot of work, and will require a significant testing period given the fundamental nature of the changes. I certainly look forward to learning what the ROOT team has learned of late.

Cheers,

Brandon

Bertrand,

could you please comment on the status of Windows 64 bit build? Can we expect a solution within the next couple of months? This feature is really important for me.

Thank you,
Andreas

Hi all, please, is there anything new regarding the 64-bit build for Windows? I have now pretty much all machines that I use running on Win7 64-bit. I am using root from Java and also Matlab that both is 64-bit and I need lot of memory. 32-bit Root is a major problem for me at this point.

As a comment related to the subject, it’s a peculiar detail that a project that carefully typedefs basic types such as int -> Int_t, float -> Float_t, then for an incomprehensible reason misses typedefs that could be considered the most important ones, namely the integer types whose size is equal to pointer types. Why I considered this worth mentioning is that based on quick look on the current code base, it seems that, at least partly, instead of fixing the problem, it’s just being pushed forward by switching ULong_t to ULong64_t(or is there any reason to say that assumption sizeof(int64) >= sizeof(pointer) today is any better than assumption sizeof(int32) >= sizeof(pointer) ten years ago?); for example the documentation of TExMap says:
“The (key,value) are Long64_t’s and therefore can contain object
pointers or any longs.”

Time for less future-brittle code with Intptr_t and UIntptr_t?

It is again couple of months, hence, please, is there anything new about the 64-bit version?

Hi,

No, and there is no real effort to do it right now. Any contribution is welcome (even if it is unusual for Windows users to contribute… :wink:)

Cheers, Bertrand.

Well, I’m Mac person :slight_smile: But I need to compile code for some Windows users too :confused:

No problem, don’t worry, but do you (or any of your users) really need 64-bit build?

I am very interested in a native 64-bit build for Windows 7.

It is a requirement for us, because some of the hardware we use for data acquisition is only supported on 64-bit Windows. Our application does large scale real time cellular data analysis.

buddy

Hi buddy,

And what prevent you to run 32-bit binary of ROOT? (it runs perfectly well on 64-bit Windows 7…)

Cheers, Bertrand.

Bertrand,

What prevents that is a funny little driver, than when run in 64-bit mode, can only talk to a 64-bit app.

buddy

It is similar in my case. I write a Java software that uses some bits and pieces of ROOT through JNI. I need plenty of memory available and 32-bit ROOT forces me to use 32-bit JVM => not more than ~1.2GB of memory available on windows for my code.

Old thread but the subject is still topical: while ROOT 6 doesn’t yet support Windows at all, if/when it does, is there going to be 64-bit Windows build?

Hi,

Once ROOT 6 works on Windows, Win64 should be supported (once all pointers to long conversions are changed…)

Cheers, Bertrand.