-
Notifications
You must be signed in to change notification settings - Fork 13.3k
solution for "Symbol not found: _getentropy" on older mac #8425
New issue
Have a question about this project? No Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “No 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? No Sign in to your account
Comments
attn: @infinity-computers-dot-net this may work for you |
Thank you. But this is something the maintainers should be solving at their end. Nothing else behaves like this. If they require a specific version of Python, they should install it as part of the installation. (Incidentally, I cannot install a newer python using homebrew, because homebrew doesn't work properly anymore on MacOS El Crapitan. Eventually I will upgrade the OS, but I need to sort a bunch of stuff out first and it's a low priority.) |
your mileage may vary, but this worked for me on a macbook (not-Pro) running 10.11.6 |
Is the problem with the pre-packaged python version? Can we change it to something else, compatible for both old an new systems, so we don't break new systems fixing this? I can see this in the package .json for the boards manager Arduino/package/package_esp8266com_index.template.json Lines 199 to 205 in b5f3d1d
Which follows back to this PR #7348 Actual binary is 3.8, not the 3.7.2 mentioned above, why the difference? Should we resort to the same 'placeholder' which Linux version currently uses and just call '/usr/bin/env python3' and hope for the best there's at least python3.8 in the system PATH? |
@mcspr it makes sense to me to assume the system on which a sketch is being compiled has "at least version 3.x" of python installed, and to bark about it not being available or in the path, rather than resulting in this cryptic clue that the included binary won't work. in my case, my successful build (per the symlink method described) was with /usr/local/bin/python3 version 3.9.9 |
In which case, the project should declare itself as requiring MacOS greater than El Crapitan. |
IMHO this is a non-issue and requires no change other than requiring an Apple supported OSX version. OSX 10.11.6 is ~4 years past EOL according to Wikipedia: https://en.wikipedia.org/wiki/MacOS_version_history In general OS X users did not have Python in their path, or they had it in non-specific places. I think Homebrew put it in one spot, the OSX dev tools put it in another, etc. And we need full paths, so that was a non-starter. If someone can build a prepackaged portable Python 3 on such an ancient machine, we could swap it out for the one we ship (which I myself compiled on a VM which I can no longer run due to swapping from INTC->AMD) assuming it works for current OSes as well. |
i fail to see the value of including a non-functioning pre-built binary when it's not that big of an ask to require an enduser to install python3 themselves? (think of the skill level required to navigate the morass of concerns surrounding esp8266/esp32 and consider that it would easily be inclusive of "knows enough to install dependencies") that said, would it be a huge ask to provide a "fix my install" script that can be run once to essentially do what i've described above? it could conceivably run |
The prebuilt binary runs fine for the hundreds of Mac users of this repo today. We initially asked Mac users to install Python but that was quite a problem for many of them. This current solution is plug-and-play, no additional work required for them (or Windows users who also get a portable python installed), and lets us only write 1 script and run it on all supported machines, from RPIs to Macs to Wins to Linuxes... I suggest, @krisgale, since you feel strongly about this, that you do a documentation PR outlining the steps to get this running on OSX10. |
entirely fair... i understand that i'm an edge-case who wishes to continue operating last-decade's model until it's a pile of fried wiring... but i also know i'm not the only one :) but i also obviously believe that "cross-platform" should have a broader definition than is the current reality. |
I don't think it is fair. Expecting the users to fix the software themselves has always seemed absurd to me, and a bit of a cop-out. What would you say if I released Windows software that didn't work on Windows 7? Lots of people still use that. I'm proud to announce that our software works perfectly well on Windows XP and above; and our Linux version runs on systems as far back as 2013. |
We, maintainers, are users. Unfortunately, we don't use mac software. Your options:
We, maintainers, are users.
|
@d-a-v clearly, i chose "deal with it," in my own way :) |
You are users, and also you are maintainers. But not all users are maintainers. Therefore, not all users are responsible for fixing the bugs in the product. Inevitably, if no user-maintainers do so, the responsibility for fixing the broken product lies with the project owner. |
Unfortunately, none of the four current maintainers are owner of this repository. |
Yes, because it is totally my job to fix someone else's product. Uhuh. And expecting the developers to fix them is "moaning"? Gotcha. Maybe I should tell my users that, and see what they say. |
in reference to the closed issues #7532 and #7537 which outlines an inability to compile on older mac's, i have determined this solution:
/usr/local/bin/python3
/Users/USERNAME/Library/Arduino15/packages/esp8266/tools/python3/3.7.2-post1
mv python3 __python3
ln -s /usr/local/bin/python3 python3
The text was updated successfully, but these errors were encountered: