zbentley commented on PR #15436:
URL: https://github.com/apache/pulsar/pull/15436#issuecomment-1127029644
Interesting; that's a new one on me (and on google). As with most things
pyenv, it's (over)sensitive to workstation environments and so novel failure
modes often crop up when used on machines that are configured to build other
software.
A couple things to try:
* The presence of `python.exe` is a little weird. Some parts of the
python-build system use that, but it shows up a lot in your output. Are you by
chance running a case-insensitive MacOS filesystem (this is somewhat rare these
days). What version of MacOS are you running, what `arch`, and what FS
(`diskutil info / | grep -i personality`)?
* Make sure you don't have anything er ... unusual being inherited from your
system environment. Pyenv's not terribly hermetic when run by default (are you
running it via the build-wheels script on that branch, or normally on your
shell?).
* Try removing `--with-openssl=$PREFIX` from this line and building again:
https://github.com/apache/pulsar/pull/15436/files#diff-5644e2b9669a87858353608a740e7980b50b7161ce9cd84a3b800ec1c53a0999R205
* Try building with `PYENV_DEBUG=1` and post resulting logs/error output.
* Add `-k` to your `pyenv install` stanza so it keeps the build dir around.
That'll allow you to re-run the failing commands with various changes/debugging
rather than rebuilding Python each time. Once you've done that, the tmpdir
pyenv uses should not be deleted once it's done. You can `export
TMPDIR=/stable/path` to make it predictable. Then, try these:
* Try with faulthandler; if the partially-built python is something you can
reproduce that issue by hand with (e.g. you can re-run that ensurepip command
after the build fails and it still reproduces the dyld error), add `-X
faulthandler`, so like `....python.exe -X faulthandler -E -m ensurepip`.
* Try figuring out what module is breaking it. `python -c 'import _ssl';
python -c 'import struct'; python -c 'import ctypes'` are some common build
failure symptoms (ctypes you already had issues with).
* If that fails, try dtruss: `sudo dtruss /path/to/pyenv/python -E -m
ensurepip` and post output.
Basically, we're trying to find what it wants to link to that it isn't
finding.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]