obelisk icon indicating copy to clipboard operation
obelisk copied to clipboard

Install failure

Open kwanghoon opened this issue 3 years ago • 11 comments

I got an installation failure in Ubuntu 18.04 on my Desktop as follows.

$ nix-env -f https://github.com/obsidiansystems/obelisk/archive/master.tar.gz -iA command ...

======= 3 failed, 488 passed, 8 deselected, 17 warnings in 3.54 seconds ======== builder for '/nix/store/2zk2mn864ryfg894h3254s99miry55np-python2.7-pyOpenSSL-19.0.0.drv' failed with exit code 1 building '/nix/store/fz141pnlvjzihpa7mwqly7zhq15lrb3i-python2.7-paramiko-2.6.0.drv'... cannot build derivation '/nix/store/firc9ghi214xzzzmhzajfy1w7kbbix5i-python2.7-urllib3-1.24.3.drv': 1 dependencies couldn't be built cannot build derivation '/nix/store/1lh5cvkdc6igk5641q8nn2j0vi8bwldd-python2.7-dulwich-0.19.11.drv': 1 dependencies couldn't be built cannot build derivation '/nix/store/asbyk79r5jj3gbl5ik44rv1c312b2pmp-mercurial-4.9.1.drv': 1 dependencies couldn't be built cannot build derivation '/nix/store/3bvzbgmsfazvayvzmpxwqyya36jdr9zc-nix-prefetch-hg.drv': 1 dependencies couldn't be built cannot build derivation '/nix/store/fmy4pj7i7w7pka3b5i64k2783j333852-nix-prefetch-scripts.drv': 1 dependencies couldn't be built building '/nix/store/k5i8dpn8zydvkyq3y5596np2knzr9la0-remove-references-to.drv'... cannot build derivation '/nix/store/y6d1l3pymv4q605dv4gk338m2sshhzqp-cabal2nix-2.14.4.drv': 1 dependencies couldn't be built cannot build derivation '/nix/store/4md7k3bldgc826yqjsxk400h7y98i7ic-cabal2nix-obelisk-command.drv': 1 dependencies couldn't be built error: build of '/nix/store/4md7k3bldgc826yqjsxk400h7y98i7ic-cabal2nix-obelisk-command.drv' failed (use '--show-trace' to show detailed location information)

$ uname -a Linux H110M-HD2 5.4.0-62-generic #70~18.04.1-Ubuntu SMP Tue Jan 12 17:18:00 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

$ nix-env --version nix-env (Nix) 2.3.10


But I succeeded an installation in a newer Ubuntu on my Lenovo notebook: $ nix-env -f https://github.com/obsidiansystems/obelisk/archive/master.tar.gz -iA command ...

$ uname -a Linux khchoi-ThinkPad-X1-Carbon-5th 5.8.0-38-generic #43-Ubuntu SMP Tue Jan 12 12:42:13 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

$ nix-env --version nix-env (Nix) 2.3.10

kwanghoon avatar Jan 22 '21 11:01 kwanghoon

I'm running into the same issue on NixOS 20.09. I tried working around it by using an older version:

nix-env -f https://github.com/obsidiansystems/obelisk/archive/v0.9.0.1.tar.gz -iA command

This actually installs fine, but ob init then runs into the same cabal2nix error.

Is there another workaround I could try until the issue is resolved?

mark-gerarts avatar Feb 10 '21 17:02 mark-gerarts

Same goes for me :

  • Linux 5.4.0-65-generic #73~18.04.1-Ubuntu SMP Tue Jan 19 09:02:24 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
  • nix (Nix) 2.3.10

After following the Getting Started steps

