Universal Binary of MacAranym

49 views
Skip to first unread message

Philipp Donzé

unread,
Apr 7, 2021, 6:38:03 PM4/7/21
to ara...@googlegroups.com
Hi all

Tonight I was able to finish the build of MacAranym for M1 and 64-Bit Intel. 

There were various roadblocks to circumvent: rebuilding SDL and SDL_image frameworks from the sources (with dependencies), manually merging dynamic libraries from two different homebrew installations, adjusting the configure scripts and the MacAranym-Latest Xcode project to make things build for ARM on macOS.

The source code with the M1 adaption can be cloned from here: https://github.com/pd95/aranym/tree/support-apple-m1

The binaries to test can be found here: https://donzé.ch/atari/software/macaranym/

If you want to build it yourself you will have to get/build the dependent libraries (SDL2, SDL2_image, libjpeg) for M1 and (if you want to build a Universal Binary) for x86_64.

My build is running only on macOS 11 Big Sur as I didn’t have libjpeg for macOS Catalina available.

Let me know if it runs on your Apple M1 machines too. (I tested it on M1 and x86_64, but Big Sur only...)

Kind regards
Philipp


Below are the Kronos results when running MacAranym native on M1:


MacAranym JIT Running under Rosetta 2 is also running fast.

Francois LE COAT

unread,
Apr 8, 2021, 9:05:50 AM4/8/21
to ara...@googlegroups.com
Hi Philipp,

I tested your Universal Binary available here ...
_______________________

<https://xn--donz-epa.ch/atari/software/macaranym/aranym-1.1.0+git-macosx-arm64_x86_64_20210408.dmg>

MacAranym binary compiled and compatible with Intel 64-Bit and Apple M1
based Macs. Will only run on macOS 11.0 (Big Sur).
Built on an M1 based Mac with macOS BigSur (11.2) and Xcode 12.4 using
custom built SDL2 (2.0.14), SDL2_image (2.0.5) and libjpeg from
homebrew. Dependencies to build this can be downloaded here.
MacAranym JIT is not Apple M1 compatible and will run under Rosetta 2 !
ARAnyM 1.1.0 2021/04/07 (git:0f432755) Native features : audio bootstrap
xhdi ethernet hostfs cdrom(no) osmesa jpeg vdi(opengl,sw) exec config
clipboard
_______________________

You wrote that it wouldn't run with other macOS version than Big Sur.
In facts, it runs perfectly under macOS Catalina, all the binaries :-)

I also built the MacAranym-Latest Xcode project without problem, here :

<https://github.com/pd95/aranym/tree/support-apple-m1>

You're working perfectly. The speed of `MacAranym.app` is almost the
same with my 2.3 GHz 8 core i9 Intel processor, than your MacM1.

About Kronos 2.02, it is important to enable "[OPENGL] Enabled = Yes",
because graphic display may be *very slow* And when Kronos asks about
the processor, you should reply 68030, because it is *much faster*

I'm questioning about the benchmark, because I thought that M1
processor would be clearly more performative than my Core i9 ...

Thanks about your brilliant work :-)

Philipp Donzé writes:
> Tonight I was able to finish the build of MacAranym for M1 and 64-Bit
> Intel.
>
> There were various roadblocks to circumvent: rebuilding SDL and
> SDL_image frameworks from the sources (with dependencies), manually
> merging dynamic libraries from two different homebrew installations,
> adjusting the configure scripts and the MacAranym-Latest Xcode project
> to make things build for ARM on macOS.
>
> The source code with the M1 adaption can be cloned from here:
> https://github.com/pd95/aranym/tree/support-apple-m1
>
> The binaries to test can be found here:
> <https://xn--donz-epa.ch/atari/software/macaranym/>
>
> If you want to build it yourself you will have to get/build the
> dependent libraries (SDL2, SDL2_image, libjpeg) for M1 and (if you want
> to build a Universal Binary) for x86_64.
>
> My build is running *only on macOS 11 Big Sur* as I didn’t have libjpeg
> for macOS Catalina available.
>
> Let me know if it runs on your Apple M1 machines too. (I tested it on M1
> and x86_64, but Big Sur only...)
>
> Kind regards
> Philipp
>
>
> Below are the Kronos results when running MacAranym native on M1:
>
>
> MacAranym JIT Running under Rosetta 2 is also running fast.

Best regards,

--
François LE COAT
Author of Eureka 2.12 (2D Graph Describer, 3D Modeller)
http://eureka.atari.org/

Francois LE COAT

unread,
Apr 9, 2021, 9:51:06 AM4/9/21
to ara...@googlegroups.com
Hi,

Thanks to your work. I can build MacAranym, and I run it successfully.
It's the best work on ARAnyM, since the calm long period that occurred.
This work should definitely be pushed in the master branch of devels.

