bcgov / von-network

A portable development level Indy Node network.
Apache License 2.0
163 stars 189 forks source link

Issue Running von-network On M1 Chip Mac Machine #182

Open Tarunshrma opened 3 years ago

Tarunshrma commented 3 years ago

Hi,

I am following the provided documentation to run von-network locally on my M1 based machine. "./Manage start" command stats the 4 containers for node and 1 for web server. When I try to open http://localhost:9000 web server is not accessible and subsequently other node containers are also exit. I am getting below error:

qemu: uncaught target signal (Aborted) - core dumped.

WadeBarnes commented 3 years ago

Could you provide the logs? Run the following to first clear the logs so you have a clean run and then start von-network with streaming logs:

./manage down
./manage start --logs
Tarunshrma commented 3 years ago

Screenshot 2021-10-26 at 6 24 19 PM

Here are the logs attached

logs.txt

WadeBarnes commented 3 years ago

Looks like it's an architecture issue. There is a hint to this in the logs:

WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

If you do a google search on qemu: uncaught target signal 6 (Aborted) - core dumped you'll see other people having similar issues with Docker on M1s.

The base image for von-network (bcgovimages/von-image:node-1.12-4) is built for the linux/amd64 architecture. You could try building the base images for linux/arm64/v8 and then build von-network (./manage build).

The source for the base image is here PSPC-SPAC-buyandsell/von-image; the make_node_image.py script and the code in the node-1.12 folder.

WadeBarnes commented 3 years ago

There are also indications this is a bug in qemu (a component used for running Intel (amd64) containers on M1 (arm64) chips). Upgrading that component may help too.

Tarunshrma commented 3 years ago

Thanks @WadeBarnes I will try those options.

Thanks again for your help.

TimoGlastra commented 3 years ago

Running into the same problem. @Tarunshrma have you already tried to build a von image image for linux/arm64/v8? Were you able to resolve the issue?

nebucaz commented 3 years ago

@TimoGlastra I ran into the same problem, but I finally managed to run the network on Apple Silicon by tweaking and rebuilding the underlying PSPC-SPAC-buyandsell/von-image as a arm64 variant.

You can review the changes in my fork of von-image. Although I was not (yet) able to compile the postgres plugin, I'm able to run the von-network by replacing the base image in von-network's Dockerfile with my custom von-image. Because the plugin does not compile, I just made a quick test by pointing the browser to the web server at localhost:9000

You can find instructions to build the von-image yourself and the changes necessary to the von-network's Dockerfile in the README of the fork or just let the Dockerfile pull my image from hub.docker.io (starting FROM snel/von-image:node-1.12-4-arm64)

WadeBarnes commented 3 years ago

@nebucaz, Thanks for the update and the work on von-image. When you do get the image to compile everything completely, please submit a PR to PSPC-SPAC-buyandsell/von-image with the changes.

nebucaz commented 2 years ago

@WadeBarnes I will be happy to do that, but I fear, I'll not make it in a reasonable time, because, I do not really understand der problem: It is located in the file indy-sdk/experimental/plugins/postgres_storage/src/lib.rs

Compiling on Ubuntu Linux aarch64 fails in an unsafe block:

error[E0308]: mismatched types
   --> src/lib.rs:459:35
    |
459 |         unsafe { *tags_json_ptr = record.tags.as_ptr() as *const i8; }
    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
    |
    = note: expected raw pointer `*const u8`
               found raw pointer `*const i8`

When replaced with u8it will compile on linux aarch64 but will not compile on Apple M1 arm64/v8. I'm not able to resolve this with my current knowledge of rust and unsafe blocks.

ianco commented 2 years ago

@nebucaz are you just creating the von-image for von network/indy node? In this scenario I don't think the postgres plug-in is required.

WadeBarnes commented 2 years ago

@ianco, the postgres plugin is part of the base image used for von-network: https://github.com/PSPC-SPAC-buyandsell/von-image/blob/master/node-1.12/Dockerfile.ubuntu#L132-L135

