indygreg / indygreg/PyOxidizer
Unable to compile C module for ‘cryptography’ on MacOS 10.14.5
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 6.2k
- Forks
- 256
- PR merge metrics
- No merged PRs in 30d
Description
It looks like it’s failing to find the OpenSSL headers. Interestingly I can run `pip3 install "cryptography==2.7" --no-binary :all:` and it does appear to compile fine locally when I do that. When PyOxidizer attempts to compile it however, I get the following error:
```
Running setup.py install for cryptography: started
Running setup.py install for cryptography: finished with status 'error'
ERROR: Complete output from command /Users/bsiegel/Desktop/az/build/target/x86_64-apple-darwin/debug/pyoxidizer/python.6668202a3225/python/install/bin/python3 -u -c 'import setuptools, tokenize;__file__='"'"'/private/var/folders/g9/828fv6h94kdf0_c9s91d75g80000gn/T/pip-install-5kjndael/cryptography/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/g9/828fv6h94kdf0_c9s91d75g80000gn/T/pip-record-oh9hegm7/install-record.txt --single-version-externally-managed --compile --home=/private/var/folders/g9/828fv6h94kdf0_c9s91d75g80000gn/T/pip-target-t5ls0hb5:
ERROR: Could not find platform dependent libraries
Consider setting $PYTHONHOME to [:]
running install
running build
running build_py
creating build
creating build/lib.macosx-10.9-x86_64-3.7
creating build/lib.macosx-10.9-x86_64-3.7/cryptography
copying src/cryptography/__init__.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography
copying src/cryptography/utils.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography
copying src/cryptography/__about__.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography
copying src/cryptography/exceptions.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography
copying src/cryptography/fernet.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography
creating build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat
copying src/cryptography/hazmat/__init__.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat
copying src/cryptography/hazmat/_oid.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat
creating build/lib.macosx-10.9-x86_64-3.7/cryptography/x509
copying src/cryptography/x509/oid.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/x509
copying src/cryptography/x509/ocsp.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/x509
copying src/cryptography/x509/general_name.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/x509
copying src/cryptography/x509/__init__.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/x509
copying src/cryptography/x509/extensions.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/x509
copying src/cryptography/x509/name.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/x509
copying src/cryptography/x509/base.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/x509
copying src/cryptography/x509/certificate_transparency.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/x509
creating build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends
copying src/cryptography/hazmat/backends/interfaces.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends
copying src/cryptography/hazmat/backends/__init__.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends
creating build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/padding.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives
creating build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/bindings
copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/bindings
creating build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ocsp.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/backends/openssl
creating build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/kdf
creating build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/utils.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/twofactor
creating build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/serialization
creating build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/ciphers
creating build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/primitives/asymmetric
creating build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.macosx-10.9-x86_64-3.7/cryptography/hazmat/bindings/openssl
running egg_info
writing src/cryptography.egg-info/PKG-INFO
writing dependency_links to src/cryptography.egg-info/dependency_links.txt
writing requirements to src/cryptography.egg-info/requires.txt
writing top-level names to src/cryptography.egg-info/top_level.txt
reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'docs/_build'
warning: no previously-included files found matching 'vectors'
warning: no previously-included files matching '*' found under directory 'vectors'
warning: no previously-included files found matching 'azure-pipelines.yml'
warning: no previously-included files found matching '.azure-pipelines'
warning: no previously-included files found matching '.travis.yml'
warning: no previously-included files found matching '.travis'
warning: no previously-included files matching '*' found under directory '.azure-pipelines'
warning: no previously-included files matching '*' found under directory '.travis'
warning: no previously-included files found matching 'release.py'
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching 'codecov.yml'
warning: no previously-included files found matching 'dev-requirements.txt'
warning: no previously-included files found matching 'rtd-requirements.txt'
warning: no previously-included files found matching 'tox.ini'
writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
running build_ext
generating cffi module 'build/temp.macosx-10.9-x86_64-3.7/_padding.c'
creating build/temp.macosx-10.9-x86_64-3.7
generating cffi module 'build/temp.macosx-10.9-x86_64-3.7/_constant_time.c'
generating cffi module 'build/temp.macosx-10.9-x86_64-3.7/_openssl.c'
building '_openssl' extension
creating build/temp.macosx-10.9-x86_64-3.7/build
creating build/temp.macosx-10.9-x86_64-3.7/build/temp.macosx-10.9-x86_64-3.7
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/private/var/folders/dd/xb3jz0tj133_hgnvdttctwxc0000gn/T/tmphnt3aknw/deps/include -I/private/var/folders/dd/xb3jz0tj133_hgnvdttctwxc0000gn/T/tmphnt3aknw/deps/lib/libffi-3.2.1/include -I//private/var/folders/dd/xb3jz0tj133_hgnvdttctwxc0000gn/T/tmphnt3aknw/deps/include/ncurses -I/private/var/folders/dd/xb3jz0tj133_hgnvdttctwxc0000gn/T/tmphnt3aknw/deps/include/uuid -I/Users/bsiegel/Desktop/az/build/target/x86_64-apple-darwin/debug/pyoxidizer/python.6668202a3225/python/install/include/python3.7m -I/install/include/python3.7m -c build/temp.macosx-10.9-x86_64-3.7/_openssl.c -o build/temp.macosx-10.9-x86_64-3.7/build/temp.macosx-10.9-x86_64-3.7/_openssl.o -Wconversion -Wno-error=sign-conversion
build/temp.macosx-10.9-x86_64-3.7/_openssl.c:498:10: fatal error: 'openssl/opensslv.h' file not found
#include
^~~~~~~~~~~~~~~~~~~~
1 error generated.
error: command 'clang' failed with exit status 1
----------------------------------------
ERROR: Command "/Users/bsiegel/Desktop/az/build/target/x86_64-apple-darwin/debug/pyoxidizer/python.6668202a3225/python/install/bin/python3 -u -c 'import setuptools, tokenize;__file__='"'"'/private/var/folders/g9/828fv6h94kdf0_c9s91d75g80000gn/T/pip-install-5kjndael/cryptography/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/g9/828fv6h94kdf0_c9s91d75g80000gn/T/pip-record-oh9hegm7/install-record.txt --single-version-externally-managed --compile --home=/private/var/folders/g9/828fv6h94kdf0_c9s91d75g80000gn/T/pip-target-t5ls0hb5" failed with error code 1 in /private/var/folders/g9/828fv6h94kdf0_c9s91d75g80000gn/T/pip-install-5kjndael/cryptography/
```
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by comparing the successful `pip3 install "cryptography==2.7" --no-binary :all:` command with the PyOxidizer installation that fails on MacOS 10.14.5. Reproduce the missing OpenSSL headers and determine what change would make the cryptography C module compile successfully through PyOxidizer.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, rust
- Domain
- build-system, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100