Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installer black window on Apple Silicon, Ventura #82

Open
Adreitz opened this issue Feb 15, 2023 · 6 comments
Open

Installer black window on Apple Silicon, Ventura #82

Adreitz opened this issue Feb 15, 2023 · 6 comments

Comments

@Adreitz
Copy link

Adreitz commented Feb 15, 2023

I have an old Ambrosia version of Aquaria. I found this updater hopeful that I could get it running on my new M2 Max MBP running 13.2.1, but unfortunately, the installer only shows a black window with a Start Updating button. I can't see how to point the installer to the Aquaria package and clicking on the button simply produces a small black second window titled Application Error with three buttons. It would be great if you could get this working on new Macs. Thanks!

Screenshot 2023-02-15 at 7 56 34 AM

@fgenesis
Copy link
Member

Thanks for reporting, i remember i saw this on another machine and thought it was a fluke. Now it's obvious it's not :< -- just checked, it's a known problem with Tcl/Tk on M1 machines.

You can try to copy things around manually, but there's a reason i wrote this thing for osx.
(finder is a complete piece of shit that fails simple tasks like merging directories)

Will see what can be done.

@fgenesis
Copy link
Member

Actually i remember working around this (ie. got it to work on the machine i've tried back then) somehow but the details are gone; been a while.

iirc when you click anything in the titlebar it should display normally while a menu is open, but i can't recall an application error.

@Adreitz
Copy link
Author

Adreitz commented Feb 16, 2023

Thanks for checking! I believe I opened menus to try to see if I could do anything and I don't remember that triggering the window contents to become visible. But I'll try again the next time I have some free time.

[Edit] I just saw the discussion here: https://fossil-scm.org/forum/forumpost/52b2d8c4eb57f350076826d990a33b1bc8e4ada283d22308498d30c8556be26f. I have MacPorts installed. Do you think installing a newer version of tk using "sudo port install tk +quartz" would help, or would your app still be bound to the built-in version? [/Edit]

@fgenesis
Copy link
Member

fgenesis commented Feb 16, 2023

Do you think installing a newer version of tk using "sudo port install tk +quartz" would help

No idea. If it replaces or somehow overrides the system version then that would help.

But it's no option for most people so it looks like a new updater is in order (or if possible, a fix to the current one, but i sure dunno right now)

Any idea what would be a good choice for windowing framework on newer osx? Needs to be used via a scripting language that's installed on the system by default.

The reason is that i'd like the installer to run on all things osx no matter what, that means:

  • on < 10.7 or so only Tcl/Tk is available, and the updater has some hacks to even work on 10.5. Haven't tested anything less.
  • Slightly newer osx versions may or may not have python 2.x
  • Very new versions have definitely kicked python 2.x and may or may not have python 3.x preinstalled.
  • Python's gui libs use Tk, so that would not even fix the bug
  • Maybe python has a GTK wrapper or something osx-specific?

And shipping a compiled binary is right out because of signature checking, that's why it must be a script run by a system interpreter. Sucks, but it's apple, so what can you do. Stay away from it is all i can say.

EDIT: Actually, you could run the install script with your custom built version, sure. The initial launcher is just a shell script that select the system interpreter, so it's easy to interject there.

EDIT2: The updater has its own repo: https://github.com/AquariaOSE/updater so in case you figure something out before i do please make a PR there!

@Adreitz
Copy link
Author

Adreitz commented Feb 16, 2023

I'm afraid I'm not a coder. I just know my way around Terminal and can Google search. Windowing systems are outside my expertise. I assume you need something cross-platform, but does it need to run in Python? A quick Google search brought me here, and I know I've seen app packages that use this before, but don't know if it will help you: https://www.mono-project.com/docs/about-mono/supported-platforms/macos/. As far as I know, the code necessary to run it is included in the app package, so there is no need to preinstall. There is also this Quora thread: https://www.quora.com/Which-is-the-best-Python-GUI-framework-for-a-Mac-OS-X.

@Adreitz
Copy link
Author

Adreitz commented Feb 16, 2023

Am I interpreting the updater repo correctly that it is essentially just a .sh script and a .tcl script? I couldn't immediately tell which one handled the meat of the updating and which was just creating the windows. If it can be done with one or two Terminal commands, I think many Mac users would be okay with just running the script directly without the need for a GUI. Unless you're using some special feature of tclsh, you could rewrite the script for bash/zsh and be up to date with modern MacOS. But, again, I only cobbled together one bash script once and don't appreciate how difficult porting would be.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants