-
Notifications
You must be signed in to change notification settings - Fork 616
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
Cannot find Quartz library on MacOS Sonoma #2547
Comments
Very weird. What is the return value of I don't have a mac, but I've asked some coworkers who do if they know anything about this. If anyone else reading this can help investigate that would be appreciated. |
@djhoese these are the return values:
|
@takacsmark Can you make a pull request with your fix? We'll see how CI feels about this. Maybe this has been a suggestion for a long time and we've just been getting away with it and it was finally removed in Sonoma. |
Updated the find_library patch for backward compatibility Closes vispy#2547
Do you have a small snippet to reproduce this?
So apparently this isn't Sonoma specific? Edit:
So it appears that the |
Ok so maybe this is an edge case of an edge case. Thanks for checking @psobolewskiPhD. |
My understanding is that the monkey patch was created for Big Sur based on the PR and the Stackoverflow question and should trigger also on Ventura. Can you check that? Just to recap the issue; the monkey patch maps in the current prod release:
So my understanding is this:
|
Kind of related: Should we drop support for Big Sur and older? https://en.wikipedia.org/wiki/MacOS_version_history#Releases |
That's the thing, the monkey patch is gated by a Try: Lines 23 to 38 in 5b4731c
For me Ventura 13.6.2 arm64, I'll test some more this evening. |
Ok it is all starting to come back to me. @takacsmark what version of python are you using and where did it come from? I think conda-forge included patches for this issue in the Python that they distribute for a long time, but it has since been released upstream by Python. I'm having trouble tracking down what patch versions of Python 3.9+ include the fix for it, but any modern-ish version should be good. My guess is that you @takacsmark don't have pyopengl installed and that must be (or so it seems) a requirement for this cocoapy code. If you remove the try/except do you get a dlopen issue or do you get a module/package not found error? |
Is there a better way to test this? a snippet I could run?
So that seems not correct? But I can run napari and e.g. turntable_box example just fine.
and
So that makes sense. |
I'm using |
I don't even remember what |
After installing When I look at the libraries in REPL I get this:
The find_library return value for |
So...do we spend a ton of time investigating what the CDLL "None" really means or do we just say that this is a missing dependency and close this issue and the PR...or is there a way this can be documented better? I really don't understand what the cocoapy stuff is trying to do. |
I do wonder if the line Line 1288 in 5b4731c
should be changed to cdll.LoadLibrary(util.find_library('quartz') or util.find_library('Quartz')) On my Ventura it returns:
which seems correct versus the current:
But without a something that specifically tests this it's hard to say? |
Your solution
If PyOpenGL is not available though, then the monkey patch will run and it has an override for |
Also experiencing this issue and looking forward to a fix. Using an M1 Max. |
After upgrading to MacOS Sonoma 14.0 I encountered the following error running stable diffusion depth map script that uses Vispy under the hood.
I'm using Vispy 0.14.1.
The file vispy/ext/cocoapy.py on line 1288 has this code:
quartz = cdll.LoadLibrary(util.find_library('quartz'))
Changing
quartz
toQuartz
resolves the issue.The text was updated successfully, but these errors were encountered: