sammchardy / python-binance-chain

Binance Chain Exchange API python implementation for automated trading
http://python-binance-chain.rtfd.io
MIT License
297 stars 133 forks source link

pip install fails on ubuntu #21

Closed skinderis closed 5 years ago

skinderis commented 5 years ago

Tried apt install build-essential automake pkg-config libtool libffi-dev libgmp-dev as adviced in #5

config.status: executing libtool commands
      CC       src/libsecp256k1_la-secp256k1.lo
    In file included from /tmp/pip-build-t2jgn0l8/secp256k1/libsecp256k1/src/secp256k1.c:14:0:
    /tmp/pip-build-t2jgn0l8/secp256k1/libsecp256k1/src/ecmult_impl.h: In function ‘secp256k1_ecmult_context_clone’:
    /tmp/pip-build-t2jgn0l8/secp256k1/libsecp256k1/src/ecmult_impl.h:186:9: warning: implicit declaration of function ‘memcpy’ [-Wimplicit-function-declaration]
             memcpy(dst->pre_g, src->pre_g, size);
             ^~~~~~
    /tmp/pip-build-t2jgn0l8/secp256k1/libsecp256k1/src/ecmult_impl.h:186:9: warning: incompatible implicit declaration of built-in function ‘memcpy’
    /tmp/pip-build-t2jgn0l8/secp256k1/libsecp256k1/src/ecmult_impl.h:186:9: note: include ‘<string.h>’ or provide a declaration of ‘memcpy’
    /tmp/pip-build-t2jgn0l8/secp256k1/libsecp256k1/src/ecmult_impl.h: In function ‘secp256k1_ecmult_wnaf’:
    /tmp/pip-build-t2jgn0l8/secp256k1/libsecp256k1/src/ecmult_impl.h:230:5: warning: implicit declaration of function ‘memset’ [-Wimplicit-function-declaration]
         memset(wnaf, 0, len * sizeof(wnaf[0]));
         ^~~~~~
    /tmp/pip-build-t2jgn0l8/secp256k1/libsecp256k1/src/ecmult_impl.h:230:5: warning: incompatible implicit declaration of built-in function ‘memset’
    /tmp/pip-build-t2jgn0l8/secp256k1/libsecp256k1/src/ecmult_impl.h:230:5: note: include ‘<string.h>’ or provide a declaration of ‘memset’
      CCLD     libsecp256k1.la
    /usr/bin/ar: `u' modifier ignored since `D' is the default (see `U')
      CC       src/tests-tests.o
    In file included from /tmp/pip-build-t2jgn0l8/secp256k1/libsecp256k1/src/secp256k1.c:14:0,
                     from /tmp/pip-build-t2jgn0l8/secp256k1/libsecp256k1/src/tests.c:16:
    /tmp/pip-build-t2jgn0l8/secp256k1/libsecp256k1/src/ecmult_impl.h: In function ‘secp256k1_ecmult_context_clone’:
    /tmp/pip-build-t2jgn0l8/secp256k1/libsecp256k1/src/ecmult_impl.h:186:9: warning: implicit declaration of function ‘memcpy’ [-Wimplicit-function-declaration]
             memcpy(dst->pre_g, src->pre_g, size);
             ^~~~~~
    /tmp/pip-build-t2jgn0l8/secp256k1/libsecp256k1/src/ecmult_impl.h:186:9: warning: incompatible implicit declaration of built-in function ‘memcpy’
    /tmp/pip-build-t2jgn0l8/secp256k1/libsecp256k1/src/ecmult_impl.h:186:9: note: include ‘<string.h>’ or provide a declaration of ‘memcpy’
    /tmp/pip-build-t2jgn0l8/secp256k1/libsecp256k1/src/ecmult_impl.h: In function ‘secp256k1_ecmult_wnaf’:
    /tmp/pip-build-t2jgn0l8/secp256k1/libsecp256k1/src/ecmult_impl.h:230:5: warning: implicit declaration of function ‘memset’ [-Wimplicit-function-declaration]
         memset(wnaf, 0, len * sizeof(wnaf[0]));
         ^~~~~~
    /tmp/pip-build-t2jgn0l8/secp256k1/libsecp256k1/src/ecmult_impl.h:230:5: warning: incompatible implicit declaration of built-in function ‘memset’
    /tmp/pip-build-t2jgn0l8/secp256k1/libsecp256k1/src/ecmult_impl.h:230:5: note: include ‘<string.h>’ or provide a declaration of ‘memset’
    /tmp/pip-build-t2jgn0l8/secp256k1/libsecp256k1/src/tests.c: In function ‘test_ecdsa_der_parse’:
    /tmp/pip-build-t2jgn0l8/secp256k1/libsecp256k1/src/tests.c:3702:52: error: dereferencing pointer to incomplete type ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’
             valid_openssl = !BN_is_negative(sig_openssl->r) && !BN_is_negative(sig_openssl->s) && BN_num_bits(sig_openssl->r) > 0 && BN_num_bits(sig_openssl->r) <= 256 && BN_num_bits(sig_openssl->s) > 0 && BN_num_bits(sig_openssl->s) <= 256;
                                                        ^~
    Makefile:1049: recipe for target 'src/tests-tests.o' failed
    make: *** [src/tests-tests.o] Error 1
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-t2jgn0l8/secp256k1/setup.py", line 295, in <module>
        "Topic :: Security :: Cryptography"
      File "/usr/local/lib/python3.6/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/usr/local/lib/python3.6/distutils/dist.py", line 955, in run_commands
        self.run_command(cmd)
      File "/usr/local/lib/python3.6/distutils/dist.py", line 974, in run_command
        cmd_obj.run()
      File "/usr/local/lib/python3.6/site-packages/setuptools/command/install.py", line 61, in run
        return orig.install.run(self)
      File "/usr/local/lib/python3.6/distutils/command/install.py", line 545, in run
        self.run_command('build')
      File "/usr/local/lib/python3.6/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/usr/local/lib/python3.6/distutils/dist.py", line 974, in run_command
        cmd_obj.run()
      File "/usr/local/lib/python3.6/distutils/command/build.py", line 135, in run
        self.run_command(cmd_name)
      File "/usr/local/lib/python3.6/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/usr/local/lib/python3.6/distutils/dist.py", line 974, in run_command
        cmd_obj.run()
      File "/tmp/pip-build-t2jgn0l8/secp256k1/setup.py", line 217, in run
        subprocess.check_call(["make"], cwd=build_temp)
      File "/usr/local/lib/python3.6/subprocess.py", line 291, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command '['make']' returned non-zero exit status 2.

Command "/usr/local/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-5i9clii7/secp256k1/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-vdhx1ivf-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-5i9clii7/secp256k1/
skinderis commented 5 years ago

Fixed by applying suggestion provided here: https://github.com/ludbb/secp256k1-py/issues/33, solution is to install libsecp256k1-dev: sudo apt-get install libsecp256k1-dev