checking for references to /build/ in /nix/store/224cyn0qhx43vxz716ckhg4vhw6n613l-nix-prefetch-bzr...
building '/nix/store/2zk2mn864ryfg894h3254s99miry55np-python2.7-pyOpenSSL-19.0.0.drv'...
Sourcing python-catch-conflicts-hook.sh
Sourcing python-remove-bin-bytecode-hook.sh
Sourcing setuptools-build-hook
Using setuptoolsBuildPhase
Using setuptoolsShellHook
Sourcing pip-install-hook
Using pipInstallPhase
Sourcing python-imports-check-hook.sh
Using pythonImportsCheckPhase
Sourcing setuptools-check-hook
unpacking sources
unpacking source archive /nix/store/j4r53parvv77nsz731jwd0d96j7017hq-pyOpenSSL-19.0.0.tar.gz
source root is pyOpenSSL-19.0.0
setting SOURCE_DATE_EPOCH to timestamp 1548098583 of file pyOpenSSL-19.0.0/src/pyOpenSSL.egg-info/top_level.txt
patching sources
configuring
no configure script, doing nothing
building
Executing setuptoolsBuildPhase
running bdist_wheel
running build
running build_py
creating build
creating build/lib
creating build/lib/OpenSSL
copying src/OpenSSL/SSL.py -> build/lib/OpenSSL
copying src/OpenSSL/__init__.py -> build/lib/OpenSSL
copying src/OpenSSL/_util.py -> build/lib/OpenSSL
copying src/OpenSSL/crypto.py -> build/lib/OpenSSL
copying src/OpenSSL/debug.py -> build/lib/OpenSSL
copying src/OpenSSL/rand.py -> build/lib/OpenSSL
copying src/OpenSSL/tsafe.py -> build/lib/OpenSSL
copying src/OpenSSL/version.py -> build/lib/OpenSSL
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/OpenSSL
copying build/lib/OpenSSL/SSL.py -> build/bdist.linux-x86_64/wheel/OpenSSL
copying build/lib/OpenSSL/__init__.py -> build/bdist.linux-x86_64/wheel/OpenSSL
copying build/lib/OpenSSL/_util.py -> build/bdist.linux-x86_64/wheel/OpenSSL
copying build/lib/OpenSSL/crypto.py -> build/bdist.linux-x86_64/wheel/OpenSSL
copying build/lib/OpenSSL/debug.py -> build/bdist.linux-x86_64/wheel/OpenSSL
copying build/lib/OpenSSL/rand.py -> build/bdist.linux-x86_64/wheel/OpenSSL
copying build/lib/OpenSSL/tsafe.py -> build/bdist.linux-x86_64/wheel/OpenSSL
copying build/lib/OpenSSL/version.py -> build/bdist.linux-x86_64/wheel/OpenSSL
running install_egg_info
running egg_info
writing requirements to src/pyOpenSSL.egg-info/requires.txt
writing src/pyOpenSSL.egg-info/PKG-INFO
writing top-level names to src/pyOpenSSL.egg-info/top_level.txt
writing dependency_links to src/pyOpenSSL.egg-info/dependency_links.txt
reading manifest file 'src/pyOpenSSL.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files found matching 'leakcheck'
warning: no previously-included files found matching 'codecov.yml'
warning: no previously-included files matching '*.py' found under directory 'leakcheck'
warning: no previously-included files matching '*.pem' found under directory 'leakcheck'
warning: no previously-included files matching '*.cert' found under directory 'examples/simple'
warning: no previously-included files matching '*.pkey' found under directory 'examples/simple'
no previously-included directories found matching 'doc/_build'
no previously-included directories found matching '.travis'
no previously-included directories found matching '.mention-bot'
writing manifest file 'src/pyOpenSSL.egg-info/SOURCES.txt'
Copying src/pyOpenSSL.egg-info to build/bdist.linux-x86_64/wheel/pyOpenSSL-19.0.0-py2.7.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/pyOpenSSL-19.0.0.dist-info/WHEEL
creating 'dist/pyOpenSSL-19.0.0-py2.py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'OpenSSL/SSL.py'
adding 'OpenSSL/__init__.py'
adding 'OpenSSL/_util.py'
adding 'OpenSSL/crypto.py'
adding 'OpenSSL/debug.py'
adding 'OpenSSL/rand.py'
adding 'OpenSSL/tsafe.py'
adding 'OpenSSL/version.py'
adding 'pyOpenSSL-19.0.0.dist-info/LICENSE'
adding 'pyOpenSSL-19.0.0.dist-info/METADATA'
adding 'pyOpenSSL-19.0.0.dist-info/WHEEL'
adding 'pyOpenSSL-19.0.0.dist-info/top_level.txt'
adding 'pyOpenSSL-19.0.0.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Finished executing setuptoolsInstallPhase
installing
Executing pipInstallPhase
/build/pyOpenSSL-19.0.0/dist /build/pyOpenSSL-19.0.0
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Processing ./pyOpenSSL-19.0.0-py2.py3-none-any.whl
Requirement already satisfied: cryptography>=2.3 in /nix/store/s0g5awz8cgs5864429kvq5iv33qscsy8-python2.7-cryptography-2.7/lib/python2.7/site-packages (from pyOpenSSL==19.0.0) (2.7)
Requirement already satisfied: six>=1.5.2 in /nix/store/kbmgj818nppfpf2fja1221agnva170sz-python2.7-six-1.12.0/lib/python2.7/site-packages (from pyOpenSSL==19.0.0) (1.12.0)
Requirement already satisfied: enum34; python_version < "3" in /nix/store/gx34v0rqz8gjgybf7jvbd89iaknqrkkk-python2.7-enum34-1.1.6/lib/python2.7/site-packages (from cryptography>=2.3->pyOpenSSL==19.0.0) (1.1.6)
Requirement already satisfied: asn1crypto>=0.21.0 in /nix/store/cfwwhxqj9r293xq0v8ybrk4mi9rjsys5-python2.7-asn1crypto-0.24.0/lib/python2.7/site-packages (from cryptography>=2.3->pyOpenSSL==19.0.0) (0.24.0)
Requirement already satisfied: cffi!=1.11.3,>=1.8 in /nix/store/vm91669mxvywdgzzk979gd8l262chd5p-python2.7-cffi-1.12.3/lib/python2.7/site-packages (from cryptography>=2.3->pyOpenSSL==19.0.0) (1.12.3)
Requirement already satisfied: ipaddress; python_version < "3" in /nix/store/3x881s4f02xz26zw01yhmhwdjwb77ac7-python2.7-ipaddress-1.0.22/lib/python2.7/site-packages (from cryptography>=2.3->pyOpenSSL==19.0.0) (1.0.22)
Requirement already satisfied: pycparser in /nix/store/4dzwgkjdhd16kdlmi8axji7x2j0gjsrl-python2.7-pycparser-2.19/lib/python2.7/site-packages (from cffi!=1.11.3,>=1.8->cryptography>=2.3->pyOpenSSL==19.0.0) (2.19)
Installing collected packages: pyOpenSSL
Successfully installed pyOpenSSL-19.0.0
/build/pyOpenSSL-19.0.0
Finished executing pipInstallPhase
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/gh7kyj7wmgn1sq06aprmmc2xfhjm0n6p-python2.7-pyOpenSSL-19.0.0
strip is /nix/store/q354712mnkw3ky8b5crj7ir7dyv29ylj-binutils-2.31.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/gh7kyj7wmgn1sq06aprmmc2xfhjm0n6p-python2.7-pyOpenSSL-19.0.0/lib
patching script interpreter paths in /nix/store/gh7kyj7wmgn1sq06aprmmc2xfhjm0n6p-python2.7-pyOpenSSL-19.0.0
checking for references to /build/ in /nix/store/gh7kyj7wmgn1sq06aprmmc2xfhjm0n6p-python2.7-pyOpenSSL-19.0.0...
strip is /nix/store/q354712mnkw3ky8b5crj7ir7dyv29ylj-binutils-2.31.1/bin/strip
running install tests
============================= test session starts ==============================
platform linux2 -- Python 2.7.17, pytest-4.6.5, py-1.8.0, pluggy-0.12.0
OpenSSL: OpenSSL 1.1.1d  10 Sep 2019
cryptography: 2.7
rootdir: /build/pyOpenSSL-19.0.0, inifile: setup.cfg, testpaths: tests
plugins: flaky-3.6.1
collected 499 items / 8 deselected / 491 selected                              

tests/test_crypto.py ................................................... [ 10%]
........................................................................ [ 25%]
........................................................................ [ 39%]
...........................................................              [ 51%]
tests/test_debug.py .                                                    [ 51%]
tests/test_rand.py ....                                                  [ 52%]
tests/test_ssl.py ...................................................... [ 63%]
.............FFF........................................................ [ 78%]
........................................................................ [ 93%]
................................                                         [ 99%]
tests/test_tsafe.py .                                                    [ 99%]
tests/test_util.py .                                                     [100%]

=================================== FAILURES ===================================
____________________ TestContext.test_add_extra_chain_cert _____________________

self = <tests.test_ssl.TestContext object at 0x7fffee877190>
tmpdir = local('/build/pytest-of-nixbld/pytest-0/test_add_extra_chain_cert0')

    def test_add_extra_chain_cert(self, tmpdir):
        """
        `Context.add_extra_chain_cert` accepts an `X509`
        instance to add to the certificate chain.
    
        See `_create_certificate_chain` for the details of the
        certificate chain tested.
    
        The chain is tested by starting a server with scert and connecting
        to it with a client which trusts cacert and requires verification to
        succeed.
        """
        chain = _create_certificate_chain()
        [(cakey, cacert), (ikey, icert), (skey, scert)] = chain
    
        # Dump the CA certificate to a file because that's the only way to load
        # it as a trusted CA in the client context.
        for cert, name in [(cacert, 'ca.pem'),
                           (icert, 'i.pem'),
                           (scert, 's.pem')]:
            with tmpdir.join(name).open('w') as f:
                f.write(dump_certificate(FILETYPE_PEM, cert).decode('ascii'))
    
        for key, name in [(cakey, 'ca.key'),
                          (ikey, 'i.key'),
                          (skey, 's.key')]:
            with tmpdir.join(name).open('w') as f:
                f.write(dump_privatekey(FILETYPE_PEM, key).decode('ascii'))
    
        # Create the server context
        serverContext = Context(TLSv1_METHOD)
        serverContext.use_privatekey(skey)
        serverContext.use_certificate(scert)
        # The client already has cacert, we only need to give them icert.
        serverContext.add_extra_chain_cert(icert)
    
        # Create the client
        clientContext = Context(TLSv1_METHOD)
        clientContext.set_verify(
            VERIFY_PEER | VERIFY_FAIL_IF_NO_PEER_CERT, verify_cb)
        clientContext.load_verify_locations(str(tmpdir.join("ca.pem")))
    
        # Try it out.
