Chia-Network / chia-blockchain

Chia blockchain python implementation (full node, farmer, harvester, timelord, and wallet)
Apache License 2.0
10.83k stars 2.02k forks source link

Chiapos, cryptography not compiling on BSD [BUG] #603

Closed hoffmang9 closed 3 years ago

hoffmang9 commented 3 years ago

Describe the bug Chaipos and cryptography now will not compile on BSD.

See: @Axadiw - https://github.com/Chia-Network/chia-blockchain/issues/329#issuecomment-751447928 @cr0n-dist0rti0n - https://github.com/Chia-Network/chia-blockchain/issues/329#issuecomment-751450229

Chaipos issue appears to be: /src/./util.hpp:72:10: fatal error: 'byteswap.h' file not found #include <byteswap.h>

cryptography shows two primary errors:

build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:1330:8: error: redefinition of 'ocsp_responder_id_st'
  struct ocsp_responder_id_st {
         ^
  /usr/include/openssl/ocsp.h:197:8: note: previous definition is here
  struct ocsp_responder_id_st {
         ^

and

build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:2158:19: error: expected identifier or '('
  static const long SSL_ST_BEFORE = 0;
                    ^
  /usr/include/openssl/ssl.h:1727:42: note: expanded from macro 'SSL_ST_BEFORE'
  # define SSL_ST_BEFORE                   0x4000
                                           ^

Additional context Add any other context about the problem here.

hoffmang9 commented 3 years ago

This may be the issue with cryptography - https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=245929

An option would be to try to install the freshports version https://www.freshports.org/security/py-cryptography

But you'd still have the chiapos issue which we need to look at.

hoffmang9 commented 3 years ago

Looks like we just need to properly #ifdefine byteswap for BSD in chiapos:src/util.h - https://www.freebsd.org/cgi/man.cgi?query=byteorder&sektion=9

hoffmang9 commented 3 years ago

I created a bsd branch in chiapos - https://github.com/Chia-Network/chiapos/tree/bsd-fix

Still need to test compile it however.

Axadiw commented 3 years ago

how can I test it than?

hoffmang9 commented 3 years ago

I just installed FreeBSD 11.3 and had to make a couple modifications. Chiapos is now compiling fine. Once CI completes, I'll create a chiapos release and then update chia-blockchain's dev branch. At that point you should be able to install it if you can install the ported version of python cryptography first.

hoffmang9 commented 3 years ago

I just added the BSD repaired chiapos to the chia-blockchain dev branch. You will probably have to install python cryptography 2.9.2 from freshports. If you do, change the version to 2.9.2 in setup.py as it should still be backwards compatible with our use of it. Once I have confirmation it works, we can update the BSD install wiki

Axadiw commented 3 years ago

Unfortunately, still not working 👍


Python version is 3.7
Requirement already satisfied: pip in ./venv/lib/python3.7/site-packages (20.3.3)
Requirement already satisfied: wheel in ./venv/lib/python3.7/site-packages (0.36.2)
Looking in indexes: https://pypi.org/simple, https://download.chia.net/simple/
Requirement already satisfied: miniupnpc==2.1 in ./venv/lib/python3.7/site-packages (2.1)
Requirement already satisfied: setproctitle==1.1.10 in ./venv/lib/python3.7/site-packages (1.1.10)
Looking in indexes: https://pypi.org/simple, https://download.chia.net/simple/
Obtaining file:///root/chia-blockchain
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting aiosqlite@ git+https://github.com/mariano54/aiosqlite.git@28cb5754deec562ac931da8fca799fb82df97a12#egg=aiosqlite
  Using cached aiosqlite-0.15.0-py3-none-any.whl
Collecting aiohttp==3.7.3
  Using cached aiohttp-3.7.3-cp37-cp37m-freebsd_11_3_release_p14_amd64.whl
Collecting aiter==0.13.20191203
  Using cached aiter-0.13.20191203-py3-none-any.whl
Collecting bitstring==3.1.7
  Using cached bitstring-3.1.7-py3-none-any.whl
Collecting blspy==0.3.0
  Using cached blspy-0.3.0-cp37-cp37m-freebsd_11_3_release_p14_amd64.whl
Requirement already satisfied: wheel in ./venv/lib/python3.7/site-packages (from blspy==0.3.0->chia-blockchain==1.0b18.dev736) (0.36.2)
Collecting cbor2==5.2.0
  Using cached cbor2-5.2.0-cp37-cp37m-freebsd_11_3_release_p14_amd64.whl
Collecting chiabip158==0.17
  Using cached chiabip158-0.17-cp37-cp37m-freebsd_11_3_release_p14_amd64.whl
Collecting chiapos==0.12.41
  Using cached chiapos-0.12.41-cp37-cp37m-freebsd_11_3_release_p14_amd64.whl
Collecting chiavdf==0.13.1b2
  Using cached chiavdf-0.13.1b2-cp37-cp37m-freebsd_11_3_release_p14_amd64.whl
Collecting clvm==0.7
  Using cached clvm-0.7-py3-none-any.whl (17 kB)
Collecting clvm-tools==0.2.0
  Using cached clvm_tools-0.2.0-py3-none-any.whl (34 kB)
Collecting colorlog==4.6.2
  Using cached colorlog-4.6.2-py2.py3-none-any.whl (10.0 kB)
Collecting concurrent-log-handler==0.9.19
  Using cached concurrent_log_handler-0.9.19-py2.py3-none-any.whl (18 kB)
Collecting cryptography==3.3.1
  Using cached cryptography-3.3.1.tar.gz (539 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting keyring==21.5.0
  Using cached keyring-21.5.0-py3-none-any.whl (32 kB)
Collecting keyrings.cryptfile==1.3.4
  Using cached keyrings.cryptfile-1.3.4-py2.py3-none-any.whl
Collecting PyYAML==5.3.1
  Using cached PyYAML-5.3.1-cp37-cp37m-freebsd_11_3_release_p14_amd64.whl
Collecting sortedcontainers==2.3.0
  Using cached sortedcontainers-2.3.0-py2.py3-none-any.whl (29 kB)
Collecting websockets==8.1.0
  Using cached websockets-8.1-cp37-cp37m-freebsd_11_3_release_p14_amd64.whl
Collecting async-timeout<4.0,>=3.0
  Using cached async_timeout-3.0.1-py3-none-any.whl (8.2 kB)
Collecting attrs>=17.3.0
  Using cached attrs-20.3.0-py2.py3-none-any.whl (49 kB)
Collecting cffi>=1.12
  Using cached cffi-1.14.4-cp37-cp37m-freebsd_11_3_release_p14_amd64.whl
Collecting chardet<4.0,>=2.0
  Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)
Collecting importlib-metadata>=1
  Using cached importlib_metadata-3.3.0-py3-none-any.whl (10 kB)
Collecting multidict<7.0,>=4.5
  Using cached multidict-5.1.0-cp37-cp37m-freebsd_11_3_release_p14_amd64.whl
Collecting portalocker>=1.4.0
  Using cached portalocker-2.0.0-py2.py3-none-any.whl (11 kB)
Collecting six>=1.4.1
  Using cached six-1.15.0-py2.py3-none-any.whl (10 kB)
Collecting typing_extensions
  Using cached typing_extensions-3.7.4.3-py3-none-any.whl (22 kB)
Collecting yarl<2.0,>=1.0
  Using cached yarl-1.6.3-cp37-cp37m-freebsd_11_3_release_p14_amd64.whl
Collecting idna>=2.0
  Using cached idna-3.0-py2.py3-none-any.whl (58 kB)
Collecting zipp>=0.5
  Using cached zipp-3.4.0-py3-none-any.whl (5.2 kB)
Collecting argon2-cffi
  Using cached argon2_cffi-20.1.0-cp37-abi3-freebsd_11_3_release_p14_amd64.whl
Collecting pycparser
  Using cached pycparser-2.20-py2.py3-none-any.whl (112 kB)
Collecting pycryptodome
  Using cached pycryptodome-3.9.9-cp37-cp37m-freebsd_11_3_release_p14_amd64.whl
Building wheels for collected packages: cryptography
  Building wheel for cryptography (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: /root/chia-blockchain/venv/bin/python3.7 /root/chia-blockchain/venv/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmpgu1dbkxw
       cwd: /tmp/pip-install-ysverjj3/cryptography_65b075ff300749b4ab43353886680c1b
  Complete output (319 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7
  creating build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography
  copying src/cryptography/fernet.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography
  copying src/cryptography/utils.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography
  copying src/cryptography/__init__.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography
  copying src/cryptography/__about__.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography
  copying src/cryptography/exceptions.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography
  creating build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/x509
  copying src/cryptography/x509/extensions.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/x509
  copying src/cryptography/x509/general_name.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/x509
  copying src/cryptography/x509/__init__.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/x509
  copying src/cryptography/x509/base.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/x509
  copying src/cryptography/x509/ocsp.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/x509
  copying src/cryptography/x509/name.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/x509
  copying src/cryptography/x509/certificate_transparency.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/x509
  copying src/cryptography/x509/oid.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/x509
  creating build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/_der.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/_oid.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/__init__.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat
  creating build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends
  copying src/cryptography/hazmat/backends/interfaces.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends
  copying src/cryptography/hazmat/backends/__init__.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends
  creating build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/bindings
  copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/bindings
  creating build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/padding.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives
  creating build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ocsp.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/backends/openssl
  creating build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/bindings/openssl
  creating build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/kdf
  creating build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/asymmetric
  creating build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/serialization
  creating build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/utils.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/twofactor
  creating build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.freebsd-11.3-RELEASE-p14-amd64-3.7/cryptography/hazmat/primitives/ciphers
  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 matching '*' found under directory '.github'
  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 '.readthedocs.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'
  warning: no previously-included files matching '*' found under directory '.zuul.d'
  warning: no previously-included files matching '*' found under directory '.zuul.playbooks'
  writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
  running build_ext
  generating cffi module 'build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_padding.c'
  creating build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7
  generating cffi module 'build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c'
  building '_openssl' extension
  creating build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/build
  creating build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7
  cc -pthread -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -I/root/chia-blockchain/venv/include -I/usr/local/include/python3.7m -c build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c -o build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.o -Wconversion -Wno-error=sign-conversion
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:942:37: warning: incompatible function pointer types passing 'void *(*)(size_t, const char *, int)' (aka 'void *(*)(unsigned long, const char *, int)') to parameter of type 'void *(*)(size_t)' (aka 'void *(*)(unsigned long)') [-Wincompatible-function-pointer-types]
      return CRYPTO_set_mem_functions(m, r, f);
                                      ^
  /usr/include/openssl/crypto.h:499:38: note: passing argument to parameter 'm' here
  int CRYPTO_set_mem_functions(void *(*m) (size_t), void *(*r) (void *, size_t),
                                       ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:942:40: warning: incompatible function pointer types passing 'void *(*)(void *, size_t, const char *, int)' (aka 'void *(*)(void *, unsigned long, const char *, int)') to parameter of type 'void *(*)(void *, size_t)' (aka 'void *(*)(void *, unsigned long)') [-Wincompatible-function-pointer-types]
      return CRYPTO_set_mem_functions(m, r, f);
                                         ^
  /usr/include/openssl/crypto.h:499:59: note: passing argument to parameter 'r' here
  int CRYPTO_set_mem_functions(void *(*m) (size_t), void *(*r) (void *, size_t),
                                                            ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:942:43: warning: incompatible function pointer types passing 'void (*)(void *, const char *, int)' to parameter of type 'void (*)(void *)' [-Wincompatible-function-pointer-types]
      return CRYPTO_set_mem_functions(m, r, f);
                                            ^
  /usr/include/openssl/crypto.h:500:37: note: passing argument to parameter 'f' here
                               void (*f) (void *));
                                      ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:1202:12: warning: implicit declaration of function 'EVP_MD_CTX_new' is invalid in C99 [-Wimplicit-function-declaration]
      return EVP_MD_CTX_new();
             ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:1202:12: warning: incompatible integer to pointer conversion returning 'int' from a function with result type 'EVP_MD_CTX *' (aka 'struct env_md_ctx_st *') [-Wint-conversion]
      return EVP_MD_CTX_new();
             ^~~~~~~~~~~~~~~~
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:1205:5: warning: implicit declaration of function 'EVP_MD_CTX_free' is invalid in C99 [-Wimplicit-function-declaration]
      EVP_MD_CTX_free(md);
      ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:1330:8: error: redefinition of 'ocsp_responder_id_st'
  struct ocsp_responder_id_st {
         ^
  /usr/include/openssl/ocsp.h:197:8: note: previous definition is here
  struct ocsp_responder_id_st {
         ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:1337:8: error: redefinition of 'ocsp_response_data_st'
  struct ocsp_response_data_st {
         ^
  /usr/include/openssl/ocsp.h:263:16: note: previous definition is here
  typedef struct ocsp_response_data_st {
                 ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:1344:8: error: redefinition of 'ocsp_basic_response_st'
  struct ocsp_basic_response_st {
         ^
  /usr/include/openssl/ocsp.h:297:16: note: previous definition is here
  typedef struct ocsp_basic_response_st {
                 ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:1397:12: warning: incompatible pointer types returning 'X509_ALGOR *const *' (aka 'struct X509_algor_st *const *') from a function with result type 'const X509_ALGOR *' (aka 'const struct X509_algor_st *') [-Wincompatible-pointer-types]
      return &bs->signatureAlgorithm;
             ^~~~~~~~~~~~~~~~~~~~~~~
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:1406:12: warning: incompatible pointer types returning 'OCSP_RESPDATA *const *' (aka 'struct ocsp_response_data_st *const *') from a function with result type 'const OCSP_RESPDATA *' (aka 'const struct ocsp_response_data_st *') [-Wincompatible-pointer-types]
      return &bs->tbsResponseData;
             ^~~~~~~~~~~~~~~~~~~~
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:2158:19: error: expected identifier or '('
  static const long SSL_ST_BEFORE = 0;
                    ^
  /usr/include/openssl/ssl.h:1727:42: note: expanded from macro 'SSL_ST_BEFORE'
  # define SSL_ST_BEFORE                   0x4000
                                           ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:2159:19: error: expected identifier or '('
  static const long SSL_ST_OK = 0;
                    ^
  /usr/include/openssl/ssl.h:1728:42: note: expanded from macro 'SSL_ST_OK'
  # define SSL_ST_OK                       0x03
                                           ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:2160:19: error: expected identifier or '('
  static const long SSL_ST_INIT = 0;
                    ^
  /usr/include/openssl/ssl.h:1726:43: note: expanded from macro 'SSL_ST_INIT'
  # define SSL_ST_INIT                     (SSL_ST_CONNECT|SSL_ST_ACCEPT)
                                            ^
  /usr/include/openssl/ssl.h:1723:42: note: expanded from macro 'SSL_ST_CONNECT'
  # define SSL_ST_CONNECT                  0x1000
                                           ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:2160:19: error: expected ')'
  /usr/include/openssl/ssl.h:1726:43: note: expanded from macro 'SSL_ST_INIT'
  # define SSL_ST_INIT                     (SSL_ST_CONNECT|SSL_ST_ACCEPT)
                                            ^
  /usr/include/openssl/ssl.h:1723:42: note: expanded from macro 'SSL_ST_CONNECT'
  # define SSL_ST_CONNECT                  0x1000
                                           ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:2160:19: note: to match this '('
  /usr/include/openssl/ssl.h:1726:42: note: expanded from macro 'SSL_ST_INIT'
  # define SSL_ST_INIT                     (SSL_ST_CONNECT|SSL_ST_ACCEPT)
                                           ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:2161:19: error: expected identifier or '('
  static const long SSL_ST_RENEGOTIATE = 0;
                    ^
  /usr/include/openssl/ssl.h:1729:43: note: expanded from macro 'SSL_ST_RENEGOTIATE'
  # define SSL_ST_RENEGOTIATE              (0x04|SSL_ST_INIT)
                                            ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:2161:19: error: expected ')'
  /usr/include/openssl/ssl.h:1729:43: note: expanded from macro 'SSL_ST_RENEGOTIATE'
  # define SSL_ST_RENEGOTIATE              (0x04|SSL_ST_INIT)
                                            ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:2161:19: note: to match this '('
  /usr/include/openssl/ssl.h:1729:42: note: expanded from macro 'SSL_ST_RENEGOTIATE'
  # define SSL_ST_RENEGOTIATE              (0x04|SSL_ST_INIT)
                                           ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:2385:39: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
          memcpy(buf, st->password, st->length);
          ~~~~~~                    ~~~~^~~~~~
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:6385:12: error: use of undeclared identifier 'NID_X25519'; did you mean 'NID_ED25519'?
    int n = (EVP_PKEY_X25519) <= 0;
             ^~~~~~~~~~~~~~~
             NID_ED25519
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:1265:25: note: expanded from macro 'EVP_PKEY_X25519'
  #define EVP_PKEY_X25519 NID_X25519
                          ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:1307:18: note: 'NID_ED25519' declared here
  static const int NID_ED25519 = 0;
                   ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:6386:30: error: use of undeclared identifier 'NID_X25519'; did you mean 'NID_ED25519'?
    *o = (unsigned long long)((EVP_PKEY_X25519) | 0);  /* check that EVP_PKEY_X25519 is an integer */
                               ^~~~~~~~~~~~~~~
                               NID_ED25519
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:1265:25: note: expanded from macro 'EVP_PKEY_X25519'
  #define EVP_PKEY_X25519 NID_X25519
                          ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:1307:18: note: 'NID_ED25519' declared here
  static const int NID_ED25519 = 0;
                   ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:6392:12: error: use of undeclared identifier 'NID_X448'; did you mean 'NID_ED448'?
    int n = (EVP_PKEY_X448) <= 0;
             ^~~~~~~~~~~~~
             NID_ED448
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:1272:23: note: expanded from macro 'EVP_PKEY_X448'
  #define EVP_PKEY_X448 NID_X448
                        ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:1313:18: note: 'NID_ED448' declared here
  static const int NID_ED448 = 0;
                   ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:6393:30: error: use of undeclared identifier 'NID_X448'; did you mean 'NID_ED448'?
    *o = (unsigned long long)((EVP_PKEY_X448) | 0);  /* check that EVP_PKEY_X448 is an integer */
                               ^~~~~~~~~~~~~
                               NID_ED448
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:1272:23: note: expanded from macro 'EVP_PKEY_X448'
  #define EVP_PKEY_X448 NID_X448
                        ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:1313:18: note: 'NID_ED448' declared here
  static const int NID_ED448 = 0;
                   ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:6511:12: error: use of undeclared identifier 'NID_X25519'; did you mean 'NID_ED25519'?
    int n = (NID_X25519) <= 0;
             ^~~~~~~~~~
             NID_ED25519
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:1307:18: note: 'NID_ED25519' declared here
  static const int NID_ED25519 = 0;
                   ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:6512:30: error: use of undeclared identifier 'NID_X25519'; did you mean 'NID_ED25519'?
    *o = (unsigned long long)((NID_X25519) | 0);  /* check that NID_X25519 is an integer */
                               ^~~~~~~~~~
                               NID_ED25519
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:1307:18: note: 'NID_ED25519' declared here
  static const int NID_ED25519 = 0;
                   ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:6518:12: error: use of undeclared identifier 'NID_X448'; did you mean 'NID_ED448'?
    int n = (NID_X448) <= 0;
             ^~~~~~~~
             NID_ED448
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:1313:18: note: 'NID_ED448' declared here
  static const int NID_ED448 = 0;
                   ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:6519:30: error: use of undeclared identifier 'NID_X448'; did you mean 'NID_ED448'?
    *o = (unsigned long long)((NID_X448) | 0);  /* check that NID_X448 is an integer */
                               ^~~~~~~~
                               NID_ED448
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:1313:18: note: 'NID_ED448' declared here
  static const int NID_ED448 = 0;
                   ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:7433:12: error: use of undeclared identifier 'TLS_ST_BEFORE'
    int n = (TLS_ST_BEFORE) <= 0;
             ^
  build/temp.freebsd-11.3-RELEASE-p14-amd64-3.7/_openssl.c:7434:30: error: use of undeclared identifier 'TLS_ST_BEFORE'
    *o = (unsigned long long)((TLS_ST_BEFORE) | 0);  /* check that TLS_ST_BEFORE is an integer */
                               ^
  fatal error: too many errors emitted, stopping now [-ferror-limit=]
  9 warnings and 20 errors generated.

      =============================DEBUG ASSISTANCE=============================
      If you are seeing a compilation error please try the following steps to
      successfully install cryptography:
      1) Upgrade to the latest pip and try again. This will fix errors for most
         users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
      2) Read https://cryptography.io/en/latest/installation.html for specific
         instructions for your platform.
      3) Check our frequently asked questions for more information:
         https://cryptography.io/en/latest/faq.html
      =============================DEBUG ASSISTANCE=============================

  error: command 'cc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for cryptography
Failed to build cryptography
ERROR: Could not build wheels for cryptography which use PEP 517 and cannot be installed directly
root@chia:~/chia-blockchain #```
hoffmang9 commented 3 years ago

As I mentioned you're going to have to manually install python cryptography from a bsd port and change the cryptography version in setup.py to its version (2.9.2 IIRC). OpenSSL is too old on FreeBSD 11.3 to compile the 3.x version of cryptography. The good news is all of the Chia components compile fine.

Axadiw commented 3 years ago

Damn, I've forgot to change setup.py as you've requested :)

Now it compiles and runs just fine - thanks :)

hoffmang9 commented 3 years ago

I updated the FreeBSD wiki install page. Is there any way to easily put both the Open and Free BSD pages together? Open/FreeBSD Install or something? I'm not steeped in the *BSD cultures enough to know what would look ok to someone looking for these install instructions.

hoffmang9 commented 3 years ago

Fixed in this release - https://github.com/Chia-Network/chia-blockchain/releases/tag/1.0beta19