-
Notifications
You must be signed in to change notification settings - Fork 171
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
Installation via homebrew doesn't start the application (macOS) #471
Comments
I've tried to reproduce this in a Mac system, both Intel and M1 architectures, but I don't see this error. I believe this may be related to the way Python is installed in the machine you're working on. |
We were unable to reproduce in another machine. Closing it for now. |
I see this error on MacOS 12.6.8 (on a completely unrelated piece of software). I think it's due to the MacOS version. |
Ah. So maybe it could be an issue with homebrew itself? 🤔 or just simply macOS. Since the version was pretty outdated we didn't invest many efforts in finding this bug. |
My guess is an incompatibility between some pyinstaller versions/parameters and some macos versions. |
Was there any fix for this? I came across this thread googling the error message. We just found that our GitHub-Actions & PyInstaller-built app also doesn't work for older MacOS systems :( |
I wanted to contribute to see if I could reproduce the issue, but I couldn't see any secure way to download dangerzone on MacOS (brew is notoriously insecure), so I opened this ticket about it: |
No actually, we couldn't reproduce it. If you have found what's the underlying cause, feel free to share! |
@apyrgio Did you try running your MacOS release of dangerzone on MacOS 10.x (Catalina) or older? At least for our MacOS builds of buskill, it appears that this issue was caused by using the brew-installed version of Python to build releases with PyInstaller, which will make builds only work for the OS X version that it was built-on (and higher). I've read that if you build with the python.org release of python (as opposed to the brew one), then it will support OS X versions as old as (iirc) 10.x I think you can see what minimum OS X version your app will support by running this on the python binary that is used to build it:
Check for See also: |
@deeplow are you still able to reproduce this bug? Can you send us the full command output of |
Oh, that's very cool! I don't have such a macOS system at hand, but I can check the command you mentioned against the Python library that gets bundled with the app, and the system one. |
Hey @maltfield, sorry for the late reply. I checked out the links you provided, thanks for those. First of all, the system where we build Dangerzone is a macOS one (Ventura). So, we don't cross-compile as you folks with BusKill do (at least, judging from BusKill/buskill-app#78). Now, let's take a look at the bundled Python3 version in the Dangerzone application:
And the system one (provided by Xcode):
I'm pretty sure we have users that have installed Dangerzone in versions < Ventura, so I think that |
well, I have a Mac Mini running
We build on GitHub's free macOS runners. We're also sponsored by MacStadium, who gives us a free Mac Mini. It's an older Mac Mini that can't be updated beyond macOS 10.x (catalina). We use this older system to test & debug the app. Recently our builds broke. We were able to fix it by bumping-up the dependencies. Now we're building BusKill using Python 3.12 on a GitHub Runner running pinned to macOS 13 (ventura). So this is the same as you. I encountered the same error listed in this ticket's OP when I tried to run the BusKill build from our the GitHub Runner's macOS 13.x (ventura) system on our macOS 10.x (catalina) system. At this time we're still trying to figure out the cause & solution, but I'm thinking it will be resolved by switching from the brew-provided python to the python.org-provided python. |
Aaand here you go: #761 (comment) |
I am able to reproduce this bug. On a Mac Mini running 10.15.7, I downloaded Dangerzone v0.6.0, verified it, opened the
Instead of the Dangerzone app opening, a terminal with the following contents appears:
|
I can confirm that I was able to fix this same error message in my own app (BusKill) by switching from using the brew-supplied python-3.12 release to the python.org-supplied python-3.12 release ( I recommend attempting to build Dangerzone with the python binary that comes from python.org to make Dangerzone work on older MacOS systems. You can download the python.org version of Python here (note that it's signed with PGP) You can install it with the following command
After that, you can use the binary installed to |
Reopening this issue, based on Michael's research (thanks a bunch!). I'm adding this to our hotfix milestone (0.6.1), and the target should be to:
|
Add a note in our release instructions to install Python from python.org. This should fix some incompatibilities with older macOS versions. Refs #471
Add a note in our release instructions to install Python from python.org. This should fix some incompatibilities with older macOS versions. Refs #471
Add a note in our release instructions to install Python from python.org. This should fix some incompatibilities with older macOS versions. Refs #471
Add a note in our release instructions to install Python from python.org. This should fix some incompatibilities with older macOS versions. Refs #471
Add a note in our release instructions to install Python from python.org. This should fix some incompatibilities with older macOS versions. Refs #471
Quick heads up: a macOS user on Monterey 12.7.4 also encountered the same issue: #783 (comment). |
Add a note in our release instructions to install Python from python.org. This should fix some incompatibilities with older macOS versions. Refs #471
Add a note in our release instructions to install Python from python.org. This should fix some incompatibilities with older macOS versions. Refs #471
Add a note in our release instructions to install Python from python.org. This should fix some incompatibilities with older macOS versions. Refs #471
Dangerzone 0.6.1 is out 🥳 . If any of you folks are still affected by this issue, we suggest giving the new build a spin. |
@apyrgio I no longer get the previous error (complaining about Unfortunately, I get this error instead:
So it does appear that you squashed this bug by switching to the python.org version -- only to uncover another bug. I don't use Qt in my app, so I don't know the resolution here. Sorry. |
Nice, thanks a lot for checking it out Michael. I'm ultimately ok with this limitation, since this macOS version no longer gets updates. I think we can mark this issue as resolved. However, if anyone else is in macOS 11/12 and still experiences this issue, feel free to chime in. |
As a Linux user this is hard to fathom, but I think it's important to mention: I literally cannot upgrade macOS to a newer version. Apple says I need to buy a newer machine in order to run macOS 11 🤦 My machine is an old MacMini in the cloud that I get for free from MacStadium for testing FOSS. And surely there's many Apple users with old desktops or laptops who can't afford to upgrade to the latest hardware. I think it's important to support users who have fully updated to the latest version that they're able to upgrade-to. But I do understand there has to be a cut-off somewhere. I just wonder how many at-risk folks wouldn't be able to use Dangerzone because of this. |
For sure, I have friends who were pressed into a similar situation, and had to upgrade their hardware when they were low on funds. In a different context, I'd share my frustration over Apple's device deprecation policy, but this issue is not the time and place. From a maintainer's perspective though, I see lots of stuff that need to be done to make Dangerzone safer and more accessible for existing and new users. It's hard to measure the net impact of our choices when working on an open-source project, but for this specific limitation, it seems to me that it's low and, most importantly, the effort to fix it would be high. It would require fixing (convincing?) Qt to support older macOS versions, when even macOS 11 is EOL (oh come on Apple). I understand that it's a choice that does not help affected users. If a person is affected, a workaround I can think of is to run Dangerzone in a Linux VM. This way, they will stay up-to-date, irrespective of their OS. And of course, please open an issue, so that we can understand how may are affected and prioritize accordingly. |
Application crashes as soon as it's started. If ran from the terminal, it shows the following:
$ /Applications/Dangerzone.app/Contents/MacOS/dangerzone [70056] Error loading Python lib '/Applications/Dangerzone.app/Contents/MacOS/libpython3.11.dylib': dlopen: dlopen(/Applications/Dangerzone.app/Contents/MacOS/libpython3.11.dylib, 0x000A): Symbol not found: _mkfifoat Referenced from: /Applications/Dangerzone.app/Contents/MacOS/libpython3.11.dylib Expected in: /usr/lib/libSystem.B.dylib
The text was updated successfully, but these errors were encountered: