guysoft / CustomPiOS

A Raspberry Pi and other ARM devices distribution builder
GNU General Public License v3.0
514 stars 149 forks source link

Module docker causes build failures during install of docker-compose #139

Closed davidzwa closed 1 year ago

davidzwa commented 3 years ago

Built an image without docker and then I added the docker module.

CustomPiOS: devel Error summary: cargo or rust cause wheel build which never finishes. The fact that a wheel build is necessary tells me something is wrong with the pip packages to start with. I could share the errors TL;DR a docker-compose dependency Error log: please visit my public repository and this build log line https://github.com/davidzwa/mtb3dpi-image/pull/1/checks?check_run_id=3255944271#step:8:1235 Attempt to fix: I ran the instructions on https://dev.to/elalemanyo/how-to-install-docker-and-docker-compose-on-raspberry-pi-1mo as Ive done many times before (hence this custom pi OS attempt) with success. The instructions install much less deps, which makes me wonder if we can simplify it here as well. Reproduction: 1) initiate a new custom pi OS using Docker on Windows 10 and WSL or use a Github Actions workflow just like FarmPi (https://github.com/mkevenaar/FarmPi/blob/main/.github/workflows/build.yaml) 2) download custom OS like raspios-buster-lite or raspbian (default) 3) adjust src/config with

export DIST_NAME=MTB3DPI
export DIST_VERSION=0.1.0

export BASE_USER=pi
export BASE_USER_PASSWORD=raspberry
export BASE_IMAGE_ENLARGEROOT=500
export BASE_IMAGE_RESIZEROOT=250

export MODULES="base(network, docker, mtb3dpi, password-for-sudo)"

4) build

I hope this information is dense enough. Willing to PR.

guysoft commented 3 years ago

Strange, it does finish on my builds, just takes a while. About 15 mins on my Pi4. Might be that github are emulating arm and therefore it would take longer, id bet around 20-60 mins.

Here is an example log from MtigOS that uses the docker module:

17:52:49   Created wheel for cffi: filename=cffi-1.14.6-cp37-cp37m-linux_aarch64.whl size=346183 sha256=61cc4bd42b98fb68cf0fad012ad13167bad847a0f3a3d117be597400cf8440d0
17:52:49   Stored in directory: /root/.cache/pip/wheels/44/5d/fc/189fa782e27940a19fa887d7896073a3691422f61b85f41a17
17:52:49   Building wheel for cryptography (PEP 517): started
17:53:49   Building wheel for cryptography (PEP 517): still running...
17:56:50   Building wheel for cryptography (PEP 517): still running...
17:57:50   Building wheel for cryptography (PEP 517): still running...
17:59:32   Building wheel for cryptography (PEP 517): still running...
17:59:35   Building wheel for cryptography (PEP 517): finished with status 'done'
17:59:35   Created wheel for cryptography: filename=cryptography-3.4.7-cp37-cp37m-linux_aarch64.whl size=1464730 sha256=043121d1b8caaef099e8581a0ad7ebadafd770a5df8664c001415facd6dcf259
17:59:35   Stored in directory: /root/.cache/pip/wheels/0f/d4/8b/207901c6ba23c69e3823daeebe87ffc684f28662da0c29bb39
17:59:35   Building wheel for pynacl (PEP 517): started
18:00:40   Building wheel for pynacl (PEP 517): still running...
18:01:42   Building wheel for pynacl (PEP 517): still running...
18:02:42   Building wheel for pynacl (PEP 517): still running...
18:03:46   Building wheel for pynacl (PEP 517): still running...
18:04:47   Building wheel for pynacl (PEP 517): still running...
18:05:50   Building wheel for pynacl (PEP 517): still running...
18:06:54   Building wheel for pynacl (PEP 517): still running...
18:08:02   Building wheel for pynacl (PEP 517): still running...
18:09:02   Building wheel for pynacl (PEP 517): still running...
18:10:04   Building wheel for pynacl (PEP 517): still running...
18:11:10   Building wheel for pynacl (PEP 517): still running...
18:12:14   Building wheel for pynacl (PEP 517): still running...
18:13:18   Building wheel for pynacl (PEP 517): still running...
18:14:19   Building wheel for pynacl (PEP 517): still running...
18:15:15   Building wheel for pynacl (PEP 517): finished with status 'done'
18:15:15   Created wheel for pynacl: filename=PyNaCl-1.4.0-cp37-cp37m-linux_aarch64.whl size=605424 sha256=5b81bb6b636aa2a6ae338f4639b4a0041980b3e394d8d6d812bb4e4fe06c38f6
18:15:15   Stored in directory: /root/.cache/pip/wheels/f9/fb/34/d15387bc2e4a748e0eb2b9788c34e1d0c2167265e04bc6bb49
18:15:15   Building wheel for pyrsistent (PEP 517): started
18:15:18   Building wheel for pyrsistent (PEP 517): finished with status 'done'
18:15:18   Created wheel for pyrsistent: filename=pyrsistent-0.18.0-cp37-cp37m-linux_aarch64.whl size=100364 sha256=d1849500d8716a9ed04eaa8302d262b3bd672032728ad165b4ef0e05c02eff85
18:15:18   Stored in directory: /root/.cache/pip/wheels/54/35/6e/9827c774ec40ae001ae2a2ef063268add65762c4014951e97c
18:15:18 Successfully built dockerpty docopt bcrypt cffi cryptography pynacl pyrsistent
18:15:19 Installing collected packages: pycparser, cffi, zipp, websocket-client, typing-extensions, pynacl, cryptography, bcrypt, pyrsistent, paramiko, importlib-metadata, docker, attrs, texttable, python-dotenv, jsonschema, docopt, dockerpty, distro, cached-property, docker-compose
18:15:22 Successfully installed attrs-21.2.0 bcrypt-3.2.0 cached-property-1.5.2 cffi-1.14.6 cryptography-3.4.7 distro-1.6.0 docker-5.0.0 docker-compose-1.29.2 dockerpty-0.4.1 docopt-0.6.2 importlib-metadata-4.6.3 jsonschema-3.2.0 paramiko-2.7.2 pycparser-2.20 pynacl-1.4.0 pyrsistent-0.18.0 python-dotenv-0.19.0 texttable-1.6.4 typing-extensions-3.10.0.0 websocket-client-0.59.0 zipp-3.5.0

Also attaching full log for reference. consoleText.txt

A way to speed it up would be to build the wheel in advance, or use a 64bit build since they

Also there is this comment with a fix I don't fully understand: https://github.com/pyca/pynacl/issues/553#issuecomment-582506232

davidzwa commented 3 years ago

To re-iterate: with the installation steps I linked above a wheel build is not needed at all.

https://dev.to/elalemanyo/how-to-install-docker-and-docker-compose-on-raspberry-pi-1mo

This is all it takes, very different from what the CustomPiOS docker module is doing:

sudo apt-get update && sudo apt-get upgrade
curl -sSL https://get.docker.com | sh
sudo usermod -aG docker ${USER}
sudo apt-get install libffi-dev libssl-dev
sudo apt install python3-dev
sudo apt-get install -y python3 python3-pip

sudo pip3 install docker-compose
sudo systemctl enable docker

The apt upgrade step is not quick for a raspbian base due to its age (1.5 years), but fine for raspios armhf.

guysoft commented 3 years ago

Ok, gotcha.

Is the apt upgrade required? Any idea what it is fixing?

Apart from that, the module also runs the same up to here

curl -sSL https://get.docker.com | sh
sudo usermod -aG docker ${USER}

The lines here in your solution:

sudo apt-get install libffi-dev libssl-dev
sudo apt install python3-dev
sudo apt-get install -y python3 python3-pip

sudo pip3 install docker-compose

Are replaced by this in the docker module (source):

    apt-get install -y python3 python3-distutils python3-dev python3-testresources gcc libffi-dev build-essential libssl-dev cargo
    # Docker-compose
    wget https://bootstrap.pypa.io/get-pip.py -O - | python3
    pip3 install --ignore-installed PyYAML
    pip3 install docker-compose

I rather not change the base image as much as I can, since we expect Rpi-Foundation to maintain their image. Though we could add a flag for now DOCKER_WITH_UPGRADE=y. That when used would use the apt-get upgrade script you suggested.

At least until Rpi upgrade to Bullseye (which would be likely before 2022 when Buster reaches EOL).

davidzwa commented 3 years ago

Yeah it would be bad if we'd require apt upgrade. Lets aim to do without. I'll try that now using Raspbian (default, if I hear you correctly).

davidzwa commented 3 years ago

I was able to build the raspbian base without problems. Here's the start script with some corrections like -y

#!/usr/bin/env bash
# <Script Name>
# <Description what this module does>
# Written by <Author>
# GPL V3
########

# Source error handling, leave this in place
set -x
set -e

source /common.sh
install_cleanup_trap

unpack /filesystem/home/pi /home/"${BASE_USER}" "${BASE_USER}"
unpack /filesystem/home/root /root root
unpack /filesystem/boot /boot

echo "This is an example module, install and set up what you need here!"
echo "$MTB3DPI_VAR"

sudo apt-get update

curl -sSL https://get.docker.com | sh
sudo usermod -aG docker ${BASE_USER}
sudo apt -y install libffi-dev libssl-dev
sudo apt -y install python3-dev
sudo apt -y install python3 python3-pip
sudo pip3 install docker-compose
sudo systemctl enable docker

# Unpack root at the end, so files are modified before
unpack /filesystem/root /

Havent tested docker-compose on the image + host, but I trust it will succeed

guysoft commented 3 years ago

Looks like what you change is installing python3-pip from the distribution and not for the internet? I can fix that

davidzwa commented 3 years ago

Looking at the devel docker module, it definitely looks like it.

    wget https://bootstrap.pypa.io/get-pip.py -O - | python3
    pip3 install --ignore-installed PyYAML
    pip3 install docker-compose

By looking at the get-pip file it downloads pip3 21.2.3 which is the latest version. Personally I do not like that as the CustomPiOS build for an image might suddenly break with newer pip versions. Would be great if we fixated the version (or left it to the developers to upgrade it in their own chroot script). https://packages.debian.org/buster/python3-pip Version 18.1-5 will be included if we depend on Debian buster - I did not verify this with the actual image based on raspbian or raspiOS, just by checking the apt source linked above.

guysoft commented 3 years ago

Ok, tried to add python3-pip and it still takes a long time, log:

Can you provide the log what what managed to build for you?

23:29:29 + apt-get install -y python3 python3-distutils python3-dev python3-testresources gcc libffi-dev build-essential libssl-dev cargo python3-pip
23:29:29 Reading package lists...
23:29:29 Building dependency tree...
23:29:29 Reading state information...
23:29:30 build-essential is already the newest version (12.6).
23:29:30 gcc is already the newest version (4:8.3.0-1+rpi2).
23:29:30 gcc set to manually installed.
23:29:30 python3 is already the newest version (3.7.3-1).
23:29:30 python3 set to manually installed.
23:29:30 The following additional packages will be installed:
23:29:30   dh-python gir1.2-glib-2.0 libcurl3-gnutls libexpat1-dev
23:29:30   libgirepository-1.0-1 libhttp-parser2.8 libllvm7 libpython3-dev
23:29:30   libpython3.7-dev libstd-rust-1.41 libstd-rust-dev python-pip-whl
23:29:30   python3-asn1crypto python3-cffi-backend python3-crypto python3-cryptography
23:29:30   python3-dbus python3-entrypoints python3-gi python3-keyring
23:29:30   python3-keyrings.alt python3-lib2to3 python3-linecache2 python3-pbr
23:29:30   python3-secretstorage python3-setuptools python3-traceback2
23:29:30   python3-unittest2 python3-wheel python3-xdg python3.7-dev rust-gdb rustc
23:29:30 Suggested packages:
23:29:30   cargo-doc libssl-doc python-crypto-doc python-cryptography-doc
23:29:30   python3-cryptography-vectors python-dbus-doc python3-dbus-dbg gnome-keyring
23:29:30   libkf5wallet-bin gir1.2-gnomekeyring-1.0 python-secretstorage-doc
23:29:30   python-setuptools-doc gdb-doc rust-doc rust-src lld-7
23:29:30 The following NEW packages will be installed:
23:29:30   cargo dh-python gir1.2-glib-2.0 libcurl3-gnutls libexpat1-dev libffi-dev
23:29:30   libgirepository-1.0-1 libhttp-parser2.8 libllvm7 libpython3-dev
23:29:30   libpython3.7-dev libssl-dev libstd-rust-1.41 libstd-rust-dev python-pip-whl
23:29:30   python3-asn1crypto python3-cffi-backend python3-crypto python3-cryptography
23:29:30   python3-dbus python3-dev python3-distutils python3-entrypoints python3-gi
23:29:30   python3-keyring python3-keyrings.alt python3-lib2to3 python3-linecache2
23:29:30   python3-pbr python3-pip python3-secretstorage python3-setuptools
23:29:30   python3-testresources python3-traceback2 python3-unittest2 python3-wheel
23:29:30   python3-xdg python3.7-dev rust-gdb rustc
23:29:30 0 upgraded, 40 newly installed, 0 to remove and 38 not upgraded.
23:29:30 Need to get 105 MB of archives.
23:29:30 After this operation, 278 MB of additional disk space will be used.
23:29:30 Get:1 http://archive.raspberrypi.org/debian buster/main armhf libssl-dev armhf 1.1.1d-0+deb10u6+rpt1 [1584 kB]
23:29:31 Get:5 http://archive.raspberrypi.org/debian buster/main armhf python-pip-whl all 18.1-5+rpt1 [1591 kB]
23:29:31 Get:6 http://archive.raspberrypi.org/debian buster/main armhf python3-pip all 18.1-5+rpt1 [171 kB]
23:29:31 Get:2 http://mirror.ossplanet.net/raspbian/raspbian buster/main armhf libcurl3-gnutls armhf 7.64.0-4+deb10u2 [292 kB]
23:29:32 Get:3 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf libhttp-parser2.8 armhf 2.8.1-1 [19.1 kB]
23:29:32 Get:11 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf python3-lib2to3 all 3.7.3-1 [76.7 kB]
23:29:33 Get:12 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf python3-distutils all 3.7.3-1 [142 kB]
23:29:33 Get:4 http://mirror.ossplanet.net/raspbian/raspbian buster/main armhf libllvm7 armhf 1:7.0.1-8+rpi3+deb10u2 [11.4 MB]
23:29:33 Get:13 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf dh-python all 3.20190308 [99.3 kB]
23:29:34 Get:14 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf libgirepository-1.0-1 armhf 1.58.3-2 [78.8 kB]
23:29:34 Get:15 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf gir1.2-glib-2.0 armhf 1.58.3-2 [143 kB]
23:29:34 Get:17 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf libffi-dev armhf 3.2.1-9 [159 kB]
23:29:34 Get:19 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf libpython3-dev armhf 3.7.3-1 [20.1 kB]
23:29:35 Get:20 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf python3-asn1crypto all 0.24.0-1 [78.2 kB]
23:29:35 Get:21 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf python3-cffi-backend armhf 1.12.2-1 [70.1 kB]
23:29:36 Get:24 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf python3-dbus armhf 1.2.8-3 [95.9 kB]
23:29:36 Get:26 http://raspbian.raspberrypi.org/raspbian buster/main armhf python3-dev armhf 3.7.3-1 [1264 B]
23:29:37 Get:27 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf python3-entrypoints all 0.3-1 [5508 B]
23:29:37 Get:28 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf python3-gi armhf 3.30.4-1 [161 kB]
23:29:38 Get:29 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf python3-secretstorage all 2.3.1-2 [14.2 kB]
23:29:38 Get:30 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf python3-keyring all 17.1.1-1 [43.1 kB]
23:29:38 Get:31 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf python3-keyrings.alt all 3.1.1-1 [18.2 kB]
23:29:38 Get:32 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf python3-linecache2 all 1.0.0-3 [12.4 kB]
23:29:38 Get:33 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf python3-setuptools all 40.8.0-1 [306 kB]
23:29:39 Get:34 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf python3-pbr all 4.2.0-5 [56.5 kB]
23:29:39 Get:35 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf python3-traceback2 all 1.4.0-5 [16.4 kB]
23:29:39 Get:36 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf python3-unittest2 all 1.1.0-6.1 [69.4 kB]
23:29:40 Get:37 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf python3-testresources all 2.0.0-2 [27.2 kB]
23:29:40 Get:38 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf python3-wheel all 0.32.3-2 [19.4 kB]
23:29:40 Get:39 http://mirror.isoc.org.il/pub/raspbian/raspbian buster/main armhf python3-xdg all 0.25-5 [35.9 kB]
23:29:41 Get:7 http://mirror.ossplanet.net/raspbian/raspbian buster/main armhf libstd-rust-1.41 armhf 1.41.1+dfsg1-1~deb10u1+rpi1 [12.0 MB]
23:30:15 Get:8 http://mirror.ossplanet.net/raspbian/raspbian buster/main armhf libstd-rust-dev armhf 1.41.1+dfsg1-1~deb10u1+rpi1 [24.0 MB]
23:31:15 Get:9 http://mirror.ossplanet.net/raspbian/raspbian buster/main armhf rustc armhf 1.41.1+dfsg1-1~deb10u1+rpi1 [1703 kB]
23:31:20 Get:10 http://mirror.ossplanet.net/raspbian/raspbian buster/main armhf cargo armhf 0.43.1-3~deb10u1+rpi1 [2586 kB]
23:31:31 Get:16 http://mirror.ossplanet.net/raspbian/raspbian buster/main armhf libexpat1-dev armhf 2.2.6-2+deb10u1 [127 kB]
23:31:32 Get:18 http://mirror.ossplanet.net/raspbian/raspbian buster/main armhf libpython3.7-dev armhf 3.7.3-2+deb10u3 [47.2 MB]
23:34:47 Get:22 http://mirror.ossplanet.net/raspbian/raspbian buster/main armhf python3-crypto armhf 2.6.1-9+b1 [251 kB]
23:34:55 Get:23 http://mirror.ossplanet.net/raspbian/raspbian buster/main armhf python3-cryptography armhf 2.6.1-3+deb10u2 [184 kB]
23:34:55 Get:25 http://mirror.ossplanet.net/raspbian/raspbian buster/main armhf python3.7-dev armhf 3.7.3-2+deb10u3 [513 kB]
23:34:55 Get:40 http://mirror.ossplanet.net/raspbian/raspbian buster/main armhf rust-gdb all 1.41.1+dfsg1-1~deb10u1+rpi1 [150 kB]
23:34:55 debconf: unable to initialize frontend: Dialog
23:34:55 debconf: (TERM is not set, so the dialog frontend is not usable.)
23:34:55 debconf: falling back to frontend: Readline
23:34:55 debconf: unable to initialize frontend: Readline
23:34:55 debconf: (This frontend requires a controlling tty.)
23:34:55 debconf: falling back to frontend: Teletype
23:34:55 dpkg-preconfigure: unable to re-open stdin: 
23:34:55 Fetched 105 MB in 5min 22s (328 kB/s)
23:34:55 Selecting previously unselected package libcurl3-gnutls:armhf.
23:34:55 (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 40517 files and directories currently installed.)
23:34:55 Preparing to unpack .../00-libcurl3-gnutls_7.64.0-4+deb10u2_armhf.deb ...
23:34:55 Unpacking libcurl3-gnutls:armhf (7.64.0-4+deb10u2) ...
23:34:55 Selecting previously unselected package libhttp-parser2.8:armhf.
23:34:55 Preparing to unpack .../01-libhttp-parser2.8_2.8.1-1_armhf.deb ...
23:34:55 Unpacking libhttp-parser2.8:armhf (2.8.1-1) ...
23:34:55 Selecting previously unselected package libllvm7:armhf.
23:34:55 Preparing to unpack .../02-libllvm7_1%3a7.0.1-8+rpi3+deb10u2_armhf.deb ...
23:34:55 Unpacking libllvm7:armhf (1:7.0.1-8+rpi3+deb10u2) ...
23:34:58 Selecting previously unselected package libstd-rust-1.41:armhf.
23:34:58 Preparing to unpack .../03-libstd-rust-1.41_1.41.1+dfsg1-1~deb10u1+rpi1_armhf.deb ...
23:34:58 Unpacking libstd-rust-1.41:armhf (1.41.1+dfsg1-1~deb10u1+rpi1) ...
23:35:03 Selecting previously unselected package libstd-rust-dev:armhf.
23:35:03 Preparing to unpack .../04-libstd-rust-dev_1.41.1+dfsg1-1~deb10u1+rpi1_armhf.deb ...
23:35:03 Unpacking libstd-rust-dev:armhf (1.41.1+dfsg1-1~deb10u1+rpi1) ...
23:35:09 Selecting previously unselected package rustc.
23:35:09 Preparing to unpack .../05-rustc_1.41.1+dfsg1-1~deb10u1+rpi1_armhf.deb ...
23:35:09 Unpacking rustc (1.41.1+dfsg1-1~deb10u1+rpi1) ...
23:35:10 Selecting previously unselected package cargo.
23:35:10 Preparing to unpack .../06-cargo_0.43.1-3~deb10u1+rpi1_armhf.deb ...
23:35:10 Unpacking cargo (0.43.1-3~deb10u1+rpi1) ...
23:35:11 Selecting previously unselected package python3-lib2to3.
23:35:11 Preparing to unpack .../07-python3-lib2to3_3.7.3-1_all.deb ...
23:35:11 Unpacking python3-lib2to3 (3.7.3-1) ...
23:35:11 Selecting previously unselected package python3-distutils.
23:35:11 Preparing to unpack .../08-python3-distutils_3.7.3-1_all.deb ...
23:35:11 Unpacking python3-distutils (3.7.3-1) ...
23:35:11 Selecting previously unselected package dh-python.
23:35:11 Preparing to unpack .../09-dh-python_3.20190308_all.deb ...
23:35:11 Unpacking dh-python (3.20190308) ...
23:35:11 Selecting previously unselected package libgirepository-1.0-1:armhf.
23:35:11 Preparing to unpack .../10-libgirepository-1.0-1_1.58.3-2_armhf.deb ...
23:35:11 Unpacking libgirepository-1.0-1:armhf (1.58.3-2) ...
23:35:12 Selecting previously unselected package gir1.2-glib-2.0:armhf.
23:35:12 Preparing to unpack .../11-gir1.2-glib-2.0_1.58.3-2_armhf.deb ...
23:35:12 Unpacking gir1.2-glib-2.0:armhf (1.58.3-2) ...
23:35:12 Selecting previously unselected package libexpat1-dev:armhf.
23:35:12 Preparing to unpack .../12-libexpat1-dev_2.2.6-2+deb10u1_armhf.deb ...
23:35:12 Unpacking libexpat1-dev:armhf (2.2.6-2+deb10u1) ...
23:35:12 Selecting previously unselected package libffi-dev:armhf.
23:35:12 Preparing to unpack .../13-libffi-dev_3.2.1-9_armhf.deb ...
23:35:12 Unpacking libffi-dev:armhf (3.2.1-9) ...
23:35:12 Selecting previously unselected package libpython3.7-dev:armhf.
23:35:12 Preparing to unpack .../14-libpython3.7-dev_3.7.3-2+deb10u3_armhf.deb ...
23:35:12 Unpacking libpython3.7-dev:armhf (3.7.3-2+deb10u3) ...
23:35:20 Selecting previously unselected package libpython3-dev:armhf.
23:35:20 Preparing to unpack .../15-libpython3-dev_3.7.3-1_armhf.deb ...
23:35:20 Unpacking libpython3-dev:armhf (3.7.3-1) ...
23:35:20 Selecting previously unselected package libssl-dev:armhf.
23:35:20 Preparing to unpack .../16-libssl-dev_1.1.1d-0+deb10u6+rpt1_armhf.deb ...
23:35:20 Unpacking libssl-dev:armhf (1.1.1d-0+deb10u6+rpt1) ...
23:35:21 Selecting previously unselected package python-pip-whl.
23:35:21 Preparing to unpack .../17-python-pip-whl_18.1-5+rpt1_all.deb ...
23:35:21 Unpacking python-pip-whl (18.1-5+rpt1) ...
23:35:22 Selecting previously unselected package python3-asn1crypto.
23:35:22 Preparing to unpack .../18-python3-asn1crypto_0.24.0-1_all.deb ...
23:35:22 Unpacking python3-asn1crypto (0.24.0-1) ...
23:35:22 Selecting previously unselected package python3-cffi-backend.
23:35:22 Preparing to unpack .../19-python3-cffi-backend_1.12.2-1_armhf.deb ...
23:35:22 Unpacking python3-cffi-backend (1.12.2-1) ...
23:35:23 Selecting previously unselected package python3-crypto.
23:35:23 Preparing to unpack .../20-python3-crypto_2.6.1-9+b1_armhf.deb ...
23:35:23 Unpacking python3-crypto (2.6.1-9+b1) ...
23:35:23 Selecting previously unselected package python3-cryptography.
23:35:23 Preparing to unpack .../21-python3-cryptography_2.6.1-3+deb10u2_armhf.deb ...
23:35:23 Unpacking python3-cryptography (2.6.1-3+deb10u2) ...
23:35:23 Selecting previously unselected package python3-dbus.
23:35:23 Preparing to unpack .../22-python3-dbus_1.2.8-3_armhf.deb ...
23:35:23 Unpacking python3-dbus (1.2.8-3) ...
23:35:23 Selecting previously unselected package python3.7-dev.
23:35:23 Preparing to unpack .../23-python3.7-dev_3.7.3-2+deb10u3_armhf.deb ...
23:35:23 Unpacking python3.7-dev (3.7.3-2+deb10u3) ...
23:35:23 Selecting previously unselected package python3-dev.
23:35:24 Preparing to unpack .../24-python3-dev_3.7.3-1_armhf.deb ...
23:35:24 Unpacking python3-dev (3.7.3-1) ...
23:35:24 Selecting previously unselected package python3-entrypoints.
23:35:24 Preparing to unpack .../25-python3-entrypoints_0.3-1_all.deb ...
23:35:24 Unpacking python3-entrypoints (0.3-1) ...
23:35:24 Selecting previously unselected package python3-gi.
23:35:24 Preparing to unpack .../26-python3-gi_3.30.4-1_armhf.deb ...
23:35:24 Unpacking python3-gi (3.30.4-1) ...
23:35:24 Selecting previously unselected package python3-secretstorage.
23:35:24 Preparing to unpack .../27-python3-secretstorage_2.3.1-2_all.deb ...
23:35:24 Unpacking python3-secretstorage (2.3.1-2) ...
23:35:24 Selecting previously unselected package python3-keyring.
23:35:24 Preparing to unpack .../28-python3-keyring_17.1.1-1_all.deb ...
23:35:24 Unpacking python3-keyring (17.1.1-1) ...
23:35:24 Selecting previously unselected package python3-keyrings.alt.
23:35:24 Preparing to unpack .../29-python3-keyrings.alt_3.1.1-1_all.deb ...
23:35:24 Unpacking python3-keyrings.alt (3.1.1-1) ...
23:35:24 Selecting previously unselected package python3-linecache2.
23:35:24 Preparing to unpack .../30-python3-linecache2_1.0.0-3_all.deb ...
23:35:24 Unpacking python3-linecache2 (1.0.0-3) ...
23:35:24 Selecting previously unselected package python3-setuptools.
23:35:24 Preparing to unpack .../31-python3-setuptools_40.8.0-1_all.deb ...
23:35:24 Unpacking python3-setuptools (40.8.0-1) ...
23:35:25 Selecting previously unselected package python3-pbr.
23:35:25 Preparing to unpack .../32-python3-pbr_4.2.0-5_all.deb ...
23:35:25 Unpacking python3-pbr (4.2.0-5) ...
23:35:25 Selecting previously unselected package python3-pip.
23:35:25 Preparing to unpack .../33-python3-pip_18.1-5+rpt1_all.deb ...
23:35:25 Unpacking python3-pip (18.1-5+rpt1) ...
23:35:25 Selecting previously unselected package python3-traceback2.
23:35:25 Preparing to unpack .../34-python3-traceback2_1.4.0-5_all.deb ...
23:35:25 Unpacking python3-traceback2 (1.4.0-5) ...
23:35:25 Selecting previously unselected package python3-unittest2.
23:35:25 Preparing to unpack .../35-python3-unittest2_1.1.0-6.1_all.deb ...
23:35:25 Unpacking python3-unittest2 (1.1.0-6.1) ...
23:35:25 Selecting previously unselected package python3-testresources.
23:35:25 Preparing to unpack .../36-python3-testresources_2.0.0-2_all.deb ...
23:35:25 Unpacking python3-testresources (2.0.0-2) ...
23:35:25 Selecting previously unselected package python3-wheel.
23:35:25 Preparing to unpack .../37-python3-wheel_0.32.3-2_all.deb ...
23:35:25 Unpacking python3-wheel (0.32.3-2) ...
23:35:26 Selecting previously unselected package python3-xdg.
23:35:26 Preparing to unpack .../38-python3-xdg_0.25-5_all.deb ...
23:35:26 Unpacking python3-xdg (0.25-5) ...
23:35:26 Selecting previously unselected package rust-gdb.
23:35:26 Preparing to unpack .../39-rust-gdb_1.41.1+dfsg1-1~deb10u1+rpi1_all.deb ...
23:35:26 Unpacking rust-gdb (1.41.1+dfsg1-1~deb10u1+rpi1) ...
23:35:26 Setting up python3-entrypoints (0.3-1) ...
23:35:27 Setting up python3-dbus (1.2.8-3) ...
23:35:27 Setting up libcurl3-gnutls:armhf (7.64.0-4+deb10u2) ...
23:35:27 Setting up python3-xdg (0.25-5) ...
23:35:28 Setting up libffi-dev:armhf (3.2.1-9) ...
23:35:28 Setting up rust-gdb (1.41.1+dfsg1-1~deb10u1+rpi1) ...
23:35:28 Setting up python3-wheel (0.32.3-2) ...
23:35:28 Setting up libexpat1-dev:armhf (2.2.6-2+deb10u1) ...
23:35:28 Setting up python3-linecache2 (1.0.0-3) ...
23:35:29 Setting up libssl-dev:armhf (1.1.1d-0+deb10u6+rpt1) ...
23:35:29 Setting up libllvm7:armhf (1:7.0.1-8+rpi3+deb10u2) ...
23:35:29 Setting up python3-crypto (2.6.1-9+b1) ...
23:35:30 Setting up libgirepository-1.0-1:armhf (1.58.3-2) ...
23:35:30 Setting up python-pip-whl (18.1-5+rpt1) ...
23:35:30 Setting up libhttp-parser2.8:armhf (2.8.1-1) ...
23:35:30 Setting up python3-lib2to3 (3.7.3-1) ...
23:35:30 Setting up python3-asn1crypto (0.24.0-1) ...
23:35:31 Setting up python3-cffi-backend (1.12.2-1) ...
23:35:31 Setting up python3-distutils (3.7.3-1) ...
23:35:31 Setting up dh-python (3.20190308) ...
23:35:32 Setting up python3-setuptools (40.8.0-1) ...
23:35:33 Setting up python3-pbr (4.2.0-5) ...
23:35:33 update-alternatives: using /usr/bin/python3-pbr to provide /usr/bin/pbr (pbr) in auto mode
23:35:33 Setting up libstd-rust-1.41:armhf (1.41.1+dfsg1-1~deb10u1+rpi1) ...
23:35:33 Setting up libpython3.7-dev:armhf (3.7.3-2+deb10u3) ...
23:35:33 Setting up python3-traceback2 (1.4.0-5) ...
23:35:34 Setting up python3.7-dev (3.7.3-2+deb10u3) ...
23:35:34 Setting up libstd-rust-dev:armhf (1.41.1+dfsg1-1~deb10u1+rpi1) ...
23:35:34 Setting up python3-cryptography (2.6.1-3+deb10u2) ...
23:35:35 Setting up python3-unittest2 (1.1.0-6.1) ...
23:35:35 update-alternatives: using /usr/bin/python3-unit2 to provide /usr/bin/unit2 (unit2) in auto mode
23:35:35 Setting up gir1.2-glib-2.0:armhf (1.58.3-2) ...
23:35:35 Setting up python3-pip (18.1-5+rpt1) ...
23:35:36 Setting up rustc (1.41.1+dfsg1-1~deb10u1+rpi1) ...
23:35:36 Setting up python3-keyrings.alt (3.1.1-1) ...
23:35:37 Setting up python3-testresources (2.0.0-2) ...
23:35:37 Setting up libpython3-dev:armhf (3.7.3-1) ...
23:35:37 Setting up cargo (0.43.1-3~deb10u1+rpi1) ...
23:35:37 Setting up python3-secretstorage (2.3.1-2) ...
23:35:38 Setting up python3-dev (3.7.3-1) ...
23:35:38 Setting up python3-gi (3.30.4-1) ...
23:35:38 Setting up python3-keyring (17.1.1-1) ...
23:35:39 Processing triggers for libc-bin (2.28-10+rpi1) ...
23:35:40 Processing triggers for man-db (2.8.5-2) ...
23:35:41 Processing triggers for install-info (6.5.0.dfsg.1-4+b1) ...
23:35:42 + pip3 install --ignore-installed PyYAML
23:35:45 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
23:35:45 Collecting PyYAML
23:35:47   Downloading https://files.pythonhosted.org/packages/a0/a4/d63f2d7597e1a4b55aa3b4d6c5b029991d3b824b5bd331af8d4ab1ed687d/PyYAML-5.4.1.tar.gz (175kB)
23:35:48   Installing build dependencies: started
23:36:01   Installing build dependencies: finished with status 'done'
23:36:08 Building wheels for collected packages: PyYAML
23:36:08   Running setup.py bdist_wheel for PyYAML: started
23:36:11   Running setup.py bdist_wheel for PyYAML: finished with status 'done'
23:36:11   Stored in directory: /root/.cache/pip/wheels/2a/d4/92/cf299bdf4162957ca8126b46e913e29f76a4f17ca762c45028
23:36:11 Successfully built PyYAML
23:36:11 Installing collected packages: PyYAML
23:36:11 Successfully installed PyYAML-5.4.1
23:36:11 + pip3 install docker-compose
23:36:15 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
23:36:15 Collecting docker-compose
23:36:16   Downloading https://files.pythonhosted.org/packages/f3/3e/ca05e486d44e38eb495ca60b8ca526b192071717387346ed1031ecf78966/docker_compose-1.29.2-py2.py3-none-any.whl (114kB)
23:36:17 Collecting cached-property<2,>=1.2.0; python_version < "3.8" (from docker-compose)
23:36:17   Downloading https://files.pythonhosted.org/packages/48/19/f2090f7dad41e225c7f2326e4cfe6fff49e57dedb5b53636c9551f86b069/cached_property-1.5.2-py2.py3-none-any.whl
23:36:17 Collecting docker[ssh]>=5 (from docker-compose)
23:36:17   Downloading https://files.pythonhosted.org/packages/b2/5a/f988909dfed18c1ac42ad8d9e611e6c5657e270aa6eb68559985dbb69c13/docker-5.0.0-py2.py3-none-any.whl (146kB)
23:36:18 Collecting python-dotenv<1,>=0.13.0 (from docker-compose)
23:36:18   Downloading https://files.pythonhosted.org/packages/f5/d6/4b6268fad900fcb064e4344aa563b22688f0b38dcd857b500b2b5cc445c6/python_dotenv-0.19.0-py2.py3-none-any.whl
23:36:18 Requirement already satisfied: requests<3,>=2.20.0 in /usr/lib/python3/dist-packages (from docker-compose) (2.21.0)
23:36:18 Requirement already satisfied: PyYAML<6,>=3.10 in /usr/local/lib/python3.7/dist-packages (from docker-compose) (5.4.1)
23:36:18 Collecting websocket-client<1,>=0.32.0 (from docker-compose)
23:36:18   Downloading https://files.pythonhosted.org/packages/f7/0c/d52a2a63512a613817846d430d16a8fbe5ea56dd889e89c68facf6b91cb6/websocket_client-0.59.0-py2.py3-none-any.whl (67kB)
23:36:19 Collecting docopt<1,>=0.6.1 (from docker-compose)
23:36:19   Downloading https://www.piwheels.org/simple/docopt/docopt-0.6.2-py2.py3-none-any.whl
23:36:19 Collecting dockerpty<1,>=0.4.1 (from docker-compose)
23:36:19   Downloading https://www.piwheels.org/simple/dockerpty/dockerpty-0.4.1-py3-none-any.whl
23:36:19 Collecting jsonschema<4,>=2.5.1 (from docker-compose)
23:36:20   Downloading https://files.pythonhosted.org/packages/c5/8f/51e89ce52a085483359217bc72cdbf6e75ee595d5b1d4b5ade40c7e018b8/jsonschema-3.2.0-py2.py3-none-any.whl (56kB)
23:36:20 Collecting texttable<2,>=0.9.0 (from docker-compose)
23:36:20   Downloading https://files.pythonhosted.org/packages/75/23/8170868d04b153b1b9ed1bb84348212bb4a08f31b292ef9d7f6ea648fd49/texttable-1.6.4-py2.py3-none-any.whl
23:36:20 Collecting distro<2,>=1.5.0 (from docker-compose)
23:36:21   Downloading https://files.pythonhosted.org/packages/b3/8d/a0a5c389d76f90c766e956515d34c3408a1e18f60fbaa08221d1f6b87490/distro-1.6.0-py2.py3-none-any.whl
23:36:21 Collecting paramiko>=2.4.2; extra == "ssh" (from docker[ssh]>=5->docker-compose)
23:36:21   Downloading https://files.pythonhosted.org/packages/95/19/124e9287b43e6ff3ebb9cdea3e5e8e88475a873c05ccdf8b7e20d2c4201e/paramiko-2.7.2-py2.py3-none-any.whl (206kB)
23:36:21 Requirement already satisfied: six in /usr/lib/python3/dist-packages (from websocket-client<1,>=0.32.0->docker-compose) (1.12.0)
23:36:21 Collecting importlib-metadata; python_version < "3.8" (from jsonschema<4,>=2.5.1->docker-compose)
23:36:22   Downloading https://files.pythonhosted.org/packages/07/76/c4674c460f5ff4b5f7a962214e46295e20504dfde9fcba78fd728dfe2ac9/importlib_metadata-4.6.3-py3-none-any.whl
23:36:22 Collecting attrs>=17.4.0 (from jsonschema<4,>=2.5.1->docker-compose)
23:36:22   Downloading https://files.pythonhosted.org/packages/20/a9/ba6f1cd1a1517ff022b35acd6a7e4246371dfab08b8e42b829b6d07913cc/attrs-21.2.0-py2.py3-none-any.whl (53kB)
23:36:23 Collecting pyrsistent>=0.14.0 (from jsonschema<4,>=2.5.1->docker-compose)
23:36:23   Downloading https://files.pythonhosted.org/packages/f4/d7/0fa558c4fb00f15aabc6d42d365fcca7a15fcc1091cd0f5784a14f390b7f/pyrsistent-0.18.0.tar.gz (104kB)
23:36:23   Installing build dependencies: started
23:36:31   Installing build dependencies: finished with status 'done'
23:36:32 Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from jsonschema<4,>=2.5.1->docker-compose) (40.8.0)
23:36:32 Requirement already satisfied: cryptography>=2.5 in /usr/lib/python3/dist-packages (from paramiko>=2.4.2; extra == "ssh"->docker[ssh]>=5->docker-compose) (2.6.1)
23:36:32 Collecting bcrypt>=3.1.3 (from paramiko>=2.4.2; extra == "ssh"->docker[ssh]>=5->docker-compose)
23:36:33   Downloading https://files.pythonhosted.org/packages/d8/ba/21c475ead997ee21502d30f76fd93ad8d5858d19a3fad7cd153de698c4dd/bcrypt-3.2.0.tar.gz (42kB)
23:36:33   Installing build dependencies: started
23:36:58   Installing build dependencies: finished with status 'done'
23:36:59 Collecting pynacl>=1.0.1 (from paramiko>=2.4.2; extra == "ssh"->docker[ssh]>=5->docker-compose)
23:37:00   Downloading https://files.pythonhosted.org/packages/cf/5a/25aeb636baeceab15c8e57e66b8aa930c011ec1c035f284170cacb05025e/PyNaCl-1.4.0.tar.gz (3.4MB)
23:37:02   Installing build dependencies: started
23:37:12   Installing build dependencies: finished with status 'done'
23:37:14 Collecting zipp>=0.5 (from importlib-metadata; python_version < "3.8"->jsonschema<4,>=2.5.1->docker-compose)
23:37:15   Downloading https://files.pythonhosted.org/packages/92/d9/89f433969fb8dc5b9cbdd4b4deb587720ec1aeb59a020cf15002b9593eef/zipp-3.5.0-py3-none-any.whl
23:37:15 Collecting typing-extensions>=3.6.4; python_version < "3.8" (from importlib-metadata; python_version < "3.8"->jsonschema<4,>=2.5.1->docker-compose)
23:37:15   Downloading https://files.pythonhosted.org/packages/2e/35/6c4fff5ab443b57116cb1aad46421fb719bed2825664e8fe77d66d99bcbc/typing_extensions-3.10.0.0-py3-none-any.whl
23:37:15 Collecting cffi>=1.1 (from bcrypt>=3.1.3->paramiko>=2.4.2; extra == "ssh"->docker[ssh]>=5->docker-compose)
23:37:17 Collecting pycparser (from cffi>=1.1->bcrypt>=3.1.3->paramiko>=2.4.2; extra == "ssh"->docker[ssh]>=5->docker-compose)
23:37:17   Using cached https://files.pythonhosted.org/packages/ae/e7/d9c3a176ca4b02024debf82342dab36efadfc5776f9c8db077e8f6e71821/pycparser-2.20-py2.py3-none-any.whl
23:37:17 Building wheels for collected packages: pyrsistent, bcrypt, pynacl
23:37:17   Running setup.py bdist_wheel for pyrsistent: started
23:37:20   Running setup.py bdist_wheel for pyrsistent: finished with status 'done'
23:37:20   Stored in directory: /root/.cache/pip/wheels/ac/d9/e0/191232e81cfed175486a03c7c7b0ec02e269b4b479b99d1106
23:37:20   Running setup.py bdist_wheel for bcrypt: started
23:37:23   Running setup.py bdist_wheel for bcrypt: finished with status 'done'
23:37:23   Stored in directory: /root/.cache/pip/wheels/df/ff/0f/e588ec95ea51f480627d66264f5587f4105694ab7ddd61e711
23:37:23   Running setup.py bdist_wheel for pynacl: started
23:38:28   Running setup.py bdist_wheel for pynacl: still running...
23:39:29   Running setup.py bdist_wheel for pynacl: still running...
23:40:30   Running setup.py bdist_wheel for pynacl: still running...
23:41:35   Running setup.py bdist_wheel for pynacl: still running...
23:42:36   Running setup.py bdist_wheel for pynacl: still running...
23:43:39   Running setup.py bdist_wheel for pynacl: still running...
23:44:44   Running setup.py bdist_wheel for pynacl: still running...
23:45:48   Running setup.py bdist_wheel for pynacl: still running...
23:46:48   Running setup.py bdist_wheel for pynacl: still running...
23:47:55   Running setup.py bdist_wheel for pynacl: still running...
23:48:59   Running setup.py bdist_wheel for pynacl: still running...
23:50:00   Running setup.py bdist_wheel for pynacl: still running...
23:51:06   Running setup.py bdist_wheel for pynacl: still running...
23:52:06   Running setup.py bdist_wheel for pynacl: still running...
23:52:43   Running setup.py bdist_wheel for pynacl: finished with status 'done'
23:52:43   Stored in directory: /root/.cache/pip/wheels/c2/d9/ca/81e002fb0cee770c198715dace9edab919daba3ae49bd287a0
23:52:44 Successfully built pyrsistent bcrypt pynacl
davidzwa commented 3 years ago
apt-get install -y python3 python3-distutils python3-dev python3-testresources gcc libffi-dev build-essential libssl-dev cargo python3-pip

There's a lot more in that install than what I am using.

sudo apt-get install libffi-dev libssl-dev
sudo apt install python3-dev
sudo apt-get install -y python3 python3-pip

The package difference:

I highly suggest removing these build tool related packages like gcc and cargo (rust?) what you dont need as these are the cause for version constraints failing (I assume).

davidzwa commented 3 years ago

Here's my log when building for raspbian. The build takes around 5 minutes in total.

+ echo 'This is a module variable'
This is a module variable
+ sudo apt-get update
sudo: unable to resolve host 362f98fef28d: Name or service not known
Get:1 http://raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB]
Get:2 http://archive.raspberrypi.org/debian buster InRelease [32.6 kB]
Get:3 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages [13.0 MB]
Get:4 http://archive.raspberrypi.org/debian buster/main armhf Packages [378 kB]
Get:5 http://raspbian.raspberrypi.org/raspbian buster/contrib armhf Packages [58.7 kB]
Get:6 http://raspbian.raspberrypi.org/raspbian buster/non-free armhf Packages [104 kB]
Fetched 13.6 MB in 7s (1985 kB/s)
Reading package lists...
+ curl -sSL https://get.docker.com
+ sh
# Executing docker install script, commit: 0e685c6ac0bddd7b2ba7bcaaeb519746ad249a29

WSL DETECTED: We recommend using Docker Desktop for Windows.
Please get Docker Desktop from https://www.docker.com/products/docker-desktop

You may press Ctrl+C now to abort this script.
+ sleep 20
+ sh -c apt-get update -qq >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
+ sh -c curl -fsSL "https://download.docker.com/linux/raspbian/gpg" | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
+ sh -c echo "deb [arch=armhf signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/raspbian buster stable" > /etc/apt/sources.list.d/docker.list
+ sh -c apt-get update -qq >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq --no-install-recommends  docker-ce-cli docker-ce >/dev/null
+ version_gte 20.10
+ [ -z  ]
+ return 0
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq docker-ce-rootless-extras >/dev/null

================================================================================

To run Docker as a non-privileged user, consider setting up the
Docker daemon in rootless mode for your user:

    dockerd-rootless-setuptool.sh install

Visit https://docs.docker.com/go/rootless/ to learn about rootless mode.

To run the Docker daemon as a fully privileged service, but granting non-root
users access, refer to https://docs.docker.com/go/daemon-access/

WARNING: Access to the remote API on a privileged Docker daemon is equivalent
         to root access on the host. Refer to the 'Docker daemon attack surface'
         documentation for details: https://docs.docker.com/go/attack-surface/

================================================================================

+ sudo usermod -aG docker pi
sudo: unable to resolve host 362f98fef28d: Name or service not known
+ sudo apt -y install libffi-dev libssl-dev
sudo: unable to resolve host 362f98fef28d: Name or service not known

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  libssl1.1
Suggested packages:
  libssl-doc
The following NEW packages will be installed:
  libffi-dev libssl-dev
The following packages will be upgraded:
  libssl1.1
1 upgraded, 2 newly installed, 0 to remove and 116 not upgraded.
Need to get 3020 kB of archives.
After this operation, 6276 kB of additional disk space will be used.
Get:1 http://archive.raspberrypi.org/debian buster/main armhf libssl1.1 armhf 1.1.1d-0+deb10u6+rpt1 [1277 kB]
Get:2 http://mirror.serverius.net/raspbian/raspbian buster/main armhf libffi-dev armhf 3.2.1-9 [159 kB]
Get:3 http://archive.raspberrypi.org/debian buster/main armhf libssl-dev armhf 1.1.1d-0+deb10u6+rpt1 [1584 kB]
apt-listchanges: Reading changelogs...
Preconfiguring packages ...
Fetched 3020 kB in 1s (5366 kB/s)
Selecting previously unselected package libffi-dev:armhf.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 40086 files and directories currently installed.)
Preparing to unpack .../libffi-dev_3.2.1-9_armhf.deb ...
Unpacking libffi-dev:armhf (3.2.1-9) ...
Preparing to unpack .../libssl1.1_1.1.1d-0+deb10u6+rpt1_armhf.deb ...
Unpacking libssl1.1:armhf (1.1.1d-0+deb10u6+rpt1) over (1.1.1d-0+deb10u2+rpt1) ...
Selecting previously unselected package libssl-dev:armhf.
Preparing to unpack .../libssl-dev_1.1.1d-0+deb10u6+rpt1_armhf.deb ...
Unpacking libssl-dev:armhf (1.1.1d-0+deb10u6+rpt1) ...
Setting up libssl1.1:armhf (1.1.1d-0+deb10u6+rpt1) ...
Setting up libffi-dev:armhf (3.2.1-9) ...
Setting up libssl-dev:armhf (1.1.1d-0+deb10u6+rpt1) ...
Processing triggers for libc-bin (2.28-10+rpi1) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for install-info (6.5.0.dfsg.1-4+b1) ...
+ sudo apt -y install python3-dev
sudo: unable to resolve host 362f98fef28d: Name or service not known

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  dh-python libexpat1-dev libpython3-dev libpython3.7 libpython3.7-dev
  libpython3.7-minimal libpython3.7-stdlib python3-distutils python3-lib2to3
  python3.7 python3.7-dev python3.7-minimal