>       self._handshake_test(serverContext, clientContext)

tests/test_ssl.py:1370:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/test_ssl.py:1248: in _handshake_test
    s.do_handshake()
/nix/store/gh7kyj7wmgn1sq06aprmmc2xfhjm0n6p-python2.7-pyOpenSSL-19.0.0/lib/python2.7/site-packages/OpenSSL/SSL.py:1915: in do_handshake
    self._raise_ssl_error(self._ssl, result)
/nix/store/gh7kyj7wmgn1sq06aprmmc2xfhjm0n6p-python2.7-pyOpenSSL-19.0.0/lib/python2.7/site-packages/OpenSSL/SSL.py:1647: in _raise_ssl_error
    _raise_current_error()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

exception_type = <class 'OpenSSL.SSL.Error'>

    def exception_from_error_queue(exception_type):
        """
        Convert an OpenSSL library failure into a Python exception.
    
        When a call to the native OpenSSL library fails, this is usually signalled
        by the return value, and an error code is stored in an error queue
        associated with the current thread. The err library provides functions to
        obtain these error codes and textual error messages.
        """
        errors = []
    
        while True:
            error = lib.ERR_get_error()
            if error == 0:
                break
            errors.append((
                text(lib.ERR_lib_error_string(error)),
                text(lib.ERR_func_error_string(error)),
                text(lib.ERR_reason_error_string(error))))
    
>       raise exception_type(errors)
E       Error: [('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')]

/nix/store/gh7kyj7wmgn1sq06aprmmc2xfhjm0n6p-python2.7-pyOpenSSL-19.0.0/lib/python2.7/site-packages/OpenSSL/_util.py:54: Error
______________ TestContext.test_use_certificate_chain_file_bytes _______________

self = <tests.test_ssl.TestContext object at 0x7fffedd89110>
tmpfile = '/build/pytest-of-nixbld/pytest-0/tmpEhjyGt'

    def test_use_certificate_chain_file_bytes(self, tmpfile):
        """
        ``Context.use_certificate_chain_file`` accepts the name of a file (as
        an instance of ``bytes``) to specify additional certificates to use to
        construct and verify a trust chain.
        """
        self._use_certificate_chain_file_test(
>           tmpfile + NON_ASCII.encode(getfilesystemencoding())
        )

tests/test_ssl.py:1417:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/test_ssl.py:1408: in _use_certificate_chain_file_test
    self._handshake_test(serverContext, clientContext)
tests/test_ssl.py:1248: in _handshake_test
    s.do_handshake()
/nix/store/gh7kyj7wmgn1sq06aprmmc2xfhjm0n6p-python2.7-pyOpenSSL-19.0.0/lib/python2.7/site-packages/OpenSSL/SSL.py:1915: in do_handshake
    self._raise_ssl_error(self._ssl, result)
