无法构建 python-bls

无法构建 python-bls

此错误的原因是什么?我该如何安装这个所谓的python-bls

  Using cached python-bls-0.1.9.tar.gz (235 kB)
Building wheels for collected packages: python-bls
  Building wheel for python-bls (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-pyyv8yqq/python-bl
s_fa24ea089c424722926aecd347e6ce83/setup.py'"'"'; __file__='"'"'/tmp/pip-install-pyyv8yqq/python-bls_fa24ea089c424722926aecd347e6ce8
3/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setupto
ols import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'ex
ec'"'"'))' bdist_wheel -d /tmp/pip-wheel-yq0cbarn
       cwd: /tmp/pip-install-pyyv8yqq/python-bls_fa24ea089c424722926aecd347e6ce83/
  Complete output (31 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-armv7l-3.8
  creating build/lib.linux-armv7l-3.8/bls_py
  copying bls_py/__init__.py -> build/lib.linux-armv7l-3.8/bls_py
  copying bls_py/aggregation_info.py -> build/lib.linux-armv7l-3.8/bls_py
  copying bls_py/bls.py -> build/lib.linux-armv7l-3.8/bls_py
  copying bls_py/bls12381.py -> build/lib.linux-armv7l-3.8/bls_py
  copying bls_py/ec.py -> build/lib.linux-armv7l-3.8/bls_py
  copying bls_py/fields.py -> build/lib.linux-armv7l-3.8/bls_py
  copying bls_py/fields_t.py -> build/lib.linux-armv7l-3.8/bls_py
  copying bls_py/keys.py -> build/lib.linux-armv7l-3.8/bls_py
  copying bls_py/pairing.py -> build/lib.linux-armv7l-3.8/bls_py
  copying bls_py/signature.py -> build/lib.linux-armv7l-3.8/bls_py
  copying bls_py/tdata.py -> build/lib.linux-armv7l-3.8/bls_py
  copying bls_py/tests.py -> build/lib.linux-armv7l-3.8/bls_py
  copying bls_py/threshold.py -> build/lib.linux-armv7l-3.8/bls_py
  copying bls_py/util.py -> build/lib.linux-armv7l-3.8/bls_py
  running build_ext
  building 'bls_py.fields_t_c' extension
  creating build/temp.linux-armv7l-3.8
  creating build/temp.linux-armv7l-3.8/extmod
  creating build/temp.linux-armv7l-3.8/extmod/bls_py
  arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wfor
mat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURC
E=2 -fPIC -I/usr/include/python3.8 -c extmod/bls_py/fields_t_c.c -o build/temp.linux-armv7l-3.8/extmod/bls_py/fields_t_c.o
  extmod/bls_py/fields_t_c.c:612:10: fatal error: gmp.h: No such file or directory
    612 | #include "gmp.h"
        |          ^~~~~~~
  compilation terminated.
  error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for python-bls
  Running setup.py clean for python-bls
Failed to build python-bls
Installing collected packages: python-bls
    Running setup.py install for python-bls ... error
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-pyyv8yqq/python-
bls_fa24ea089c424722926aecd347e6ce83/setup.py'"'"'; __file__='"'"'/tmp/pip-install-pyyv8yqq/python-bls_fa24ea089c424722926aecd347e6c
e83/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setup
tools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'
exec'"'"'))' install --record /tmp/pip-record-5q1uwjh3/install-record.txt --single-version-externally-managed --compile --install-he
aders /usr/local/include/python3.8/python-bls
         cwd: /tmp/pip-install-pyyv8yqq/python-bls_fa24ea089c424722926aecd347e6ce83/
    Complete output (31 lines):
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-armv7l-3.8
    creating build/lib.linux-armv7l-3.8/bls_py
    copying bls_py/__init__.py -> build/lib.linux-armv7l-3.8/bls_py
    copying bls_py/aggregation_info.py -> build/lib.linux-armv7l-3.8/bls_py
    copying bls_py/bls.py -> build/lib.linux-armv7l-3.8/bls_py
    copying bls_py/bls12381.py -> build/lib.linux-armv7l-3.8/bls_py
    copying bls_py/ec.py -> build/lib.linux-armv7l-3.8/bls_py
    copying bls_py/fields.py -> build/lib.linux-armv7l-3.8/bls_py
    copying bls_py/fields_t.py -> build/lib.linux-armv7l-3.8/bls_py
    copying bls_py/keys.py -> build/lib.linux-armv7l-3.8/bls_py
    copying bls_py/pairing.py -> build/lib.linux-armv7l-3.8/bls_py
    copying bls_py/signature.py -> build/lib.linux-armv7l-3.8/bls_py
    copying bls_py/tdata.py -> build/lib.linux-armv7l-3.8/bls_py
    copying bls_py/tests.py -> build/lib.linux-armv7l-3.8/bls_py
    copying bls_py/threshold.py -> build/lib.linux-armv7l-3.8/bls_py
    copying bls_py/util.py -> build/lib.linux-armv7l-3.8/bls_py
    running build_ext
    building 'bls_py.fields_t_c' extension
    creating build/temp.linux-armv7l-3.8
    creating build/temp.linux-armv7l-3.8/extmod
    creating build/temp.linux-armv7l-3.8/extmod/bls_py
    arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wf
ormat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOU
RCE=2 -fPIC -I/usr/include/python3.8 -c extmod/bls_py/fields_t_c.c -o build/temp.linux-armv7l-3.8/extmod/bls_py/fields_t_c.o
    extmod/bls_py/fields_t_c.c:612:10: fatal error: gmp.h: No such file or directory
      612 | #include "gmp.h"
          |          ^~~~~~~
    compilation terminated.
    error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'
/tmp/pip-install-pyyv8yqq/python-bls_fa24ea089c424722926aecd347e6ce83/setup.py'"'"'; __file__='"'"'/tmp/pip-install-pyyv8yqq/python-
bls_fa24ea089c424722926aecd347e6ce83/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__)
 else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();e
xec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-5q1uwjh3/install-record.txt --single-version-external
ly-managed --compile --install-headers /usr/local/include/python3.8/python-bls Check the logs for full command output.

答案1

上面的编译日志包含有关 missied 的行基因工程头文件:

...
fatal error: gmp.h: No such file or directory
   612 | #include "gmp.h"
       |          ^~~~~~~
 compilation terminated.
...

你可以找到它的包并使用

sudo apt-get install libgmp-dev

相关内容