PACKR Issue building on Catalina
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 2.6k
- Forks
- 174
- PR merge metrics
- No merged PRs in 30d
Description
PROBLEM: Modern PACKR releases (4.0, 3.0)+ do not create functional (unsigned) LibGDX apps for Catalina
ENVIRONMENT: We can reproduce this on builds from multiple Macs (Catalina and Big Sur) as well as from Windows 10
WORKAROUND: We have found an older (pre-2020) version of PACKR that works correctly
Summary
Unsigned LibGDX applications built by the current version of PACKR on Catalina do not run. They quit immediately with the crash error
# Problematic frame:
# C [AppKit+0x3e5abc] -[NSOpenGLContext setView:]+0xe5
This is a known issue with Catalina where the OpenGL context is accessed outside the main frame, and introduced by how Catalina manages security. This is a problem introduced by PACKR, since the original JAR files run normally.
We did not have this problem last year (I use PACKR for a course). Indeed when we revert to our older version of PACKR, it successfully creates applications for Catalina. I have no idea which version of PACKR that is, but when I expand the JAR file I see that it was built on March 19, 2019. So I suspect it may be 1.2.
From research on the Internet (and the build date of the older version of PACKR), I think the problem is with the Mac SDK used to build the executables used by PACKR. I refer you to this thread for a similar issue with JOGAMP:
https://jogamp.org/bugzilla//show_bug.cgi?id=1398
In that case error was introduced by using the default Catalina SDK 'macosx10.15'. Use of an older SDK, such as 'macosx10.11' (even on Catalina or Big Sur Macs) caused the error to disappear.
We have not verified whether or not this problem goes away when you sign the app with a MacOS Developer Certificate. But ideally this should not be required for informal LibGDX distribution.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the Catalina crash with a current PACKR build and an unsigned LibGDX application, then compare it with the older working PACKR version described in the issue. Review PACKR’s Mac executable-generation and SDK configuration; done means unsigned applications launch successfully on Catalina and Big Sur without the NSOpenGLContext crash.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, macos
- Domain
- build-system, desktop, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100