WadeBarnes commented 2 years ago

@nebucaz, The data types in the indy-sdk need to be updated to support ARM. Here is an example of what we had to do to get it to compile on a Raspberry Pi; https://github.com/KoleBarnes/indy-sdk/commit/7fe80d8278ab2b4719b002cda3b8f189c7ffd7df

ianco commented 2 years ago

@ianco, the postgres plugin is part of the base image used for von-network: https://github.com/PSPC-SPAC-buyandsell/von-image/blob/master/node-1.12/Dockerfile.ubuntu#L132-L135

@WadeBarnes correct but I don't think it's actually required. It's used by Indy SDK for wallet storage, however nodes (I believe) don't have wallets or use postgres, and the ledger browser uses a wallet but I believe using default storage (sqlite)

WadeBarnes commented 2 years ago

It's used in von-network for indy-cli operations. The idea would be to build an M1 compatible base image to fully support all of the von-network features.

ianco commented 2 years ago

It's used in von-network for indy-cli operations. The idea would be to build an M1 compatible base image to fully support all of the von-network features.

Ah ok got it thanks

nebucaz commented 2 years ago

@WadeBarnes Thanks for the hint to libc::c:char Changed the types on my fork of hyperledger/indy-sdk and successfully compiled on Ubuntu 20.04 linux/arm64 and macOS arm64/v8 (Apple M1). Re-built snel/von-image with postgres_storage support

vectoria-org commented 2 years ago

@WadeBarnes Thanks for the hint to libc::c:char Changed the types on my fork of hyperledger/indy-sdk and successfully compiled on Ubuntu 20.04 linux/arm64 and macOS arm64/v8 (Apple M1). Re-built snel/von-image with postgres_storage support

Hi, @nebucaz. Suffering same pain as you did but not able to resolve it since I don't have tech background. I'm following course Edx LFS173x with an M1 mac. when I try to run LEDGER_URL=http://dev.greenlight.bcovrin.vonx.io ./run_demo faber --events --no-auto --bg I got stuck with the WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested. I have been reading all the issues and see you have the answer. The problem is that I believe run_demo faber is bringing von-image version different from the one you have forked and don't know how to continue. I suppose I have to make some modifications in my code in order to call the new arm64 version but no clue how to do it. Thanks anyone for your general efforts and your indications with command line example.

nebucaz commented 2 years ago

Hi @vectoria-org I'm sorry, but I Have been assigned to another project in January 2022 and therefore have not been involved nor have managed to assign any spare time on this issue. I've built my own version of the underlying von-image and referenced this image in Dockerfile of von-network:

#FROM bcgovimages/von-image:node-1.12-4
FROM snel/von-image:node-1.12-4-arm64

You can then build your own 'von-network-base' docker image based on snel/von-image.

cd von-network
docker build -t von-network-base .

You can then start the von-network using

 ./manage start

And watch the logs with

./manage logs
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
von-node1-1      | Ledger does not exist - Creating...
von-node1-1      | von_generate_transactions -n 1

As you can see, I also have the warning, but I'm not able to provide more support without considerable effort. Docker ps tells me, that the nodes are running though

docker ps  neo@mbp14
CONTAINER ID   IMAGE              COMMAND                  CREATED         STATUS          PORTS                              NAMES
77b1dbf4593d   von-network-base   "bash -c 'sleep 10; …"   9 minutes ago   Up 31 seconds   0.0.0.0:9000->8000/tcp             von-webserver-1
8522be714f0c   von-network-base   "bash -c './scripts/…"   9 minutes ago   Up 31 seconds   0.0.0.0:9707-9708->9707-9708/tcp   von-node4-1
7aa6ef33ec8c   von-network-base   "bash -c './scripts/…"   9 minutes ago   Up 31 seconds   0.0.0.0:9701-9702->9701-9702/tcp   von-node1-1
03fc9ffc3830   von-network-base   "bash -c './scripts/…"   9 minutes ago   Up 31 seconds   0.0.0.0:9705-9706->9705-9706/tcp   von-node3-1
b0022a2f37a6   von-network-base   "bash -c './scripts/…"   9 minutes ago   Up 31 seconds   0.0.0.0:9703-9704->9703-9704/tcp   von-node2-1