Again, many thanks Philipp !

Philipp Donzé writes:
> Tonight I was able to finish the build of MacAranym for M1 and 64-Bit
> Intel.
>
> There were various roadblocks to circumvent: rebuilding SDL and
> SDL_image frameworks from the sources (with dependencies), manually
> merging dynamic libraries from two different homebrew installations,
> adjusting the configure scripts and the MacAranym-Latest Xcode project
> to make things build for ARM on macOS.
>
> The source code with the M1 adaption can be cloned from here:
> https://github.com/pd95/aranym/tree/support-apple-m1
>
> The binaries to test can be found here:
> <https://xn--donz-epa.ch/atari/software/macaranym/>
>
> If you want to build it yourself you will have to get/build the
> dependent libraries (SDL2, SDL2_image, libjpeg) for M1 and (if you want
> to build a Universal Binary) for x86_64.
>
> My build is running *only on macOS 11 Big Sur* as I didn’t have libjpeg
> for macOS Catalina available.
>
> Let me know if it runs on your Apple M1 machines too. (I tested it on M1
> and x86_64, but Big Sur only...)
>
> Below are the Kronos results when running MacAranym native on M1:
>
> MacAranym JIT Running under Rosetta 2 is also running fast.

Jens Heitmann

unread,
Apr 12, 2021, 5:06:08 PM4/12/21
to ara...@googlegroups.com
Hi Phiipp,

I try to build Aranym from you repo on my M1.


Am 08.04.2021 um 00:37 schrieb Philipp Donzé <philip...@gmx.ch>:


If you want to build it yourself you will have to get/build the dependent libraries (SDL2, SDL2_image, libjpeg) for M1 and (if you want to build a Universal Binary) for x86_64.

I’ve build SDL2 but fail with SDL2_Image. I’ve tried the zip and the GitHub repository, both with the same result.

Showing Recent Issues
Undefined symbol: _WebPDecodeRGBAInto
Undefined symbol: _WebPDecodeRGBInto
Undefined symbol: _WebPGetFeaturesInternal

Maybe I doing stag. wrong…?!
Can you add some information how to build the dependencies?

Regards

Jens



Kind regards
Philipp


Below are the Kronos results when running MacAranym native on M1:

<PastedGraphic-1.png>

MacAranym JIT Running under Rosetta 2 is also running fast.
<PastedGraphic-2.png>

--
You received this message because you are subscribed to the Google Groups "ARAnyM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to aranym+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/aranym/6C2284F4-B332-472F-AAC7-A60B6575F75E%40gmx.ch.

Thorsten Otto

unread,
Apr 13, 2021, 12:43:32 AM4/13/21
to ara...@googlegroups.com

On Montag, 12. April 2021 23:06:03 CEST Jens Heitmann wrote:

> I’ve build SDL2 but fail with SDL2_Image.

 

IIRC SDL2_Image isn't actually needed anymore. It once was used for writing screenshots as BMP, but that now uses custom code.

 

Philipp Donzé

unread,
Apr 13, 2021, 2:53:55 AM4/13/21
to Thorsten Otto, ara...@googlegroups.com
That’s great news. 

Let’s get rid of it. It was a real pain to build on M1 as it has many more external dependencies.

Regards
Philipp

Von meinem iPhone gesendet

Am 13.04.2021 um 06:43 schrieb Thorsten Otto <ad...@tho-otto.de>:



On Montag, 12. April 2021 23:06:03 CEST Jens Heitmann wrote:

> I’ve build SDL2 but fail with SDL2_Image.

 

IIRC SDL2_Image isn't actually needed anymore. It once was used for writing screenshots as BMP, but that now uses custom code.

 

--
You received this message because you are subscribed to the Google Groups "ARAnyM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to aranym+un...@googlegroups.com.

Jens Heitmann

unread,
Apr 13, 2021, 7:07:06 AM4/13/21
to ara...@googlegroups.com
Okay, now it works

So the steps are:

- simply build SDL2, drop the build Framework into MacOSX folder
- install homebrew
- install automake jpeg
- Link /opt/homebrew/lib to projects MacOSX external/lib
- (Currently remove SDL_Image) from the project

That’s it. Great. That was easy.

Thx
Jens

Philipp

unread,
Apr 13, 2021, 2:57:41 PM4/13/21
to Jens Heitmann, ara...@googlegroups.com
I’ve updated the support-apple-m1 branch to get rid of the obsolete SDL_image framework.
I have also removed the unused targets in MacAranym-Latest.xcodeproj…

So now it should be „even easier“ to build it :-)

regards
Philipp


Reply all
Reply to author
Forward
0 new messages