64-bit Mac build with Xojo 2016r4.3

Will Xojo 2016r4.3 build a 64-bit Mac app? I’ve been told by Alyssa at Xojo support that it will, but I haven’t been able to figure out how to do it. Can anyone help?

There are way too many bugs in this old Xojo version for 64bit.

But to answer the question, you do it the same way you do in later versions of Xojo. Under Build Settings on the left, select OSX, then on the right change the Build > Architecture to x86 64-bit.

Then test…

Thanks, Douglas. My first thought was Build Settings. I select it and check OS X, but I don’t see anything anywhere about Build or Architecture.

I wrote too quickly. I played around, clicking this and that, with no help. Then I clicked “Shared” and again clicked “OS X” and I got the x86 64-bit option. What does “Shared” mean?
Anyway, I tried a build, and got a working 64-bit Mac app. Thanks, Douglas

If there are bugs, I haven’t encountered them yet. Any thoughts about what kind of problems I might encounter?

I don’t still have 2016 r4.3 installed, but I still have a 2016 r4.1 installation so here is where I set it there (and newer too):

I can’t tell you what problems still existed with 64-bit compiles in that version. I only used the 2016 version for 32-bit builds, and all my 64-bit builds I do now are from newer releases.

The “Shared” values are those things which apply regardless of platform – such as your version number.

The platform specific settings, like OSX, apply to just compiles for that platform. Windows and Linux don’t have a “bundle identifier” for example.

Thank you very much, Douglas.

Beatrix, can you shed any light on what kind of bugs I might encounter?

Just to name a few… These are all things that were fixed since 2016r4.1

  • CHANGE 50092 Framework » All AutoDiscovery, EasyTCPSocket, EasyUDPSocket events and methods now use Int32 for command parameters for compatibility with 64-bit. 10/25/17 4:06 PM
  • FIX 40702 Framework » macOS Split and Join now perform efficiently in 64-bit applications. 6/21/17 7:54 PM
  • FIX 40961 Framework » All Fixed Split and Join’s handling of Unicode strings on 64-bit. 6/21/17 9:21 PM
  • FIX 41680 Framework » All VirtualVolumes now works properly in 64-bit builds. 7/26/17 9:29 PM
  • FIX 42189 Compiler Fixed a compiler failed assertion that would occur when doing pointer subtraction on a 64-bit target. 4/4/18 7:54 PM
  • FIX 43004 Framework » macOS ListBox help tags now function on 64-bit macOS. 10/5/17 3:02 PM
  • FIX 43748 Framework » Macintosh Fixed how ampersands in control text on 64-bit macOS get stripped. 6/21/17 8:04 PM
  • FIX 45479 Framework » macOS Fixed crashes that could happen when comparing strings that lack an encoding on 64-bit macOS. 6/21/17 8:20 PM
  • FIX 45954 Framework » All Converting floating point to unsigned integer types now works correctly under 64-bit. 3/27/18 7:47 PM
  • FIX 46455 Framework » All RGBSurface.FloodFill now works properly for 64-bit builds. 1/5/17 5:19 PM
  • FIX 47605 Framework » macOS Text on reports now draws properly for 64-bit apps. 10/3/17 8:05 PM
  • FIX 47627 Framework » macOS Spotlight query now works for 64-bit builds. 7/28/17 10:15 PM
  • FIX 47822 Compiler Currency comparison works correctly under 64-bit. 3/27/18 3:46 PM
  • FIX 48050 Framework » All Replace and ReplaceAll on 64-bit applications now behaves like 32-bit and pretends that Nil-encoded search and replacement strings are in the same text encoding as the target string. 6/21/17 8:46 PM
  • FIX 48321 Framework » All SegmentedControl: Items.Ubound now correctly returns -1 when no items are present for 64-bit builds. 7/31/17 7:43 PM
  • FIX 49720 Framework » All Fixed a spurious OutOfBoundsException with MemoryBlock.ColorValue on 64-bit when there are fewer than 8 bytes left in the MemoryBlock. 9/29/17 4:37 PM
  • NEW 48376 Framework » macOS Updated Xojo to use the macOS 10.14 SDK for 64-bit builds. 10/31/18 3:38 PM

That’s quite a list, Greg. Thanks.
I’ve run a few big calculations on a 64-bit Mac app with no errors. Two of them are compute-bound for over a minute with both integer and FP arithmetic. The speed seems to be about the same as for a 32-bit build. I need to check out some graphics, and I think I’ll be OK.

This forum is much more helpful than Xojo support.

@Greg O’Lone Does 2016r4.3 link against the macOS 10.9 SDK?

I believe so. It’s only starting in 2018r4 or 2019r1 that they switched to macOS 10.14 SDK.

Find out with this handy terminal command:

otool -l "$RB_IDE_PATH/Xojo.app/Contents/MacOS/Xojo" | grep -A 3 LC_VERSION_MIN_MACOSX | grep sdk | awk '{ print $2 }'

[quote=443784:@Dan Paymar]That’s quite a list, Greg. Thanks.
I’ve run a few big calculations on a 64-bit Mac app with no errors.[/quote]

I would strongly recommend that you use the latest Xojo for 64-bit builds. As Greg pointed out there are many bugs that got fixed. You mentioned calculations, I’ve had issues with the Currency data type in older releases (since fixed, thanks Xojo!).

Those calculation errors can creep in without you noticing, and it may not be worth the risk.

Thanks Philippe, I’ve gotten sloppy about keeping older version builds around and associating them with Xojo Version. App Wrapper reads this info directly from the Mach-O file, along with the Xojo framework UUID and then looks like up to report which version of Xojo it was made with, but as I say, I’ve gotten sloppy with this feature. Maybe in a few weeks I’ll take some time to update the list.