/nix/store/gh7kyj7wmgn1sq06aprmmc2xfhjm0n6p-python2.7-pyOpenSSL-19.0.0/lib/python2.7/site-packages/OpenSSL/SSL.py:1647: in _raise_ssl_error
    _raise_current_error()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

exception_type = <class 'OpenSSL.SSL.Error'>

    def exception_from_error_queue(exception_type):
        """
        Convert an OpenSSL library failure into a Python exception.
    
        When a call to the native OpenSSL library fails, this is usually signalled
        by the return value, and an error code is stored in an error queue
        associated with the current thread. The err library provides functions to
        obtain these error codes and textual error messages.
        """
        errors = []
    
        while True:
            error = lib.ERR_get_error()
            if error == 0:
                break
            errors.append((
                text(lib.ERR_lib_error_string(error)),
                text(lib.ERR_func_error_string(error)),
                text(lib.ERR_reason_error_string(error))))
    
>       raise exception_type(errors)
E       Error: [('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')]

/nix/store/gh7kyj7wmgn1sq06aprmmc2xfhjm0n6p-python2.7-pyOpenSSL-19.0.0/lib/python2.7/site-packages/OpenSSL/_util.py:54: Error
_____________ TestContext.test_use_certificate_chain_file_unicode ______________

self = <tests.test_ssl.TestContext object at 0x7fffee64a8d0>
tmpfile = '/build/pytest-of-nixbld/pytest-0/tmp6Iz2zH'

    def test_use_certificate_chain_file_unicode(self, tmpfile):
        """
        ``Context.use_certificate_chain_file`` accepts the name of a file (as
        an instance of ``unicode``) to specify additional certificates to use
        to construct and verify a trust chain.
        """
        self._use_certificate_chain_file_test(
>           tmpfile.decode(getfilesystemencoding()) + NON_ASCII
        )

tests/test_ssl.py:1427:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/test_ssl.py:1408: in _use_certificate_chain_file_test
    self._handshake_test(serverContext, clientContext)
tests/test_ssl.py:1248: in _handshake_test
    s.do_handshake()
/nix/store/gh7kyj7wmgn1sq06aprmmc2xfhjm0n6p-python2.7-pyOpenSSL-19.0.0/lib/python2.7/site-packages/OpenSSL/SSL.py:1915: in do_handshake
    self._raise_ssl_error(self._ssl, result)
/nix/store/gh7kyj7wmgn1sq06aprmmc2xfhjm0n6p-python2.7-pyOpenSSL-19.0.0/lib/python2.7/site-packages/OpenSSL/SSL.py:1647: in _raise_ssl_error
    _raise_current_error()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

exception_type = <class 'OpenSSL.SSL.Error'>

    def exception_from_error_queue(exception_type):
        """
        Convert an OpenSSL library failure into a Python exception.
    
        When a call to the native OpenSSL library fails, this is usually signalled
        by the return value, and an error code is stored in an error queue
        associated with the current thread. The err library provides functions to
        obtain these error codes and textual error messages.
        """
        errors = []
    
        while True:
            error = lib.ERR_get_error()
            if error == 0:
                break
            errors.append((
                text(lib.ERR_lib_error_string(error)),
                text(lib.ERR_func_error_string(error)),
                text(lib.ERR_reason_error_string(error))))
    
>       raise exception_type(errors)
E       Error: [('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')]

/nix/store/gh7kyj7wmgn1sq06aprmmc2xfhjm0n6p-python2.7-pyOpenSSL-19.0.0/lib/python2.7/site-packages/OpenSSL/_util.py:54: Error
=============================== warnings summary ===============================
tests/test_crypto.py:25
  /build/pyOpenSSL-19.0.0/tests/test_crypto.py:25: DeprecationWarning: PKeyType has been deprecated, use PKey instead
    from OpenSSL.crypto import TYPE_RSA, TYPE_DSA, Error, PKey, PKeyType

tests/test_crypto.py:26
  /build/pyOpenSSL-19.0.0/tests/test_crypto.py:26: DeprecationWarning: X509Type has been deprecated, use X509 instead
    from OpenSSL.crypto import X509, X509Type, X509Name, X509NameType

tests/test_crypto.py:26
  /build/pyOpenSSL-19.0.0/tests/test_crypto.py:26: DeprecationWarning: X509NameType has been deprecated, use X509Name instead
    from OpenSSL.crypto import X509, X509Type, X509Name, X509NameType

tests/test_crypto.py:27
  /build/pyOpenSSL-19.0.0/tests/test_crypto.py:27: DeprecationWarning: X509StoreType has been deprecated, use X509Store instead
    from OpenSSL.crypto import (

tests/test_crypto.py:34
  /build/pyOpenSSL-19.0.0/tests/test_crypto.py:34: DeprecationWarning: X509ReqType has been deprecated, use X509Req instead
    from OpenSSL.crypto import X509Req, X509ReqType

tests/test_crypto.py:35
  /build/pyOpenSSL-19.0.0/tests/test_crypto.py:35: DeprecationWarning: X509ExtensionType has been deprecated, use X509Extension instead
    from OpenSSL.crypto import X509Extension, X509ExtensionType

tests/test_crypto.py:41
  /build/pyOpenSSL-19.0.0/tests/test_crypto.py:41: DeprecationWarning: PKCS7Type has been deprecated, use PKCS7 instead
    from OpenSSL.crypto import PKCS7, PKCS7Type, load_pkcs7_data

tests/test_crypto.py:42
  /build/pyOpenSSL-19.0.0/tests/test_crypto.py:42: DeprecationWarning: PKCS12Type has been deprecated, use PKCS12 instead
    from OpenSSL.crypto import PKCS12, PKCS12Type, load_pkcs12

tests/test_crypto.py:44
  /build/pyOpenSSL-19.0.0/tests/test_crypto.py:44: DeprecationWarning: NetscapeSPKIType has been deprecated, use NetscapeSPKI instead
    from OpenSSL.crypto import NetscapeSPKI, NetscapeSPKIType

tests/test_ssl.py:59
  /build/pyOpenSSL-19.0.0/tests/test_ssl.py:59: DeprecationWarning: ContextType has been deprecated, use Context instead
    from OpenSSL.SSL import (

tests/test_ssl.py:59
  /build/pyOpenSSL-19.0.0/tests/test_ssl.py:59: DeprecationWarning: ConnectionType has been deprecated, use Connection instead
    from OpenSSL.SSL import (

/nix/store/sgzdkh81g25msx5l09vv47bn5zsccaiw-python2.7-pytest-4.6.5/lib/python2.7/site-packages/_pytest/assertion/rewrite.py:304
  /nix/store/sgzdkh81g25msx5l09vv47bn5zsccaiw-python2.7-pytest-4.6.5/lib/python2.7/site-packages/_pytest/assertion/rewrite.py:304: DeprecationWarning: OpenSSL.tsafe is deprecated and will be removed
    exec(co, mod.__dict__)

tests/test_crypto.py::TestSignVerify::test_sign_verify_ecdsa
  /build/pyOpenSSL-19.0.0/tests/test_crypto.py:3703: DeprecationWarning: unicode for data is no longer accepted, use bytes
    sig = sign(priv_key, content, "sha1")

tests/test_crypto.py::TestSignVerify::test_sign_verify_ecdsa
  /build/pyOpenSSL-19.0.0/tests/test_crypto.py:3704: DeprecationWarning: unicode for data is no longer accepted, use bytes
    verify(cert, sig, content, "sha1")

tests/test_ssl.py::TestContext::test_set_cipher_list[hello world:AES128-SHA1]
  /build/pyOpenSSL-19.0.0/tests/test_ssl.py:408: DeprecationWarning: unicode for cipher_list is no longer accepted, use bytes
    context.set_cipher_list(cipher_string)

tests/test_ssl.py::TestContext::test_verify_no_fallback_if_env_vars_set
  /nix/store/sgzdkh81g25msx5l09vv47bn5zsccaiw-python2.7-pytest-4.6.5/lib/python2.7/site-packages/_pytest/monkeypatch.py:230: PytestWarning: Environment variable name u'SSL_CERT_DIR' should be str
    "Environment variable name {!r} should be str".format(name)

tests/test_ssl.py::TestContext::test_verify_no_fallback_if_env_vars_set
  /nix/store/sgzdkh81g25msx5l09vv47bn5zsccaiw-python2.7-pytest-4.6.5/lib/python2.7/site-packages/_pytest/monkeypatch.py:230: PytestWarning: Environment variable name u'SSL_CERT_FILE' should be str
    "Environment variable name {!r} should be str".format(name)

-- Docs: https://docs.pytest.org/en/latest/warnings.html
===Flaky Test Report===

test_gmtime_adj_notBefore passed 1 out of the required 1 times. Success!
test_gmtime_adj_notAfter passed 1 out of the required 1 times. Success!

===End Flaky Test Report===
======= 3 failed, 488 passed, 8 deselected, 17 warnings in 3.81 seconds ========
builder for '/nix/store/2zk2mn864ryfg894h3254s99miry55np-python2.7-pyOpenSSL-19.0.0.drv' failed with exit code 1
cannot build derivation '/nix/store/firc9ghi214xzzzmhzajfy1w7kbbix5i-python2.7-urllib3-1.24.3.drv': 1 dependencies couldn't be built
building '/nix/store/k4g5n63kiygnx7y1rnb9hpyybny0wsql-setuptools-setup-hook.drv'...
cannot build derivation '/nix/store/1lh5cvkdc6igk5641q8nn2j0vi8bwldd-python2.7-dulwich-0.19.11.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/asbyk79r5jj3gbl5ik44rv1c312b2pmp-mercurial-4.9.1.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/3bvzbgmsfazvayvzmpxwqyya36jdr9zc-nix-prefetch-hg.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/fmy4pj7i7w7pka3b5i64k2783j333852-nix-prefetch-scripts.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/y6d1l3pymv4q605dv4gk338m2sshhzqp-cabal2nix-2.14.4.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/4md7k3bldgc826yqjsxk400h7y98i7ic-cabal2nix-obelisk-command.drv': 1 dependencies couldn't be built
error: build of '/nix/store/4md7k3bldgc826yqjsxk400h7y98i7ic-cabal2nix-obelisk-command.drv' failed
(use '--show-trace' to show detailed location information)

milvi avatar Feb 22 '21 14:02 milvi

I tried the installation again today, and I've got the starter app running without any problems! I'm guessing it was an upstream issue that's fixed.

mark-gerarts avatar Mar 13 '21 16:03 mark-gerarts

@mark-gerarts What changed for you? I tried the installation just a moment ago and still getting this ssl error.

locallycompact avatar Mar 13 '21 17:03 locallycompact

I simply tried running the installation again:

$ nix-env -f https://github.com/obsidiansystems/obelisk/archive/master.tar.gz -iA command

After which ob init and ob run etc. just worked. As to what changed is hard to say unfortunately. I've been working on other Haskell projects as well the last few weeks, so my system's state is very likely to be different from when I encountered the installation issues...

mark-gerarts avatar Mar 13 '21 17:03 mark-gerarts

I'm also running into this error on the nixos/nix:latest docker image of a gitlab-ci runner using an obelisk project based on obelisk 7ad33cbe3e84b209e83c505ce25486445bbd602e

EDIT: trivially reproduced with docker:

docker run -ti --rm nixos/nix:latest nix-env -f https://github.com/obsidiansystems/obelisk/archive/master.tar.gz -iA command

o1lo01ol1o avatar Mar 25 '21 10:03 o1lo01ol1o

nix-env -f https://github.com/obsidiansystems/obelisk/archive/master.tar.gz -iA command

works on an EC2 instance provisioned with nixops:

$ nix-info
system: "x86_64-linux", multi-user?: yes, version: nix-env (Nix) 2.3, channels(root): "nixos-20.03.1445.95b9c99f6d0", nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

o1lo01ol1o avatar Mar 26 '21 13:03 o1lo01ol1o

obelisk now appears to be working on nixos 20.09. This may be due to openssl 1.1.1k arriving in nixpkgs master.

o1lo01ol1o avatar Mar 26 '21 16:03 o1lo01ol1o

any update on this ? I have the same issue :

parallels@vm:~/dev/plutus-use-cases/use-case-2$ uname -a
Linux vm 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

nhenin avatar Aug 03 '21 15:08 nhenin

Looks like the same issue as https://github.com/reflex-frp/reflex-platform/issues/721, which will be fixed by the upcoming Nixpkgs bumps.

tomsmalley avatar Aug 11 '21 08:08 tomsmalley

I was having these problems and found a fix at least locally.

the instructions asked to put the config stuff in /etc/nix/nix.conf which resulted in build errors.

but placing them in ~/.config/nix/nix.conf

installed obelisk successfully :+1:

risingBirdSong avatar Sep 19 '21 18:09 risingBirdSong