64bit Surprise

This was announced some weeks ago:

Today RS (Xojo) announced the windows and Linux 64bit is done, Cocoa only 70%.

Whats up?

I believe they said they had the frameworks building in 64 bit there. That’s just one part- it is not the same as full/release support which requires new LLVM/linker on each platform…

they cant deploy/build 64bit until LLVM. Frameworks are ready but complier isnt.

[quote=7699:@Christophe De Vocht]This was announced some weeks ago:

Today RS (Xojo) announced the windows and Linux 64bit is done, Cocoa only 70%.

Whats up?[/quote]

Geoff was talking about the frameworks themselves and 70% is a rough estimate. The Windows and Linux frameworks are compiling as 64-bit and the Cocoa framework isn’t yet. However, having the frameworks compiling doesn’t mean they will actually work. For example, there are likely issues with pointers being stored as integers and having half of the pointer truncated.

Going further, the frameworks are only a part of what is needed: the compiler, linker, debugger, and such also need to be able to do 64-bit.

When everything is 64-bit, will 32-bit compiles be depreciated, or will one still have the ability to choose between 32-bit and 64-bit targets?

I can answer this partially. No, it’s not like a “let’s turn 32bit off now” :slight_smile: . 32bit will be around for years, so it will not be deprecated as we have hundreds of millions of machines around the world running 32bit OS’s only.
The part I can’t answer, I’ll try a guess: Maybe a radio button on each platform option, Processor Architecture: Intel 32 / Intel 64 (others to come like ARMv3, ARMv7).

That makes sense.

32-bit compiles will probably be deprecated, but you will be able to choose between both.

That sounds great. Thanks Joe.

Well… Declaring deprecation of compiling for some OS’s, for me, should be well aligned with the vendors deprecation versus legacy presence.
Win 8, 32 bit, end of life, will be 2018, and the extended support will be 2023. Just for information.
Linux 32 needs some research but they usually support old hardware for years.
Just be careful when the time comes. I see old OS’s (XP, Windows 2003, Ubuntu 8.04, for example) running ancient softwares in old hardwares in corporate environments around me, for example. The business admins wants the return of every penny from that machine/software until changing one or both of those. They usually change the hardware just when they are dieing. :slight_smile:

Not directly related, just for knowing and fun: http://arstechnica.com/information-technology/2013/03/epic-uptime-achievement-can-you-beat-16-years/

Marketshare and vendor support are always taken into account when deciding what to support. We’re stuck supporting Windows XP until people finally upgrade to something that isn’t 12 years old. As for Linux, at some point the policy is going to change so that we only support the releases that Canonical does (in term of Ubuntu). Right now we go back to 6.10, which became unsupported in 2008.

Ok, so I’m confused. Can I compile my app for 64-bit linux with the latest release of Xojo? I am creating a web app to run on a hosted server that runs 64 bit linux but they are not willing to install the 32 bit libraries for me so I need to compile it for 64-bit from the start. Can someone please point me in the right direction?

Greg

No, you cannot. The 32-bit compatibility libraries are required.

So you will be focusing solely on Ubuntu compatibility?

See bold. I think Joe just means regarding Ubuntu, not Redhat, etc.

http://documentation.xojo.com/index.php/System_requirements

Officially Supported Distributions:

Ubuntu 8.04 or later
SUSE Linux Enterprise Desktop 10
Red Hat Enterprise Linux 5 

NOTE: On 64-bit Debian Linux installations the ia32-libs or the ai32-libs-multiarch package must be installed to run Xojo or applications built with Xojo.

Yeah I got that. Only Canonical releases Ubuntu… Guess I was confused what that means then.

Just that at some point, for Ubuntu, we will support those releases that are still supported by Canonical.

Makes sense, thanks for clarification.