blockchain-certificates/cert-issuer

Docker build failed

bakac0 opened this issue · 1 comments

I tried to build, but that didn't work.

docker build -t bc/cert-issuer:1.0 .

Sending build context to Docker daemon  2.981MB
Step 1/6 : FROM seegno/bitcoind:0.13-alpine
0.13-alpine: Pulling from seegno/bitcoind
88286f41530e: Pull complete 
fa5aa0d8621a: Pull complete 
ba9914f78915: Pull complete 
57aa4cf2b765: Pull complete 
Digest: sha256:bfd0bb1795e129f33b3d8eb3ee070ba9b214a62a74613e8fb727243f78f79b6e
Status: Downloaded newer image for seegno/bitcoind:0.13-alpine
 ---> 73b9b57b4bd1
Step 2/6 : MAINTAINER Kim Duffy "kimhd@mit.edu"
 ---> Running in 4390fb9bba72
Removing intermediate container 4390fb9bba72
 ---> d17c60956fcb
Step 3/6 : COPY . /cert-issuer
 ---> 63e16b3d624f
Step 4/6 : COPY conf_regtest.ini /etc/cert-issuer/conf.ini
 ---> 98c869c8018f
Step 5/6 : RUN apk add --update         bash         ca-certificates         curl         gcc         gmp-dev         libffi-dev         libressl-dev         linux-headers         make         musl-dev         python         python3         python3-dev         tar     && python3 -m ensurepip     && pip3 install --upgrade pip setuptools     && mkdir -p /etc/cert-issuer/data/unsigned_certificates     && mkdir /etc/cert-issuer/data/blockchain_certificates     && mkdir ~/.bitcoin     && echo $'rpcuser=foo\nrpcpassword=bar\nrpcport=8332\nregtest=1\nrelaypriority=0\nrpcallowip=127.0.0.1\nrpcconnect=127.0.0.1\n' > /root/.bitcoin/bitcoin.conf     && pip3 install /cert-issuer/.     && rm -r /usr/lib/python*/ensurepip     && rm -rf /var/cache/apk/*     && rm -rf /root/.cache     && sed -i.bak s/==1\.0b1/\>=1\.0\.2/g /usr/lib/python3.*/site-packages/merkletools-1.0.2-py3.*.egg-info/requires.txt
 ---> Running in 7d793fae83ea
fetch http://dl-cdn.alpinelinux.org/alpine/v3.6/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.6/community/x86_64/APKINDEX.tar.gz
(1/41) Upgrading musl (1.1.16-r13 -> 1.1.16-r15)
(2/41) Upgrading libressl2.5-libcrypto (2.5.5-r0 -> 2.5.5-r2)
(3/41) Upgrading libressl2.5-libssl (2.5.5-r0 -> 2.5.5-r2)
(4/41) Installing ncurses-terminfo-base (6.0_p20171125-r1)
(5/41) Installing ncurses-terminfo (6.0_p20171125-r1)
(6/41) Installing ncurses-libs (6.0_p20171125-r1)
(7/41) Installing readline (6.3.008-r5)
(8/41) Installing bash (4.3.48-r1)
Executing bash-4.3.48-r1.post-install
(9/41) Installing ca-certificates (20161130-r3)
(10/41) Installing libssh2 (1.8.2-r0)
(11/41) Installing libcurl (7.61.1-r2)
(12/41) Installing curl (7.61.1-r2)
(13/41) Installing binutils-libs (2.30-r1)
(14/41) Installing binutils (2.30-r1)
(15/41) Installing gmp (6.1.2-r0)
(16/41) Installing isl (0.17.1-r0)
(17/41) Installing libgomp (6.3.0-r4)
(18/41) Installing libatomic (6.3.0-r4)
(19/41) Installing pkgconf (1.3.7-r0)
(20/41) Installing mpfr3 (3.1.5-r0)
(21/41) Installing mpc1 (1.0.3-r0)
(22/41) Installing gcc (6.3.0-r4)
(23/41) Installing libgmpxx (6.1.2-r0)
(24/41) Installing gmp-dev (6.1.2-r0)
(25/41) Upgrading musl-utils (1.1.16-r13 -> 1.1.16-r15)
(26/41) Installing libffi (3.2.1-r3)
(27/41) Installing libffi-dev (3.2.1-r3)
(28/41) Upgrading libressl2.5-libtls (2.5.5-r0 -> 2.5.5-r2)
(29/41) Installing libressl-dev (2.5.5-r2)
(30/41) Installing linux-headers (4.4.6-r2)
(31/41) Installing make (4.2.1-r0)
(32/41) Installing musl-dev (1.1.16-r15)
(33/41) Installing libbz2 (1.0.6-r5)
(34/41) Installing expat (2.2.0-r1)
(35/41) Installing gdbm (1.12-r0)
(36/41) Installing sqlite-libs (3.25.3-r0)
(37/41) Installing python2 (2.7.15-r0)
(38/41) Installing xz-libs (5.2.3-r0)
(39/41) Installing python3 (3.6.8-r0)
(40/41) Installing python3-dev (3.6.8-r0)
(41/41) Installing tar (1.32-r0)
Executing busybox-1.26.2-r5.trigger
Executing ca-certificates-20161130-r3.trigger
OK: 254 MiB in 61 packages
Looking in links: /tmp/tmpthbdnwjf
Requirement already satisfied: setuptools in /usr/lib/python3.6/site-packages (40.6.2)
Requirement already satisfied: pip in /usr/lib/python3.6/site-packages (18.1)
Collecting pip
  Downloading https://files.pythonhosted.org/packages/5a/4a/39400ff9b36e719bdf8f31c99fe1fa7842a42fa77432e584f707a5080063/pip-20.2.2-py2.py3-none-any.whl (1.5MB)
Collecting setuptools
  Downloading https://files.pythonhosted.org/packages/44/a6/7fb6e8b3f4a6051e72e4e2218889351f0ee484b9ee17e995f5ccff780300/setuptools-50.3.0-py3-none-any.whl (785kB)
Installing collected packages: pip, setuptools
  Found existing installation: pip 18.1
    Uninstalling pip-18.1:
      Successfully uninstalled pip-18.1
  Found existing installation: setuptools 40.6.2
    Uninstalling setuptools-40.6.2:
      Successfully uninstalled setuptools-40.6.2
Successfully installed pip-20.2.2 setuptools-50.3.0
Processing /cert-issuer
Collecting cert-core>=2.1.10
  Downloading cert-core-2.1.10.tar.gz (11 kB)
Collecting cert-schema>=3.0.0a9
  Downloading cert-schema-3.0.0a9.tar.gz (30 kB)
Collecting chainpoint>=0.0.2
  Downloading chainpoint-0.0.2.tar.gz (4.8 kB)
Collecting configargparse==0.12.0
  Downloading ConfigArgParse-0.12.0.tar.gz (41 kB)
Collecting glob2==0.6
  Downloading glob2-0.6.tar.gz (10 kB)
Collecting mock==2.0.0
  Downloading mock-2.0.0-py2.py3-none-any.whl (56 kB)
Collecting requests[security]>=2.18.4
  Downloading requests-2.24.0-py2.py3-none-any.whl (61 kB)
Collecting pycoin==0.80
  Downloading pycoin-0.80.tar.gz (113 kB)
Collecting pyld>=1.0.3
  Downloading PyLD-2.0.3.tar.gz (70 kB)
Collecting pysha3>=1.0.2
  Downloading pysha3-1.0.2.tar.gz (829 kB)
Collecting python-bitcoinlib>=0.10.1
  Downloading python_bitcoinlib-0.11.0-py3-none-any.whl (103 kB)
Collecting tox>=3.0.0
  Downloading tox-3.20.0-py2.py3-none-any.whl (83 kB)
Collecting jsonschema<3.0.0
  Downloading jsonschema-2.6.0-py2.py3-none-any.whl (39 kB)
Collecting connexion>=1.1.14
  Downloading connexion-2.7.0-py2.py3-none-any.whl (77 kB)
Collecting Flask-PyMongo>=0.5.1
  Downloading Flask_PyMongo-2.3.0-py2.py3-none-any.whl (12 kB)
Collecting python-dateutil>=2.6.1
  Downloading python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
Collecting pytz>=2017.2
  Downloading pytz-2020.1-py2.py3-none-any.whl (510 kB)
Collecting simplekv>=0.10.0
  Downloading simplekv-0.14.1-py3-none-any.whl (31 kB)
Collecting validators>=0.12.1
  Downloading validators-0.18.1-py3-none-any.whl (19 kB)
Collecting merkletools==1.0.2
  Downloading merkletools-1.0.2.tar.gz (5.5 kB)