Suggested packages:
  python3.7-venv python3.7-doc binfmt-support
The following NEW packages will be installed:
  dh-python libexpat1-dev libpython3-dev libpython3.7-dev python3-dev
  python3-distutils python3-lib2to3 python3.7-dev
The following packages will be upgraded:
  libpython3.7 libpython3.7-minimal libpython3.7-stdlib python3.7
  python3.7-minimal
5 upgraded, 8 newly installed, 0 to remove and 111 not upgraded.
Need to get 53.5 MB of archives.
After this operation, 73.8 MB of additional disk space will be used.
Get:1 http://mirror.serverius.net/raspbian/raspbian buster/main armhf python3.7 armhf 3.7.3-2+deb10u3 [330 kB]
Get:2 http://mirror.serverius.net/raspbian/raspbian buster/main armhf libpython3.7 armhf 3.7.3-2+deb10u3 [1253 kB]
Get:3 http://mirror.serverius.net/raspbian/raspbian buster/main armhf libpython3.7-stdlib armhf 3.7.3-2+deb10u3 [1664 kB]
Get:4 http://mirror.serverius.net/raspbian/raspbian buster/main armhf python3.7-minimal armhf 3.7.3-2+deb10u3 [1464 kB]
Get:5 http://mirror.serverius.net/raspbian/raspbian buster/main armhf libpython3.7-minimal armhf 3.7.3-2+deb10u3 [583 kB]
Get:6 http://mirror.serverius.net/raspbian/raspbian buster/main armhf python3-lib2to3 all 3.7.3-1 [76.7 kB]
Get:7 http://mirror.serverius.net/raspbian/raspbian buster/main armhf python3-distutils all 3.7.3-1 [142 kB]
Get:8 http://mirror.serverius.net/raspbian/raspbian buster/main armhf dh-python all 3.20190308 [99.3 kB]
Get:9 http://mirror.serverius.net/raspbian/raspbian buster/main armhf libexpat1-dev armhf 2.2.6-2+deb10u1 [127 kB]
Get:10 http://mirror.serverius.net/raspbian/raspbian buster/main armhf libpython3.7-dev armhf 3.7.3-2+deb10u3 [47.2 MB]
Get:13 http://raspbian.raspberrypi.org/raspbian buster/main armhf python3-dev armhf 3.7.3-1 [1264 B]
Get:11 http://mirror.serverius.net/raspbian/raspbian buster/main armhf libpython3-dev armhf 3.7.3-1 [20.1 kB]
Get:12 http://mirror.serverius.net/raspbian/raspbian buster/main armhf python3.7-dev armhf 3.7.3-2+deb10u3 [513 kB]
apt-listchanges: Reading changelogs...
Fetched 53.5 MB in 7s (8025 kB/s)
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 40238 files and directories currently installed.)
Preparing to unpack .../00-python3.7_3.7.3-2+deb10u3_armhf.deb ...
Unpacking python3.7 (3.7.3-2+deb10u3) over (3.7.3-2+deb10u1) ...
Preparing to unpack .../01-libpython3.7_3.7.3-2+deb10u3_armhf.deb ...
Unpacking libpython3.7:armhf (3.7.3-2+deb10u3) over (3.7.3-2+deb10u1) ...
Preparing to unpack .../02-libpython3.7-stdlib_3.7.3-2+deb10u3_armhf.deb ...
Unpacking libpython3.7-stdlib:armhf (3.7.3-2+deb10u3) over (3.7.3-2+deb10u1) ...
Preparing to unpack .../03-python3.7-minimal_3.7.3-2+deb10u3_armhf.deb ...
Unpacking python3.7-minimal (3.7.3-2+deb10u3) over (3.7.3-2+deb10u1) ...
Preparing to unpack .../04-libpython3.7-minimal_3.7.3-2+deb10u3_armhf.deb ...
Unpacking libpython3.7-minimal:armhf (3.7.3-2+deb10u3) over (3.7.3-2+deb10u1) ...
Selecting previously unselected package python3-lib2to3.
Preparing to unpack .../05-python3-lib2to3_3.7.3-1_all.deb ...
Unpacking python3-lib2to3 (3.7.3-1) ...
Selecting previously unselected package python3-distutils.
Preparing to unpack .../06-python3-distutils_3.7.3-1_all.deb ...
Unpacking python3-distutils (3.7.3-1) ...
Selecting previously unselected package dh-python.
Preparing to unpack .../07-dh-python_3.20190308_all.deb ...
Unpacking dh-python (3.20190308) ...
Selecting previously unselected package libexpat1-dev:armhf.
Preparing to unpack .../08-libexpat1-dev_2.2.6-2+deb10u1_armhf.deb ...
Unpacking libexpat1-dev:armhf (2.2.6-2+deb10u1) ...
Selecting previously unselected package libpython3.7-dev:armhf.
Preparing to unpack .../09-libpython3.7-dev_3.7.3-2+deb10u3_armhf.deb ...
Unpacking libpython3.7-dev:armhf (3.7.3-2+deb10u3) ...
Selecting previously unselected package libpython3-dev:armhf.
Preparing to unpack .../10-libpython3-dev_3.7.3-1_armhf.deb ...
Unpacking libpython3-dev:armhf (3.7.3-1) ...
Selecting previously unselected package python3.7-dev.
Preparing to unpack .../11-python3.7-dev_3.7.3-2+deb10u3_armhf.deb ...
Unpacking python3.7-dev (3.7.3-2+deb10u3) ...
Selecting previously unselected package python3-dev.
Preparing to unpack .../12-python3-dev_3.7.3-1_armhf.deb ...
Unpacking python3-dev (3.7.3-1) ...
Setting up libpython3.7-minimal:armhf (3.7.3-2+deb10u3) ...
Setting up libexpat1-dev:armhf (2.2.6-2+deb10u1) ...
Setting up python3.7-minimal (3.7.3-2+deb10u3) ...
Setting up python3-lib2to3 (3.7.3-1) ...
Setting up python3-distutils (3.7.3-1) ...
Setting up dh-python (3.20190308) ...
Setting up libpython3.7-stdlib:armhf (3.7.3-2+deb10u3) ...
Setting up libpython3.7:armhf (3.7.3-2+deb10u3) ...
Setting up libpython3.7-dev:armhf (3.7.3-2+deb10u3) ...
Setting up python3.7 (3.7.3-2+deb10u3) ...
Setting up libpython3-dev:armhf (3.7.3-1) ...
Setting up python3.7-dev (3.7.3-2+deb10u3) ...
Setting up python3-dev (3.7.3-1) ...
Processing triggers for libc-bin (2.28-10+rpi1) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for mime-support (3.62) ...
+ sudo apt -y install python3 python3-pip
sudo: unable to resolve host 362f98fef28d: Name or service not known

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
python3 is already the newest version (3.7.3-1).
python3 set to manually installed.
The following additional packages will be installed:
  gir1.2-glib-2.0 libgirepository-1.0-1 python-pip-whl python3-asn1crypto
  python3-cffi-backend python3-crypto python3-cryptography python3-dbus
  python3-entrypoints python3-gi python3-keyring python3-keyrings.alt
  python3-secretstorage python3-setuptools python3-wheel python3-xdg
Suggested packages:
  python-crypto-doc python-cryptography-doc python3-cryptography-vectors
  python-dbus-doc python3-dbus-dbg gnome-keyring libkf5wallet-bin
  gir1.2-gnomekeyring-1.0 python-secretstorage-doc python-setuptools-doc
The following NEW packages will be installed:
  gir1.2-glib-2.0 libgirepository-1.0-1 python-pip-whl python3-asn1crypto
  python3-cffi-backend python3-crypto python3-cryptography python3-dbus
  python3-entrypoints python3-gi python3-keyring python3-keyrings.alt
  python3-pip python3-secretstorage python3-setuptools python3-wheel
  python3-xdg
0 upgraded, 17 newly installed, 0 to remove and 111 not upgraded.
Need to get 3265 kB of archives.
After this operation, 10.5 MB of additional disk space will be used.
Get:1 http://archive.raspberrypi.org/debian buster/main armhf python-pip-whl all 18.1-5+rpt1 [1591 kB]
Get:3 http://archive.raspberrypi.org/debian buster/main armhf python3-pip all 18.1-5+rpt1 [171 kB]
Get:2 http://mirror.serverius.net/raspbian/raspbian buster/main armhf libgirepository-1.0-1 armhf 1.58.3-2 [78.8 kB]
Get:4 http://mirror.serverius.net/raspbian/raspbian buster/main armhf gir1.2-glib-2.0 armhf 1.58.3-2 [143 kB]
Get:5 http://mirror.serverius.net/raspbian/raspbian buster/main armhf python3-asn1crypto all 0.24.0-1 [78.2 kB]
Get:6 http://mirror.serverius.net/raspbian/raspbian buster/main armhf python3-cffi-backend armhf 1.12.2-1 [70.1 kB]
Get:7 http://mirror.serverius.net/raspbian/raspbian buster/main armhf python3-crypto armhf 2.6.1-9+b1 [251 kB]
Get:8 http://mirror.serverius.net/raspbian/raspbian buster/main armhf python3-cryptography armhf 2.6.1-3+deb10u2 [184 kB]
Get:9 http://mirror.serverius.net/raspbian/raspbian buster/main armhf python3-dbus armhf 1.2.8-3 [95.9 kB]
Get:10 http://mirror.serverius.net/raspbian/raspbian buster/main armhf python3-entrypoints all 0.3-1 [5508 B]
Get:11 http://mirror.serverius.net/raspbian/raspbian buster/main armhf python3-gi armhf 3.30.4-1 [161 kB]
Get:12 http://mirror.serverius.net/raspbian/raspbian buster/main armhf python3-secretstorage all 2.3.1-2 [14.2 kB]
Get:13 http://mirror.serverius.net/raspbian/raspbian buster/main armhf python3-keyring all 17.1.1-1 [43.1 kB]
Get:14 http://mirror.serverius.net/raspbian/raspbian buster/main armhf python3-keyrings.alt all 3.1.1-1 [18.2 kB]
Get:15 http://mirror.serverius.net/raspbian/raspbian buster/main armhf python3-setuptools all 40.8.0-1 [306 kB]
Get:16 http://mirror.serverius.net/raspbian/raspbian buster/main armhf python3-wheel all 0.32.3-2 [19.4 kB]
Get:17 http://mirror.serverius.net/raspbian/raspbian buster/main armhf python3-xdg all 0.25-5 [35.9 kB]
Fetched 3265 kB in 18s (185 kB/s)
Selecting previously unselected package libgirepository-1.0-1:armhf.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 40610 files and directories currently installed.)
Preparing to unpack .../00-libgirepository-1.0-1_1.58.3-2_armhf.deb ...
Unpacking libgirepository-1.0-1:armhf (1.58.3-2) ...
Selecting previously unselected package gir1.2-glib-2.0:armhf.
Preparing to unpack .../01-gir1.2-glib-2.0_1.58.3-2_armhf.deb ...
Unpacking gir1.2-glib-2.0:armhf (1.58.3-2) ...
Selecting previously unselected package python-pip-whl.
Preparing to unpack .../02-python-pip-whl_18.1-5+rpt1_all.deb ...
Unpacking python-pip-whl (18.1-5+rpt1) ...
Selecting previously unselected package python3-asn1crypto.
Preparing to unpack .../03-python3-asn1crypto_0.24.0-1_all.deb ...
Unpacking python3-asn1crypto (0.24.0-1) ...
Selecting previously unselected package python3-cffi-backend.
Preparing to unpack .../04-python3-cffi-backend_1.12.2-1_armhf.deb ...
Unpacking python3-cffi-backend (1.12.2-1) ...
Selecting previously unselected package python3-crypto.
Preparing to unpack .../05-python3-crypto_2.6.1-9+b1_armhf.deb ...
Unpacking python3-crypto (2.6.1-9+b1) ...
Selecting previously unselected package python3-cryptography.
Preparing to unpack .../06-python3-cryptography_2.6.1-3+deb10u2_armhf.deb ...
Unpacking python3-cryptography (2.6.1-3+deb10u2) ...
Selecting previously unselected package python3-dbus.
Preparing to unpack .../07-python3-dbus_1.2.8-3_armhf.deb ...
Unpacking python3-dbus (1.2.8-3) ...
Selecting previously unselected package python3-entrypoints.
Preparing to unpack .../08-python3-entrypoints_0.3-1_all.deb ...
Unpacking python3-entrypoints (0.3-1) ...
Selecting previously unselected package python3-gi.
Preparing to unpack .../09-python3-gi_3.30.4-1_armhf.deb ...
Unpacking python3-gi (3.30.4-1) ...
Selecting previously unselected package python3-secretstorage.
Preparing to unpack .../10-python3-secretstorage_2.3.1-2_all.deb ...
Unpacking python3-secretstorage (2.3.1-2) ...
Selecting previously unselected package python3-keyring.
Preparing to unpack .../11-python3-keyring_17.1.1-1_all.deb ...
Unpacking python3-keyring (17.1.1-1) ...
Selecting previously unselected package python3-keyrings.alt.
Preparing to unpack .../12-python3-keyrings.alt_3.1.1-1_all.deb ...
Unpacking python3-keyrings.alt (3.1.1-1) ...
Selecting previously unselected package python3-pip.
Preparing to unpack .../13-python3-pip_18.1-5+rpt1_all.deb ...
Unpacking python3-pip (18.1-5+rpt1) ...
Selecting previously unselected package python3-setuptools.
Preparing to unpack .../14-python3-setuptools_40.8.0-1_all.deb ...
Unpacking python3-setuptools (40.8.0-1) ...
Selecting previously unselected package python3-wheel.
Preparing to unpack .../15-python3-wheel_0.32.3-2_all.deb ...
Unpacking python3-wheel (0.32.3-2) ...
Selecting previously unselected package python3-xdg.
Preparing to unpack .../16-python3-xdg_0.25-5_all.deb ...
Unpacking python3-xdg (0.25-5) ...
Setting up python3-entrypoints (0.3-1) ...
Setting up python3-dbus (1.2.8-3) ...
Setting up python3-setuptools (40.8.0-1) ...
Setting up python3-xdg (0.25-5) ...
Setting up python3-wheel (0.32.3-2) ...
Setting up python3-crypto (2.6.1-9+b1) ...
Setting up libgirepository-1.0-1:armhf (1.58.3-2) ...
Setting up python-pip-whl (18.1-5+rpt1) ...
Setting up python3-asn1crypto (0.24.0-1) ...
Setting up python3-cffi-backend (1.12.2-1) ...
Setting up python3-cryptography (2.6.1-3+deb10u2) ...
Setting up gir1.2-glib-2.0:armhf (1.58.3-2) ...
Setting up python3-pip (18.1-5+rpt1) ...
Setting up python3-keyrings.alt (3.1.1-1) ...
Setting up python3-secretstorage (2.3.1-2) ...
Setting up python3-gi (3.30.4-1) ...
Setting up python3-keyring (17.1.1-1) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for libc-bin (2.28-10+rpi1) ...
+ sudo pip3 install docker-compose
sudo: unable to resolve host 362f98fef28d: Name or service not known
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting docker-compose
  Downloading https://files.pythonhosted.org/packages/f3/3e/ca05e486d44e38eb495ca60b8ca526b192071717387346ed1031ecf78966/docker_compose-1.29.2-py2.py3-none-any.whl (114kB)
Collecting docopt<1,>=0.6.1 (from docker-compose)
  Downloading https://www.piwheels.org/simple/docopt/docopt-0.6.2-py2.py3-none-any.whl
Requirement already satisfied: requests<3,>=2.20.0 in /usr/lib/python3/dist-packages (from docker-compose) (2.21.0)
Collecting websocket-client<1,>=0.32.0 (from docker-compose)
  Downloading https://files.pythonhosted.org/packages/f7/0c/d52a2a63512a613817846d430d16a8fbe5ea56dd889e89c68facf6b91cb6/websocket_client-0.59.0-py2.py3-none-any.whl (67kB)
Collecting cached-property<2,>=1.2.0; python_version < "3.8" (from docker-compose)
  Downloading https://files.pythonhosted.org/packages/48/19/f2090f7dad41e225c7f2326e4cfe6fff49e57dedb5b53636c9551f86b069/cached_property-1.5.2-py2.py3-none-any.whl
Collecting dockerpty<1,>=0.4.1 (from docker-compose)
  Downloading https://www.piwheels.org/simple/dockerpty/dockerpty-0.4.1-py3-none-any.whl
Collecting python-dotenv<1,>=0.13.0 (from docker-compose)
  Downloading https://files.pythonhosted.org/packages/f5/d6/4b6268fad900fcb064e4344aa563b22688f0b38dcd857b500b2b5cc445c6/python_dotenv-0.19.0-py2.py3-none-any.whl
Collecting distro<2,>=1.5.0 (from docker-compose)
  Downloading https://files.pythonhosted.org/packages/b3/8d/a0a5c389d76f90c766e956515d34c3408a1e18f60fbaa08221d1f6b87490/distro-1.6.0-py2.py3-none-any.whl
Collecting docker[ssh]>=5 (from docker-compose)
  Downloading https://files.pythonhosted.org/packages/b2/5a/f988909dfed18c1ac42ad8d9e611e6c5657e270aa6eb68559985dbb69c13/docker-5.0.0-py2.py3-none-any.whl (146kB)
Collecting jsonschema<4,>=2.5.1 (from docker-compose)
  Downloading https://files.pythonhosted.org/packages/c5/8f/51e89ce52a085483359217bc72cdbf6e75ee595d5b1d4b5ade40c7e018b8/jsonschema-3.2.0-py2.py3-none-any.whl (56kB)
Collecting PyYAML<6,>=3.10 (from docker-compose)
  Downloading https://www.piwheels.org/simple/pyyaml/PyYAML-5.4.1-cp37-cp37m-linux_armv7l.whl (45kB)
Collecting texttable<2,>=0.9.0 (from docker-compose)
  Downloading https://files.pythonhosted.org/packages/75/23/8170868d04b153b1b9ed1bb84348212bb4a08f31b292ef9d7f6ea648fd49/texttable-1.6.4-py2.py3-none-any.whl
Requirement already satisfied: six in /usr/lib/python3/dist-packages (from websocket-client<1,>=0.32.0->docker-compose) (1.12.0)
Collecting paramiko>=2.4.2; extra == "ssh" (from docker[ssh]>=5->docker-compose)
  Downloading https://files.pythonhosted.org/packages/95/19/124e9287b43e6ff3ebb9cdea3e5e8e88475a873c05ccdf8b7e20d2c4201e/paramiko-2.7.2-py2.py3-none-any.whl (206kB)
Collecting importlib-metadata; python_version < "3.8" (from jsonschema<4,>=2.5.1->docker-compose)
  Downloading https://files.pythonhosted.org/packages/07/76/c4674c460f5ff4b5f7a962214e46295e20504dfde9fcba78fd728dfe2ac9/importlib_metadata-4.6.3-py3-none-any.whl
Collecting pyrsistent>=0.14.0 (from jsonschema<4,>=2.5.1->docker-compose)
  Downloading https://www.piwheels.org/simple/pyrsistent/pyrsistent-0.18.0-cp37-cp37m-linux_armv7l.whl (100kB)
Collecting attrs>=17.4.0 (from jsonschema<4,>=2.5.1->docker-compose)
  Downloading https://files.pythonhosted.org/packages/20/a9/ba6f1cd1a1517ff022b35acd6a7e4246371dfab08b8e42b829b6d07913cc/attrs-21.2.0-py2.py3-none-any.whl (53kB)
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from jsonschema<4,>=2.5.1->docker-compose) (40.8.0)
Collecting bcrypt>=3.1.3 (from paramiko>=2.4.2; extra == "ssh"->docker[ssh]>=5->docker-compose)
  Downloading https://www.piwheels.org/simple/bcrypt/bcrypt-3.2.0-cp37-cp37m-linux_armv7l.whl (57kB)
Collecting pynacl>=1.0.1 (from paramiko>=2.4.2; extra == "ssh"->docker[ssh]>=5->docker-compose)
  Downloading https://www.piwheels.org/simple/pynacl/PyNaCl-1.4.0-cp37-cp37m-linux_armv7l.whl (605kB)
Requirement already satisfied: cryptography>=2.5 in /usr/lib/python3/dist-packages (from paramiko>=2.4.2; extra == "ssh"->docker[ssh]>=5->docker-compose) (2.6.1)
Collecting typing-extensions>=3.6.4; python_version < "3.8" (from importlib-metadata; python_version < "3.8"->jsonschema<4,>=2.5.1->docker-compose)
  Downloading https://files.pythonhosted.org/packages/2e/35/6c4fff5ab443b57116cb1aad46421fb719bed2825664e8fe77d66d99bcbc/typing_extensions-3.10.0.0-py3-none-any.whl
Collecting zipp>=0.5 (from importlib-metadata; python_version < "3.8"->jsonschema<4,>=2.5.1->docker-compose)
  Downloading https://files.pythonhosted.org/packages/92/d9/89f433969fb8dc5b9cbdd4b4deb587720ec1aeb59a020cf15002b9593eef/zipp-3.5.0-py3-none-any.whl
Collecting cffi>=1.1 (from bcrypt>=3.1.3->paramiko>=2.4.2; extra == "ssh"->docker[ssh]>=5->docker-compose)
  Downloading https://www.piwheels.org/simple/cffi/cffi-1.14.6-cp37-cp37m-linux_armv7l.whl (346kB)
Collecting pycparser (from cffi>=1.1->bcrypt>=3.1.3->paramiko>=2.4.2; extra == "ssh"->docker[ssh]>=5->docker-compose)
  Downloading https://files.pythonhosted.org/packages/ae/e7/d9c3a176ca4b02024debf82342dab36efadfc5776f9c8db077e8f6e71821/pycparser-2.20-py2.py3-none-any.whl (112kB)
Installing collected packages: docopt, websocket-client, cached-property, dockerpty, python-dotenv, distro, pycparser, cffi, bcrypt, pynacl, paramiko, docker, typing-extensions, zipp, importlib-metadata, pyrsistent, attrs, jsonschema, PyYAML, texttable, docker-compose
Successfully installed PyYAML-5.4.1 attrs-21.2.0 bcrypt-3.2.0 cached-property-1.5.2 cffi-1.14.6 distro-1.6.0 docker-5.0.0 docker-compose-1.29.2 dockerpty-0.4.1 docopt-0.6.2 importlib-metadata-4.6.3 jsonschema-3.2.0 paramiko-2.7.2 pycparser-2.20 pynacl-1.4.0 pyrsistent-0.18.0 python-dotenv-0.19.0 texttable-1.6.4 typing-extensions-3.10.0.0 websocket-client-0.59.0 zipp-3.5.0
+ sudo systemctl enable docker
sudo: unable to resolve host 362f98fef28d: Name or service not known
Synchronizing state of docker.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable docker
guysoft commented 3 years ago

Looks like it says that PyNaCl has a wheel, but form an unexpected location:

Downloading https://www.piwheels.org/simple/pynacl/PyNaCl-1.4.0-cp37-cp37m-linux_armv7l.whl

So it its pulling it.

The url is: https://www.piwheels.org/

It says it needs to include that in /etc/pip.conf for it to work. Not related to all the pip stuff.

This is unlike the long loop for in my builds:

Running setup.py bdist_wheel for pynacl: still running...

This actually might connect to the long standing PR #123. Might be worth adding a module or something with better pip settings.

I does seem to appear in Rpi OS

cat /etc/pip.conf
[global]
extra-index-url=https://www.piwheels.org/simple
guysoft commented 3 years ago

I am going to try adding:

pip3 install --index-url=https://www.piwheels.org/simple PyNaCl

And see if that makes the build finish faster, if so the full fix will be:

if [ "${BASE_DISTRO}" == "raspbian" ]; then
    pip3 install --index-url=https://www.piwheels.org/simple PyNaCl
fi

This way it will only do that in Rasbian

guysoft commented 3 years ago

Think I hit something strange or a dumb misstake. I get:

15:04:55 + pip3 install --index-url=https://www.piwheels.org/simple pynacl
15:04:58 Looking in indexes: https://www.piwheels.org/simple, https://www.piwheels.org/simple
15:04:58 Collecting pynacl
15:04:59   Could not find a version that satisfies the requirement pynacl (from versions: )
15:04:59 No matching distribution found for pynacl

On an OctoPi instance I get

~/oprint/bin/pip install --index-url=https://www.piwheels.org/simple pynacl          
Looking in indexes: https://www.piwheels.org/simple, https://www.piwheels.org/simple
Collecting pynacl
  Downloading https://www.piwheels.org/simple/pynacl/PyNaCl-1.4.0-cp37-cp37m-linux_armv7l.whl (605 kB)
     |████████████████████████████████| 605 kB 454 kB/s 
Requirement already satisfied: six in ./oprint/lib/python3.7/site-packages (from pynacl) (1.15.0)
davidzwa commented 3 years ago

I am going to try adding:

pip3 install --index-url=https://www.piwheels.org/simple PyNaCl

And see if that makes the build finish faster, if so the full fix will be:

if [ "${BASE_DISTRO}" == "raspbian" ]; then
    pip3 install --index-url=https://www.piwheels.org/simple PyNaCl
fi

This way it will only do that in Rasbian

I dont agree that this is the fix. My honest opinion is that you're only making it harder. PyNaCl is not our problem to deal with... I hope you see my point. It's a problem for docker-compose.

Please confirm that you've tried the following or not:

sudo apt-get update

curl -sSL https://get.docker.com | sh
sudo usermod -aG docker ${BASE_USER}
sudo apt -y install libffi-dev libssl-dev
sudo apt -y install python3-dev
sudo apt -y install python3 python3-pip
sudo pip3 install docker-compose
sudo systemctl enable docker
guysoft commented 3 years ago

Error log: please visit my public repository and this build log line https://github.com/davidzwa/mtb3dpi-image/pull/1/checks?check_run_id=3255944271#step:8:1235

PyNaCl is the problem according to the log you supplied in the issue report.

Here is the output as a screenshot from that log so you dont need to scroll all the way down: Screenshot_20210816_001914

davidzwa commented 3 years ago

No this problem is gone as I shared in this comment 😉 There's no wheel for pynacl in that log. https://github.com/guysoft/CustomPiOS/issues/139#issuecomment-897436023

guysoft commented 3 years ago

I am sorry if its a little repetitive. It just also wanted to make a summary of what I understand the problem is. So let me try and summarize what I understood, and hopefully it could help you point me.

No this problem is gone as I shared in this comment wink There's no wheel for pynacl in that log. #139 (comment)

Indeed, as I said in comment https://github.com/guysoft/CustomPiOS/issues/139#issuecomment-897537891 , it seems like the way that got solved there is because the pynacl got installed via piwheels, which is a raspberry pi-spasific wheel repository (as in not PyPi). Here is the output from your comment https://github.com/guysoft/CustomPiOS/issues/139#issuecomment-897436023 that shows that here that pynacl is installed differently using piwheels:

Collecting pynacl>=1.0.1 (from paramiko>=2.4.2; extra == "ssh"->docker[ssh]>=5->docker-compose)
  Downloading https://www.piwheels.org/simple/pynacl/PyNaCl-1.4.0-cp37-cp37m-linux_armv7l.whl (605kB)

So that log difference from what I understood is what need to happen for the build not to break as given in the initial log of the issue.

davidzwa commented 1 year ago

Going to close this as it might be completely different now and I'm not running docker anymore due to lingering overlay2 folders etc. Thanks for the thorough help a while ago!

guysoft commented 1 year ago

I recently fixed docker compose and docker on some systems, it might have fixed this