standalone builder

Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller, LCMark

Locked
mwieder
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 3581
Joined: Mon Jan 22, 2007 7:36 am
Location: Berkeley, CA, US
Contact:

standalone builder

Post by mwieder » Wed Nov 06, 2013 2:00 am

This may more properly belong in the IDE contributors section, but since there's still no way to issue pull requests for the IDE...

Now that we can build 64-bit versions of the engine, when will we be able to deploy 64-bit standalones? The 32-bit/64-bit switch needs to be implemented in the standalone builder, and the various engine builds also need to be in the installer script.

monte
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 1564
Joined: Fri Jan 13, 2012 1:47 am
Contact:

Re: standalone builder

Post by monte » Wed Nov 06, 2013 4:01 am

It's a good question... does it work if you just put the 64 bit builds where the 32 bit ones were?
LiveCode User Group on Facebook : http://FaceBook.com/groups/LiveCodeUsers/

mwieder
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 3581
Joined: Mon Jan 22, 2007 7:36 am
Location: Berkeley, CA, US
Contact:

Re: standalone builder

Post by mwieder » Wed Nov 06, 2013 5:06 am

Yeah, it does. But what's missing is the ability to specify 32-bit or 64-bit standalone targets.

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 9823
Joined: Sat Apr 08, 2006 7:05 am
Location: Los Angeles
Contact:

Re: standalone builder

Post by FourthWorld » Wed Nov 06, 2013 5:42 am

mwieder wrote:Yeah, it does. But what's missing is the ability to specify 32-bit or 64-bit standalone targets.
It's 2013 - does anyone need 32-bit?
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

mwieder
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 3581
Joined: Mon Jan 22, 2007 7:36 am
Location: Berkeley, CA, US
Contact:

Re: standalone builder

Post by mwieder » Wed Nov 06, 2013 6:20 am

Yes, there are still 32-bit systems around that won't be able to run the 64-bit binaries and won't have the proper linked libraries.
OSX is a 64-bit system but 32-bit by default, and almost all OSX applications are 32-bit binaries.
I'd support 64-bit being the default with an option to backpedal to 32-bit binaries, but I do think both are necessary.

malte
Posts: 1098
Joined: Thu Feb 23, 2006 8:34 pm
Location: Ostenfeld germany
Contact:

Re: standalone builder

Post by malte » Wed Nov 06, 2013 11:37 am

Yes. Still being able to deploy 32Bit binaries is a must for quite a while still. You wouldn't believe how many government / Uni institutions still run 32 Bit versions of Linux here in germany.

LCMark
Livecode Staff Member
Livecode Staff Member
Posts: 1207
Joined: Thu Apr 11, 2013 11:27 am

Re: standalone builder

Post by LCMark » Wed Nov 06, 2013 11:42 am

Well it's good to know the modifications I made to the deploy command for 64-bit ELF actually sound like they work :)

In regards to the other changes needed, we've not had a chance yet to integrate 64-bit linux builds into our build system - however, I think the folder structure is ready for it (the Linux runtime folder is split into 32-bit/64-bit parts), its just the option needs to be added to the S/B to use 64-bit engines if asked for and present.

LCMark
Livecode Staff Member
Livecode Staff Member
Posts: 1207
Joined: Thu Apr 11, 2013 11:27 am

Re: standalone builder

Post by LCMark » Wed Nov 06, 2013 1:07 pm

I've just done some work on this - in theory if you have a Runtime/Linux/x86-64 folder in your ide with the appropriately named components (same as x86-32), a Linux x64 checkbox should appear on the Linux pane of the standalone settings, and the S/B should pick up components from there if it is checked.

[ These changes will first appear in 6.1.3 / 6.5 ].

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 9823
Joined: Sat Apr 08, 2006 7:05 am
Location: Los Angeles
Contact:

Re: standalone builder

Post by FourthWorld » Wed Nov 06, 2013 4:18 pm

Thanks to all of you who made this happen. 64-bit compatibility is a must-have for many modern Linux distros, greatly simplifying what's needed to run apps made with LiveCode.
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

mwieder
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 3581
Joined: Mon Jan 22, 2007 7:36 am
Location: Berkeley, CA, US
Contact:

Re: standalone builder

Post by mwieder » Wed Nov 06, 2013 8:55 pm

It's promising. Using LC 6.1.3-rc-2 I see the checkbox after