Collecting pbr>=0.11
  Downloading pbr-5.5.0-py2.py3-none-any.whl (106 kB)
Collecting six>=1.9
  Downloading six-1.15.0-py2.py3-none-any.whl (10 kB)
Collecting certifi>=2017.4.17
  Downloading certifi-2020.6.20-py2.py3-none-any.whl (156 kB)
Collecting idna<3,>=2.5
  Downloading idna-2.10-py2.py3-none-any.whl (58 kB)
Collecting chardet<4,>=3.0.2
  Downloading chardet-3.0.4-py2.py3-none-any.whl (133 kB)
Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1
  Downloading urllib3-1.25.10-py2.py3-none-any.whl (127 kB)
Collecting pyOpenSSL>=0.14; extra == "security"
  Downloading pyOpenSSL-19.1.0-py2.py3-none-any.whl (53 kB)
Collecting cryptography>=1.3.4; extra == "security"
  Downloading cryptography-3.1.tar.gz (534 kB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
Collecting cachetools
  Downloading cachetools-4.1.1-py3-none-any.whl (10 kB)
Collecting frozendict
  Downloading frozendict-1.2.tar.gz (2.6 kB)
Collecting lxml
  Downloading lxml-4.5.2.tar.gz (4.5 MB)
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python3.6 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-yrky8115/lxml/setup.py'"'"'; __file__='"'"'/tmp/pip-install-yrky8115/lxml/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-r0_1lebh
         cwd: /tmp/pip-install-yrky8115/lxml/
    Complete output (3 lines):
    Building lxml version 4.5.2.
    Building without Cython.
    Error: Please make sure the libxml2 and libxslt development packages are installed.
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
The command '/bin/sh -c apk add --update         bash         ca-certificates         curl         gcc         gmp-dev         libffi-dev         libressl-dev         linux-headers         make         musl-dev         python         python3         python3-dev         tar     && python3 -m ensurepip     && pip3 install --upgrade pip setuptools     && mkdir -p /etc/cert-issuer/data/unsigned_certificates     && mkdir /etc/cert-issuer/data/blockchain_certificates     && mkdir ~/.bitcoin     && echo $'rpcuser=foo\nrpcpassword=bar\nrpcport=8332\nregtest=1\nrelaypriority=0\nrpcallowip=127.0.0.1\nrpcconnect=127.0.0.1\n' > /root/.bitcoin/bitcoin.conf     && pip3 install /cert-issuer/.     && rm -r /usr/lib/python*/ensurepip     && rm -rf /var/cache/apk/*     && rm -rf /root/.cache     && sed -i.bak s/==1\.0b1/\>=1\.0\.2/g /usr/lib/python3.*/site-packages/merkletools-1.0.2-py3.*.egg-info/requires.txt' returned a non-zero code: 1

To fix just add libxml2-dev, libxslt-dev to Dockerfile

FROM seegno/bitcoind:0.13-alpine
MAINTAINER Kim Duffy "kimhd@mit.edu"

COPY . /cert-issuer
COPY conf_regtest.ini /etc/cert-issuer/conf.ini

RUN apk add --update \
        bash \
        ca-certificates \
        curl \
        gcc \
        gmp-dev \
        libffi-dev \
        libressl-dev \
        linux-headers \
        libxml2-dev \
        libxslt-dev \
        make \
        musl-dev \
        python \
        python3 \
        python3-dev \
        tar \
    && python3 -m ensurepip \
    && pip3 install --upgrade pip setuptools \
    && mkdir -p /etc/cert-issuer/data/unsigned_certificates \
    && mkdir /etc/cert-issuer/data/blockchain_certificates \
    && mkdir ~/.bitcoin \
    && echo $'rpcuser=foo\nrpcpassword=bar\nrpcport=8332\nregtest=1\nrelaypriority=0\nrpcallowip=127.0.0.1\nrpcconnect=127.0.0.1\n' > /root/.bitcoin/bitcoin.conf \
    && pip3 install /cert-issuer/. \
    && rm -r /usr/lib/python*/ensurepip \
    && rm -rf /var/cache/apk/* \
    && rm -rf /root/.cache \
    && sed -i.bak s/==1\.0b1/\>=1\.0\.2/g /usr/lib/python3.*/site-packages/merkletools-1.0.2-py3.*.egg-info/requires.txt


ENTRYPOINT bitcoind -daemon && bash