Skip to content

Symbol not found: _getentropy #7532

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

Closed
infinity-computers-dot-net opened this issue Aug 17, 2020 · 6 comments
Closed

Symbol not found: _getentropy #7532

infinity-computers-dot-net opened this issue Aug 17, 2020 · 6 comments

Comments

@infinity-computers-dot-net
Copy link

infinity-computers-dot-net commented Aug 17, 2020

When attempting to compile any sketch against the ESP8266 core version 2.7.4 on a Mac, I get this error:

dyld: lazy symbol binding failed: Symbol not found: _getentropy
Referenced from: /Users/infinity/Library/Arduino15/packages/esp8266/tools/python3/3.7.2-post1/python3
Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _getentropy
Referenced from: /Users/infinity/Library/Arduino15/packages/esp8266/tools/python3/3.7.2-post1/python3
Expected in: /usr/lib/libSystem.B.dylib

signal: trace/BPT trap
/Applications/Arduino.app/Contents/Java/arduino-builder returned 255
Error compiling for board LOLIN(WEMOS) D1 R2 & mini.

What the hell is going on?

Are you, by any chance, making assumptions about my system libraries without actually checking?

FYI, it worked without issue on version 2.3.0 of the core.

@earlephilhower
Copy link
Collaborator

I think you need to direct your ire at XCode, which is used to build Python3. We just use it's output!

What Mac OS version are you using?

No other Mac users have reported this issue, so it seems like something special in your config, likely related to the OS version, some libs you might have/not have, or maybe something path related.

You can remove the python3 executable installed in the tools dir and make a symlink to your system's native Python3 interpreter, in a pinch, to get going.

@infinity-computers-dot-net
Copy link
Author

infinity-computers-dot-net commented Aug 17, 2020

I am running OSX 10.11.6.

My ire would have been directed at Apple, were it not for the fact that your core went from "working" to "broken" without any other changes to my system, simply by updating it to the latest version.

$ cd ~/Library/Arduino15/packages/esp8266/tools/python3/3.7.2-post1
$ ./python3
dyld: lazy symbol binding failed: Symbol not found: _getentropy
...etc...

Seems that error is thrown simply by running the python executable you have bundled.

Strikes me that the problem here lies entirely with the version of python you have bundled with your core. If my version of python works, and yours does not, how is this "a problem with my os", "a problem with xcode" or "a problem with my path"? This is your python!

EDIT: It occurs to me, upon re-reading your response, that you may in fact be compiling python on my system. Leaving aside for the moment why you would even do that, given that python already exists on my machine.....if xcode failed to build python, it would not produce an executable. The executable clearly exists, therefore it seems far more likely that the error is due to some kind of assumption on your part - either in the source code, or when initiating the compilation. Garbage in, garbage out.

@devyte
Copy link
Collaborator

devyte commented Aug 17, 2020

What the hell is going on?

Single warning: I will ask you to please contain your frustration and mind your phrasing.

The build on Mac is currently covered by CI. In addition, no other user has reported a build problem.
I strongly encourage you to breathe, remember that we maintainers of this repo contribute our work for free as volunteers, as do contributors, and that you're making use of the results of that work at no cost. Then, while you keep that strongly in your mind, ask politely for someone to assist you investigating why you're apparently the only user with this problem.
In addition, you ignored the issue template, which we require for several reasons. Please edit your original post and comply with the template instructions, or I will close this as not compliant. The only reason I haven't already closed it is @earlephilhower 's comments above.

@julianrendell
Copy link

I can confirm that the latest versions of ESP8266 for Arduino aren't working for the 4 year old version of MacOS referenced.

With a little experimentation we've found 2.5.2 still works with MacOS 10.11.6. Our real answer is to upgrade to as new-a-MacOS as the machine in question can support.

@infinity-computers-dot-net
Copy link
Author

infinity-computers-dot-net commented Sep 25, 2020

"Your OS is four years old, therefore it's your problem" is not a valid stance. Only three versions of Windows, for example, have been published in the last 20 years. Plus, older Macs won't run the newer OSs, for no good reason other than "Apple like money".

It is not my job to ensure that my system works with your software. It is your job to ensure that your software works with as many operating systems as possible.

Your core used to work on 10.11.6 without issues. It's only recently that it's been broken.

The solution is not for me to make radical changes to my computer. The solution is for you to figure out what you did to break it, and then unbreak it.

@devyte
Copy link
Collaborator

devyte commented Sep 25, 2020

It is your job to ensure that your software works with as many operating systems as possible.

Nope! Nobody here is getting paid. It is certainly not our job to maintain your build environment. I will repeat: this is a community driven development.

The solution is for you to figure out what you did to break it, and then unbreak it.

Also nope! None of the current maintainers use Mac. We support Mac in a best-effort basis, similar to how PIO is covered, e. g. we have building on Mac covered by CI, but that's it. Anything beyond that must come from the community, including more CI jobs to improve coverage.
If you have a build issue on your Mac, then I suggest teaming up with anyone else who has the same issue, figuring out a fix, and contributing it here so that all may benefit. We're always glad to look at and discuss PRs.

@esp8266 esp8266 locked as too heated and limited conversation to collaborators Sep 25, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants