FlorianRhiem / pyGLFW

Python bindings for GLFW
MIT License
232 stars 36 forks source link

[OS X] ImportError: Failed to load GLFW3 shared library. #72

Closed Sitin closed 1 year ago

Sitin commented 1 year ago

Fails to autoload library due to the library version check failure.

When I do not specify path to glfw shared library, pyGLFW fails to load it. However, it has no problem with both bundled and Homebrew libraries if they are specified with PYGLFW_LIBRARY.

As far as I understand, the process which queries library version crashes and as a result all library candidates are rejected.

Tested on the simple example from README.md.

Crash report

Sometimes during the program run OS X create a crash report. Here is the gist with its contents.

System details

Python 3.11.4 OS X 13.2.1 M1 Pro

FlorianRhiem commented 1 year ago

Hey @Sitin, thank you for reporting this bug!

The version check mechanism was changed in the last release, so I assume this change is the cause for this, but could you please confirm that you get these issues with v2.6.0, but not with v2.5.9?

Pawandeep-prog commented 1 year ago

try running export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES

saran-t commented 1 year ago

We are running into the same problem, but only on arm64, and only in 2.6.0. (Would appreciate it if you could yank the 2.6.0 release so that people don't end up picking up a broken version transitively.)

FlorianRhiem commented 1 year ago

I've reverted the changes to the version detection code introduced in 2.6.0 and instead added a check for frozen executables to avoid the recursion for now. I've released this as 2.6.1. Please confirm that this fixes the issue.

Annoyingly I've been unable to reproduce the errors on an M1 Max macbook pro so far.

Sitin commented 1 year ago

@FlorianRhiem, thank you for the response. Yes, the proplem was with 2.6.0. I've just installed 2.6.1 and everything works fine.