-
Notifications
You must be signed in to change notification settings - Fork 36
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
Error loading Carbon library in Sonoma #511
Comments
This is an Apple bug. They are shipping their Carbon.framework with a broken symlink:
However, this is not new with Sonoma. It was also a broken link in Ventura. |
I don't know why it doesn't surprise me... any workaround? |
I have the same problem in Frescobaldi but I'm not sure the problem is an "Apple bug" first because the dlerror comes from looking in the wrong directory : But also since Carbon framework is deprecated since 10.8 (2012) and has no 64-bits support while macOS supports only 64-bit since 10.15 Catalina. |
|
There is no such directory. Instead that is the pathname of a broken symlink, and that broken symlink was put there by Apple. The expectation is that Carbon would be a dynamic library that could be opened by dlopen, not a directory. I don't know of any workaround other than removing dependence on a library which no longer exists. |
Is this affecting all builds on Ventura? Or only those with a specific dependency? |
Just in case it helps, I run into the same issue in this project using rumps + py2app. This workaround worked for me. |
@matagus Worked for me thanks! |
While you're right about the symlink being broken, I think you may misunderstand how libraries work on macOS these days. I do see this /System/Library/Frameworks/Carbon.framework/Carbon symlink on my systems running macOS 13.7.1 and 14.7.1 and I agree that what it points to does not exist on disk. On my systems running macOS 11.7.10, 12.7.6, and 15.1.1, the broken symlink is not present. The existence of the broken symlink on macOS 13 and 14 is a bug (I've reported it to Apple as FB15950865) but as far as I know it shouldn't cause any problems because it won't ever be used by anything. Whenever macOS looks for system libraries dynamically linked to a program it's launching, or when a program uses If you use The bug is that py2app has the wrong path for the Carbon framework:
It's missing the However, since Carbon was a transitional technology to help developers move from Mac OS 9 to Mac OS X, and since it has never had a 64-bit version, I'm not sure why py2app is trying to use it at all. I leave excising the Carbon code from py2app to someone who is more familiar with py2app's code. |
While it exports far fewer symbols than the 32-bit version, there is a 64-bit Carbon framework that provides a few bits and pieces that have (or at least at one time had) no other 64-bit equivalent. |
Specifically, Tk loads the Carbon framework, and _tkinter loads Tk. However, I don't see why that requires py2app to do anything with the Carbon framework. The framework exists on the system and can be used if needed. |
|
Im using MacOS Sonoma 14.0, I'm able to build the app, but I can't run it, this is the error:
The text was updated successfully, but these errors were encountered: