MacOS Aarch64/M1 + version 12 + 13 Support

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

MacOS Aarch64/M1 + version 12 + 13 Support

Sven Gothel
Administrator
Dear Emmanuel, Dear Everybody,

I am currently working on the MacOS Aarch64/M1 build,
producing fat (or universal lipo) libraries for x86_64 + aarch64.

I reuse Emmanuel's gluegen ant changes, thank you Emmanuel.

For this fat Mac OS build, I will use an OpenJDK 17 SDK
for x86_64 and Aarch64 and produce the fat libraries manually (libjawt.dylib).
This recipe will also be committed, however,
I will see to make this optional to allow
a simple native target platform build.

Currently I have to resolve further Mac OS 12/13 semantic API changes,
i.e. further 'enforcement' of threading restrictions.
When this is properly resolved, I will push my changes.

Similar changes shall happen to the used SWT library.

Then, the last step is to re-validate against the latest Windows 10 version.

Warm greetings,

~Sven
Reply | Threaded
Open this post in threaded view
|

Re: MacOS Aarch64/M1 + version 12 + 13 Support

gouessej
Administrator
Hello Sven

I wish you an happy new year. Maybe we'll have to improve Emmanuel's change in order to drive them future proof.

By the way, I forgot to commit this change (or to find a better solution) in 2021:
https://forum.jogamp.org/InternalError-XXX0-profile-2-GL2-profileImpl-GL3bc-not-mapped-tp4041754p4042018.html
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: MacOS Aarch64/M1 + version 12 + 13 Support

Sven Gothel
Administrator
In reply to this post by Sven Gothel
FYI .. I pushed gluegen, joal and jogl (master tip).

Status:
- Still working on GNU/Linux x86_64 ;-)
- MacOS 12 + 13 bringup test NEWT + AWT (same build):
  - Working on MacOS 12 x86_64
  - Working on MacOS 13 aarch64 (so called M1)

GlueGen's and JOGL's doc/HowToBuild.html have been adjusted
for Adoptium (OpenJDK build) using OpenJDK 17 for building the binaries.

The MacOS section has also been updated and a procedure
to build fat OpenJDK libraries required to build the universal x86_64 and aarch64
blobs has been added.

TODO:
- Update SWT and apply a patch
- Complete testing, i.e. passing our unit tests.
- Test on Windows
- Check some other pressing fixes
- Release
Reply | Threaded
Open this post in threaded view
|

Re: MacOS Aarch64/M1 + version 12 + 13 Support

Sven Gothel
Administrator
In reply to this post by gouessej
Added your patch, see in orig thread:
<https://forum.jogamp.org/InternalError-XXX0-profile-2-GL2-profileImpl-GL3bc-not-mapped-tp4041754p4042037.html>

Happy New Year Julien and thank you!
Reply | Threaded
Open this post in threaded view
|

Re: MacOS Aarch64/M1 + version 12 + 13 Support

Martin
Nice to read you Sven!

This is a good news, I'll be happy to publish this on my Maven repository if this is helpful.

Cheers,

Martin
Reply | Threaded
Open this post in threaded view
|

Re: MacOS Aarch64/M1 + version 12 + 13 Support

Sven Gothel
Administrator
Martin wrote
I'll be happy to publish this on my Maven repository if this is helpful.
Reading through history on the forum,
your work and Julien's work was very helpful and saved 'em.

When we have builds again,
I will run the maven recipes from back then.
They will produce maven packages on JogAmp.

If you (or ...) then likes to take over the 'official' maven distribution
on the maven server using these, that probably would be great.

We shall also kick-off a debate beyond 'maintenance mode' of JogAmp,
perhaps, in case there is any interest out there.

To all, warm greetings and _peaceful_ wishes

~Sven
Reply | Threaded
Open this post in threaded view
|

Re: MacOS Aarch64/M1 + version 12 + 13 Support

Sven Gothel
Administrator
OK, I added the new sub-forum Project Management and its 1st kick-off post .

We will see how this works out :)
Reply | Threaded
Open this post in threaded view
|

JOGL Statuc Update (was Re: MacOS Aarch64/M1...)

Sven Gothel
Administrator
In reply to this post by Sven Gothel
Preliminary Status Update (all things pushed to git)

- Build System
  - Using OpenJDK 17
  - Updated toolchains for MacOS + Windows
  - Minimum MacOS SDK Version is 11

- Windowing Toolkits
  - AWT OK
  - SWT 4.26 OK
  - NEWT OK

- Build OK and testing (WIP, most OK) on
  - GNU/Linux x86_64
  - Windows 10
  - MacOS x86_64, aarch64

- Merged 3 patches
  - Julien's GLProfile GL2 (manual)
  - SWT 4... patch (pre 4.26)
  - GLX extension patch

- JogAmp Server
  - Fixed git protocol access (you can close/pull via git: again)
  - Server was updated a while ago to Debian 11

TODO:
- Bugzilla still not fully working (reported by Julien)
- Complete testing across platforms, i.e. passing our unit tests.
- Release

My test/build nodes are up an running again,
naturally the Windows and MacOS machines were most annoying :)

Qualifying the unit tests across machines ..,
then I will see to our Jenkins machinery.

~Sven
Reply | Threaded
Open this post in threaded view
|

Re: JOGL Statuc Update (was Re: MacOS Aarch64/M1...)

gouessej
Administrator
Actually, despite the error message, I can post comments, it's not a big deal.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: JOGL Statuc Update (was Re: MacOS Aarch64/M1...)

mbastian
Amazing work in pushing this through! I'm looking at updating Gephi with the latest 2.4.0.version.

With 2.4.0, NEWT is no longer crashing at startup on Mac OS Aarch64/M1 + JDK11. This is amazing.
Reply | Threaded
Open this post in threaded view
|

Re: JOGL Statuc Update (was Re: MacOS Aarch64/M1...)

gouessej
Administrator
This post was updated on .
It's an excellent piece of news. By the way, I plan to replace my own slimmed-down fork of another graph API by Graphstore, which is used in Gephi.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: JOGL Statuc Update (was Re: MacOS Aarch64/M1...)

Sven Gothel
Administrator
In reply to this post by mbastian
Thx for the feedback mbastian. Good it works well.