And the Web server is accessible on localhost:9000

Did you try to run the demo in the docker-environment (http://play-with-von.vonx.io/) rather than local?

vectoria-org commented 2 years ago

Many thanks for your support @nebucaz. I'm running this command LEDGER_URL=http://dev.greenlight.bcovrin.vonx.io ./run_demo faber --events --no-auto --bg when linux/arm64 warning appears. Yesterday suddenly worked, after executing commands pyenv and pipenv but not sure yet how that happened. I'm looking for external help to understand why and how it happened and as soon as I have it I will publish it here for helping others to come. Of course will follow your indications install von-image and report. Many thanks again.

vectoria-org commented 2 years ago

Hello back @nebucaz. I'm copy-pasting here the solution that worked in my mac and hopefully it will for others. It is not possible for me to explain it better so let me post the code here and hopefully there will be other contributor with tech background that can summarize better.

@MacBook-Air-de-Julio-3 ~ % python3 -m venv ./venv @MacBook-Air-de-Julio-3 ~ % source ./venv/bin/activate (venv) @MacBook-Air-de-Julio-3 ~ % cd didcomm-demo-python && pip install -e.[tests] && cd .. cd: no such file or directory: didcomm-demo-python (venv) @MacBook-Air-de-Julio-3 ~ % brew install pyenv Running brew update --auto-update... ==> Auto-updated Homebrew! Updated 2 taps (homebrew/core and homebrew/cask). ==> New Formulae cbindgen        ferium          iir1            pgsync          typewritten fastfetch       fred            libretls        textract        verovio fend            gebug           mxnet           trezor-bridge   xq ==> New Casks arc                 diffusionbee        planet              tempbox battery             onekey              readdle-spark       wolfram-engine chipmunk            pieces-cli          readmoreading

You have 13 outdated formulae installed. You can upgrade them with brew upgrade or list them with brew outdated.

==> Downloading https://ghcr.io/v2/homebrew/core/autoconf/manifests/2.71 ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/autoconf/blobs/sha256:a3d366c98 ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sh ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/ca-certificates/manifests/2022- ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/ca-certificates/blobs/sha256:1b ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sh ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/readline/manifests/8.2.1 ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/readline/blobs/sha256:9406afa0f ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sh ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/pyenv/manifests/2.3.5 ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/pyenv/blobs/sha256:70c0c86cac33 ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sh ######################################################################## 100.0% ==> Installing dependencies for pyenv: autoconf, ca-certificates and readline ==> Installing pyenv dependency: autoconf ==> Pouring autoconf--2.71.arm64_monterey.bottle.tar.gz 🍺  /opt/homebrew/Cellar/autoconf/2.71: 71 files, 3.2MB ==> Installing pyenv dependency: ca-certificates ==> Pouring ca-certificates--2022-10-11.all.bottle.tar.gz ==> Regenerating CA certificate bundle from keychain, this may take a while... 🍺  /opt/homebrew/Cellar/ca-certificates/2022-10-11: 3 files, 225.5KB ==> Installing pyenv dependency: readline ==> Pouring readline--8.2.1.arm64_monterey.bottle.tar.gz 🍺  /opt/homebrew/Cellar/readline/8.2.1: 50 files, 1.7MB ==> Installing pyenv ==> Pouring pyenv--2.3.5.arm64_monterey.bottle.tar.gz 🍺  /opt/homebrew/Cellar/pyenv/2.3.5: 943 files, 3MB ==> Running brew cleanup pyenv... Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP. Hide these hints with HOMEBREW_NO_ENV_HINTS (see man brew). ==> Upgrading 10 dependents of upgraded formulae: Disable this behaviour by setting HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK. Hide these hints with HOMEBREW_NO_ENV_HINTS (see man brew). edencommon 2022.10.03.00 -> 2022.10.17.00, fb303 2022.10.03.00 -> 2022.10.17.00, fizz 2022.10.03.00 -> 2022.10.17.00, fbthrift 2022.10.03.00 -> 2022.10.17.00, folly 2022.10.03.00 -> 2022.10.17.00, node 18.10.0 -> 18.11.0, python@3.10 3.10.7 -> 3.10.8, unbound 1.16.3 -> 1.17.0, wangle 2022.10.03.00 -> 2022.10.17.00, watchman 2022.10.03.00 -> 2022.10.17.00 ==> Downloading https://ghcr.io/v2/homebrew/core/folly/manifests/2022.10.17.00 ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/folly/blobs/sha256:b7b3fddb3f91 ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sh ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/edencommon/manifests/2022.10.17 ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/edencommon/blobs/sha256:6d4188a ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sh ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/fizz/manifests/2022.10.17.00 ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/fizz/blobs/sha256:35435e3cf1cfb ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sh ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/wangle/manifests/2022.10.17.00 ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/wangle/blobs/sha256:dfc6c5c7e52 ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sh ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/fbthrift/manifests/2022.10.17.0 ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/fbthrift/blobs/sha256:4681de621 ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sh ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/fb303/manifests/2022.10.17.00 ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/fb303/blobs/sha256:4430b1800285 ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sh ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/python/3.10/manifests/3.10.8-1 ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/python/3.10/blobs/sha256:8b1c01 ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sh ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/watchman/manifests/2022.10.17.0 ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/watchman/blobs/sha256:0b18a9a11 ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sh ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/node/manifests/18.11.0 ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/node/blobs/sha256:2dae00520299d ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sh ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/unbound/manifests/1.17.0 ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/unbound/blobs/sha256:cd06e5b7f6 ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sh ######################################################################## 100.0% ==> Upgrading folly   2022.10.03.00 -> 2022.10.17.00 

==> Pouring folly--2022.10.17.00.arm64_monterey.bottle.tar.gz 🍺  /opt/homebrew/Cellar/folly/2022.10.17.00: 839 files, 24.4MB ==> Running brew cleanup folly... Removing: /opt/homebrew/Cellar/folly/2022.10.03.00... (839 files, 24.3MB) Removing: /Users/julio/Library/Caches/Homebrew/folly--2022.10.03.00... (5.7MB) ==> Upgrading edencommon   2022.10.03.00 -> 2022.10.17.00 

==> Pouring edencommon--2022.10.17.00.arm64_monterey.bottle.tar.gz 🍺  /opt/homebrew/Cellar/edencommon/2022.10.17.00: 15 files, 309.6KB ==> Running brew cleanup edencommon... Removing: /opt/homebrew/Cellar/edencommon/2022.10.03.00... (15 files, 309.6KB) Removing: /Users/julio/Library/Caches/Homebrew/edencommon--2022.10.03.00... (51.2KB) ==> Upgrading fizz   2022.10.03.00 -> 2022.10.17.00 

==> Pouring fizz--2022.10.17.00.arm64_monterey.bottle.tar.gz 🍺  /opt/homebrew/Cellar/fizz/2022.10.17.00: 184 files, 3.8MB ==> Running brew cleanup fizz... Removing: /opt/homebrew/Cellar/fizz/2022.10.03.00... (184 files, 3.8MB) Removing: /Users/julio/Library/Caches/Homebrew/fizz--2022.10.03.00... (984.7KB) ==> Upgrading wangle   2022.10.03.00 -> 2022.10.17.00 

==> Pouring wangle--2022.10.17.00.arm64_monterey.bottle.tar.gz 🍺  /opt/homebrew/Cellar/wangle/2022.10.17.00: 117 files, 3.2MB ==> Running brew cleanup wangle... Removing: /opt/homebrew/Cellar/wangle/2022.10.03.00... (117 files, 3.2MB) Removing: /Users/julio/Library/Caches/Homebrew/wangle--2022.10.03.00... (792.8KB) ==> Upgrading fbthrift   2022.10.03.00 -> 2022.10.17.00 

==> Pouring fbthrift--2022.10.17.00.arm64_monterey.bottle.tar.gz 🍺  /opt/homebrew/Cellar/fbthrift/2022.10.17.00: 755 files, 20.9MB ==> Running brew cleanup fbthrift... Removing: /opt/homebrew/Cellar/fbthrift/2022.10.03.00... (755 files, 20.8MB) Removing: /Users/julio/Library/Caches/Homebrew/fbthrift--2022.10.03.00... (4.2MB) ==> Upgrading fb303   2022.10.03.00 -> 2022.10.17.00 

==> Pouring fb303--2022.10.17.00.arm64_monterey.bottle.tar.gz 🍺  /opt/homebrew/Cellar/fb303/2022.10.17.00: 56 files, 3.6MB ==> Running brew cleanup fb303... Removing: /opt/homebrew/Cellar/fb303/2022.10.03.00... (56 files, 3.6MB) Removing: /Users/julio/Library/Caches/Homebrew/fb303--2022.10.03.00... (668.9KB) ==> Upgrading python@3.10   3.10.7 -> 3.10.8 

==> Pouring python@3.10--3.10.8.arm64_monterey.bottle.1.tar.gz ==> /opt/homebrew/Cellar/python@3.10/3.10.8/bin/python3.10 -m ensurepip ==> /opt/homebrew/Cellar/python@3.10/3.10.8/bin/python3.10 -m pip install -v --n 🍺  /opt/homebrew/Cellar/python@3.10/3.10.8: 3,116 files, 57.3MB ==> Running brew cleanup python@3.10... Removing: /opt/homebrew/Cellar/python@3.10/3.10.7... (3,116 files, 57.3MB) Removing: /Users/julio/Library/Caches/Homebrew/python@3.10--3.10.7... (14.7MB) ==> Upgrading watchman   2022.10.03.00 -> 2022.10.17.00 

==> Pouring watchman--2022.10.17.00.arm64_monterey.bottle.tar.gz 🍺  /opt/homebrew/Cellar/watchman/2022.10.17.00: 22 files, 13.6MB ==> Running brew cleanup watchman... Removing: /opt/homebrew/Cellar/watchman/2022.10.03.00... (22 files, 13.2MB) Removing: /Users/julio/Library/Caches/Homebrew/watchman--2022.10.03.00... (2.8MB) ==> Upgrading node   18.10.0 -> 18.11.0 

==> Pouring node--18.11.0.arm64_monterey.bottle.tar.gz 🍺  /opt/homebrew/Cellar/node/18.11.0: 1,993 files, 48.6MB ==> Running brew cleanup node... Removing: /opt/homebrew/Cellar/node/18.10.0... (1,993 files, 48.4MB) Removing: /Users/julio/Library/Caches/Homebrew/node--18.10.0... (13.1MB) ==> Upgrading unbound   1.16.3 -> 1.17.0 

==> Pouring unbound--1.17.0.arm64_monterey.bottle.tar.gz 🍺  /opt/homebrew/Cellar/unbound/1.17.0: 58 files, 5.7MB ==> Running brew cleanup unbound... Removing: /opt/homebrew/Cellar/unbound/1.16.3... (58 files, 5.7MB) Removing: /Users/julio/Library/Caches/Homebrew/unbound--1.16.3... (2.8MB) ==> Checking for dependents of upgraded formulae... ==> No broken dependents found! (venv) @MacBook-Air-de-Julio-3 ~ % deactivate @MacBook-Air-de-Julio-3 ~ % pyenv pyenv 2.3.5 Usage: pyenv []

Some useful pyenv commands are:    --version   Display the version of pyenv    commands    List all available pyenv commands    exec        Run an executable with the selected Python version    global      Set or show the global Python version(s)    help        Display help for a command    hooks       List hook scripts for a given pyenv command    init        Configure the shell environment for pyenv    install     Install a Python version using python-build    local       Set or show the local application-specific Python version(s)    prefix      Display prefixes for Python versions    rehash      Rehash pyenv shims (run this after installing executables)    root        Display the root directory where versions and shims are kept    shell       Set or show the shell-specific Python version    shims       List existing pyenv shims    uninstall   Uninstall Python versions    version     Show the current Python version(s) and its origin    version-file   Detect the file that sets the current pyenv version    version-name   Show the current Python version    version-origin   Explain how the current Python version is set    versions    List all Python versions available to pyenv    whence      List all Python versions that contain the given executable    which       Display the full path to an executable

See pyenv help <command>' for information on a specific command. For full documentation, see: https://github.com/pyenv/pyenv#readme @MacBook-Air-de-Julio-3 ~ % git clone https://github.com/hyperledger/aries-cloudagent-python.git fatal: destination path 'aries-cloudagent-python' already exists and is not an empty directory. @MacBook-Air-de-Julio-3 ~ % pienv zsh: command not found: pienv @MacBook-Air-de-Julio-3 ~ % pipenv zsh: command not found: pipenv @MacBook-Air-de-Julio-3 ~ % brew install pipenv Runningbrew update --auto-update... ==> Downloading https://ghcr.io/v2/homebrew/core/six/manifests/1.16.0_2-1 ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/six/blobs/sha256:560f73cafaea61 ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sh ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/pipenv/manifests/2022.9.24 ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/pipenv/blobs/sha256:6eecd050758 ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sh ######################################################################## 100.0% ==> Installing dependencies for pipenv: six ==> Installing pipenv dependency: six ==> Pouring six--1.16.0_2.all.bottle.1.tar.gz 🍺  /opt/homebrew/Cellar/six/1.16.0_2: 20 files, 122.3KB ==> Installing pipenv ==> Pouring pipenv--2022.9.24.arm64_monterey.bottle.tar.gz ==> Caveats zsh completions have been installed to:   /opt/homebrew/share/zsh/site-functions ==> Summary 🍺  /opt/homebrew/Cellar/pipenv/2022.9.24: 1,853 files, 31.6MB ==> Runningbrew cleanup pipenv... Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP. Hide these hints with HOMEBREW_NO_ENV_HINTS (seeman brew`). ==> Caveats ==> pipenv zsh completions have been installed to:   /opt/homebrew/share/zsh/site-functions @MacBook-Air-de-Julio-3 ~ % atom ~/.bash_profile zsh: command not found: atom @MacBook-Air-de-Julio-3 ~ % pipenv               Usage: pipenv [OPTIONS] COMMAND [ARGS]...

Options:   --where                         Output project home information.   --venv                          Output virtualenv information.   --py                            Output Python interpreter information.   --envs                          Output Environment Variable options.   --rm                            Remove the virtualenv.   --bare                          Minimal output.   --man                           Display manpage.   --support                       Output diagnostic information for use in                                   GitHub issues.   --site-packages / --no-site-packages                                   Enable site-packages for the virtualenv.                                   [env var: PIPENV_SITE_PACKAGES]   --python TEXT                   Specify which version of Python virtualenv                                   should use.   --three                         Use Python 3 when creating virtualenv.                                   Deprecated   --clear                         Clears caches (pipenv, pip).  [env var:                                   PIPENV_CLEAR]   -q, --quiet                     Quiet mode.   -v, --verbose                   Verbose mode.   --pypi-mirror TEXT              Specify a PyPI mirror.   --version                       Show the version and exit.   -h, --help                      Show this message and exit.

Usage Examples:    Create a new project using Python 3.7, specifically:    $ pipenv --python 3.7

   Remove project virtualenv (inferred from current directory):    $ pipenv --rm

   Install all dependencies for a project (including dev):    $ pipenv install --dev

   Create a lockfile containing pre-releases:    $ pipenv lock --pre

   Show a graph of your installed dependencies:    $ pipenv graph

   Check your installed dependencies for security vulnerabilities:    $ pipenv check

   Install a local setup.py into your virtual environment/Pipfile:    $ pipenv install -e .

   Use a lower-level pip command:    $ pipenv run pip freeze

Commands:   check         Checks for PyUp Safety security vulnerabilities and against                 PEP 508 markers provided in Pipfile.   clean         Uninstalls all packages not specified in Pipfile.lock.   graph         Displays currently-installed dependency graph information.   install       Installs provided packages and adds them to Pipfile, or (if no                 packages are given), installs all packages from Pipfile.   lock          Generates Pipfile.lock.   open          View a given module in your editor.   requirements  Generate a requirements.txt from Pipfile.lock.   run           Spawns a command installed into the virtualenv.   scripts       Lists scripts in current environment config.   shell         Spawns a shell within the virtualenv.   sync          Installs all packages specified in Pipfile.lock.   uninstall     Uninstalls a provided package and removes it from Pipfile.   update        Runs lock, then sync.   verify        Verify the hash in Pipfile.lock is up-to-date. @MacBook-Air-de-Julio-3 ~ % cd aries-cloudagent-python @MacBook-Air-de-Julio-3 aries-cloudagent-python % pipenv shell Creating a virtualenv for this project... Pipfile: /Users/julio/aries-cloudagent-python/Pipfile Using /opt/homebrew/bin/python3 (3.10.8) to create virtualenv... ⠦ Creating virtual environment...created virtual environment CPython3.10.8.final.0-64 in 444ms   creator CPython3Posix(dest=/Users/julio/.local/share/virtualenvs/aries-cloudagent-python-fY91S27h, clear=False, no_vcs_ignore=False, global=False)   seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/Users/julio/Library/Application Support/virtualenv)     added seed packages: pip==22.2.2, setuptools==65.3.0, wheel==0.37.1   activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator

✔ Successfully created virtual environment!  Virtualenv location: /Users/julio/.local/share/virtualenvs/aries-cloudagent-python-fY91S27h requirements.txt found in /Users/julio/aries-cloudagent-python instead of Pipfile! Converting... ✔ Success!  Warning: Your Pipfile now contains pinned versions, if your requirements.txt did.  We recommend updating your Pipfile to specify the "*" version, instead. Launching subshell in virtual environment...  . /Users/julio/.local/share/virtualenvs/aries-cloudagent-python-fY91S27h/bin/activate @MacBook-Air-de-Julio-3 aries-cloudagent-python %  . /Users/julio/.local/share/virtualenvs/aries-cloudagent-python-fY91S27h/bin/activate (aries-cloudagent-python) @MacBook-Air-de-Julio-3 aries-cloudagent-python % pipenv install -r requirements.txt Requirements file provided! Importing into Pipfile... Pipfile.lock not found, creating... Locking [packages] dependencies... Building requirements... Resolving dependencies... ✔ Success!  Locking [dev-packages] dependencies... Updated Pipfile.lock (33caac)! Installing dependencies from Pipfile.lock (33caac)... (aries-cloudagent-python) julio@MacBook-Air-de-Julio-3 aries-cloudagent-python % @MacBook-Air-de-Julio-3 ~ % pyenv

We changed requirements.txt to: asyncpg~=0.25.0 prompt_toolkit~=2.0.9 git+https://github.com/webpy/webpy.git#egg=web.py pygments~=2.10 qrcode[pil]~=6.1

But a few days later Alice Docker did not work and we made another change, to: asyncpg~=0.25.0 prompt_toolkit~=2.0.9 web.py~=0.62 pygments~=2.10 qrcode[pil]~=6.1

It works now smoothly so hopefully someone who understands what we did can explain it better so others to come can solve the issue and follow the course LinuxFoundationX LFS173x with an M1 Mac. Regards.