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

Not Compatible with macOS 14 #2517

Open
1 task
jumper385 opened this issue Oct 11, 2023 · 2 comments
Open
1 task

Not Compatible with macOS 14 #2517

jumper385 opened this issue Oct 11, 2023 · 2 comments

Comments

@jumper385
Copy link

Description
I am getting an error which says the following:
"This version of “gtkwave-bin” is not compatible with macOS 14 or later and needs to be updated. Contact the app developer for more information."

image

Expected behaviour
The app should just start

How to reproduce?
Update your Mac Device to macOS Sonoma (MacOS14) and setup gtkwave.

Context
Please, provide the following information:

  • OS: MacOS 14 (Running on Mac M1 - Macbook Air)
  • Origin:
    • homebrew

If a GHDL Bug occurred block is shown in the log, please paste it here:

******************** GHDL Bug occurred ***************************
Please report this bug on https://github.com/ghdl/ghdl/issues
...
******************************************************************

Additional context
Add any other context about the problem here. If applicable, add screenshots to help explain your problem.

@Xiretza
Copy link
Contributor

Xiretza commented Oct 11, 2023

That sounds like a problem with GTKWave, not ghdl.

@diogratia
Copy link

diogratia commented Oct 11, 2023

It is a problem with GTKWave which is also undergoing major changes. There also hasn't been a macOS compatible GTKWave application since 3.3.107 some 2 years and more in the past. See GTKWave issue 250.

Apple deprecated the method older builds of GTK use to access pixels (the frame buffer). They gave plenty of notice, over a year that it was going to occur and if you were a paid developer or paid to go to a Developers Conference they'd have made sure you were notified. For the hoi polloi who don't pay the Danegeld we got to see that notification pop up. That includes the two developers now working on gtkwave. There are various other applications also affected by the MacOS 14 update similarly trying to access the frame buffer.

There's an interim solution where randomplum provides a GTKWave Homebrew Tap allowing you to build a command line binary that will be installed in /usr/local/bin prior to the next GTKWave release following which someone will likely invest the effort to produce a Sonoma compatible application bundle by modifying the Formula.

The Tap is registered and only requires three Homebrew brew commands:

brew uninstall gtkwave
brew untap randomplum/gtkwave
brew install --HEAD randomplum/gtkwave/gtkwave

the first two aren't needed if you've never installed GTKWave from Homebrew previously.

Because this involved compiling GTKWave you'll need the macOS Command Line Tools be installed.

The installed binary isn't fully functional nor are builds for other targets as yet. You could note thta the 3.107 builds done on Snow Leopard weren't fully functional latter MacOS versions after around 10.10 either.

randomplum has at least made the Tap compatible with Retina Display Macs (HiDPI). The Tap also use a copy of the GTKWave Github repository of a particular commit and tag sourced on randomplums repository because there can be daily changes to GTKWave. The good news is the Finder snapshot will work with the GTKWave window again while the GTKWave grab to file scales incorrectly and print to file fails. The Tap's author randomplum is now a GTKWave developer looking after macOS.

The compile isn't particular time or memory intensive, unlike the original method Tony used to build the App on a Snow Leopard virtual machine. I'd duplicated the effort exactly once some years ago and find the Homebrew endeavor refreshingly easy to the point of sparking interest in researching meson and ninja used by Homebrew to package, build, and install Casks, Kegs and Taps. There's a real emphasis on reproducible results without requiring expertise by end users although when as in this case hitting an unreleased target you also rely on the Tap/Formula developer to make it bullet proof. The tap has been patched several times after something got broken with gtkwave code base updates. Github gtkwave issues is the place to report any future difficulties.

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

3 participants