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]

Reply via email to