1. placing the 64-bit standalone engine in /opt/runrev/livecodecommunity-6.1.3-rc-2/Runtime/Linux/x86-64
2. renaming it "Standalone"

I can still build the 32-bit standalone without problems.
I can also build the 64-bit standalone. However, doing so builds both so that I end up with the following directory structure:
MixedBuilds.png
The 32-bit build structure vs the 64-bit build structure
Note: the 64-bit build is much larger because of the debugging info, so don't worry about that part.

I realize that a checkbox could well be construed as *also* build a 64-bit version, but I rather expected that I would be building *only* a 64-bit application. I think I'd prefer checkboxes to select one or the other, or at least two checkboxes so that I don't end up building both every time.

LCMark
Livecode Staff Member
Livecode Staff Member
Posts: 1207
Joined: Thu Apr 11, 2013 11:27 am

Re: standalone builder

Post by LCMark » Wed Nov 06, 2013 9:23 pm

@mwieder: Wouldn't that be radio-buttons then? ;)

This is the same convention that is used for Mac - where you can choose any (or none of) of Universal, x86 or ppc - and not really any different from being able to select multiple platforms. The motivation behind this is from the point of view of distribution - you can select multiple platforms and multiple architectures for each platform and all are built so you can upload.

Now, to be fair, what is missing is an optional to 'build active architecture only' (which Xcode has) - i.e. when testing / debugging etc., you probably only want to build one platform and one architecture in almost all cases.

LCMark
Livecode Staff Member
Livecode Staff Member
Posts: 1207
Joined: Thu Apr 11, 2013 11:27 am

Re: standalone builder

Post by LCMark » Wed Nov 06, 2013 9:28 pm

@mwieder: Sorry, I potentially completely missed the point of what you were saying... There should be two check-boxes on the standalones setting pane when a 64-bit linux engine is present - one for Linux (i.e. 32-bit) and one for Linux x86 (i.e. 64-bit).

If only one is checked, you should get only one build. If both are checked you should get both... It is entirely possible that something somewhere in the S/B is checking if the platform contains "linux" rather than is "linux" and thus resulting in the 32-bit one always being built...

jacque
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 7227
Joined: Sat Apr 08, 2006 8:31 pm
Location: Minneapolis MN
Contact:

Re: standalone builder

Post by jacque » Wed Nov 06, 2013 11:33 pm

Does this mean my text-based cgi scripts will work when my web host insists on moving me to a 64-bit Linux machine? It's going to happen pretty soon.
Jacqueline Landman Gay | jacque at hyperactivesw dot com
HyperActive Software | http://www.hyperactivesw.com

mwieder
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 3581
Joined: Mon Jan 22, 2007 7:36 am
Location: Berkeley, CA, US
Contact:

Re: standalone builder

Post by mwieder » Wed Nov 06, 2013 11:40 pm

@runrevmark: Well, "the platform" returns "linux" in either case, and "the systemversion" returns "Linux 3.5.0-17-generic".

...and two checkboxes would be good.

Update: I rebuilt it and looked again. There *are* two checkboxes. My eyes probably just glossed over the fact that the first checkbox was for the 32-bit build. That said, I think it would be better for the checkbox to be labeled "linux 32-bit" and "linux 64-bit". Or if necessary, "linux i386" and "linux x64".

LCMark
Livecode Staff Member
Livecode Staff Member
Posts: 1207
Joined: Thu Apr 11, 2013 11:27 am

Re: standalone builder

Post by LCMark » Thu Nov 07, 2013 10:21 am

Well, "the platform" returns "linux" in either case, and "the systemversion" returns "Linux 3.5.0-17-generic".
Heh - I was being overly specific - the names of the platforms in the standalone builder is taken from the names of the checkboxes... In various places it was using 'is' and in some cases 'contains' to check for things to do - after I re-read your comment I thought it might be that something wasn't quite working correctly. (i.e. If the code that checks what platforms to build for was doing pPlatform contains "Linux", rather than is "Linux", then the 32-bit build might be built too even though it wasn't checked).
There *are* two checkboxes. My eyes probably just glossed over the fact that the first checkbox was for the 32-bit build. That said, I think it would be better for the checkbox to be labeled "linux 32-bit" and "linux 64-bit". Or if necessary, "linux i386" and "linux x64".
Phew - I'm not just imagining things... Indeed, easy enough to change the labels :)

Locked

Return to “Engine Contributors”