Skip to content

[Bug] Failed to install v2.10.2+spring2024 test harness #548

Description

@mlsg

installation steps:

  1. git clone -b v2.10.2+spring2024 https://github.com/project-chip/certification-tool.git
  2. cd certification-tool/
  3. git submodule update --init --recursive
  4. ./scripts/pi-setup/auto-install.sh
    1-install-dependendcies.sh content is given below
#! /usr/bin/env bash

 #
 # Copyright (c) 2023 Project CHIP Authors
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at
 #
 # http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software
 # distributed under the License is distributed on an "AS IS" BASIS,
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
set -e

ROOT_DIR=$(realpath $(dirname "$0")/../..)
SCRIPT_DIR="$ROOT_DIR/scripts"
UBUNTU_SCRIPT_DIR="$SCRIPT_DIR/ubuntu"

printf "\n\n**********"
printf "\n*** Installing Dependencies ***\n"
$UBUNTU_SCRIPT_DIR/1.1-install-docker-repository.sh


# Silence user prompts about reboot and service restart required (script will prompt user to reboot in the end)
sudo sed -i "s/#\$nrconf{kernelhints} = -1;/\$nrconf{kernelhints} = -1;/g" /etc/needrestart/needrestart.conf
sudo sed -i "s/#\$nrconf{restart} = 'i';/\$nrconf{restart} = 'a';/" /etc/needrestart/needrestart.conf

sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade -y

# TODO Comment on what dependency is required for:
packagelist=(
    "apt-transport-https (>=2.4.11)"
    "avahi-utils (>=0.8-5ubuntu5.2)"                 # Matter uses Avahi
    "ca-certificates (>=20230311ubuntu0.22.04.1)"
    "docker-ce (>=5:24.0.7-1~ubuntu.22.04~jammy)"    # Test Harness uses Docker
    "figlet (>=2.2.5-3)"
    "g++ (>=4:11.2.0-1ubuntu1)"
    "gcc (>=4:11.2.0-1ubuntu1)"
    "generate-ninja (>=0.0~git20220118.0725d78-1)"
    "libavahi-client-dev (>=0.8-5ubuntu5.2)"
    "libcairo2-dev (>=1.16.0-5ubuntu2)"
    "libdbus-1-dev (>=1.12.20-2ubuntu4.1)"
    "libgirepository1.0-dev (>=1.72.0-1)"
    "libglib2.0-dev (>=2.72.4-0ubuntu2.2)"
    "libreadline-dev (>=8.1.2-1)"
    "libssl-dev (>=3.0.2-0ubuntu1.14)"               # Apparently with each update, previous versions of the library are removed
    "net-tools (>=1.60+git20181103.0eebece-1ubuntu5)"
    "ninja-build (>=1.10.1-1)"
    "npm (>=8.5.1~ds-1)"
    "pkg-config (>=0.29.2-1ubuntu3)"
    "python3-pip (>=22.0.2+dfsg-1ubuntu0.4)"          # Test Harness CLI uses Python              
    "python3-venv (>=3.10.6-1~22.04)"                 # Test Harness CLI uses Python
    "software-properties-common (>=0.99.22.9)"
    "toilet (>=0.3-1.4)"
    "unzip (>=6.0-26ubuntu3.1)"
)

SAVEIFS=$IFS
IFS=$(echo -en "\r")
for package in ${packagelist[@]}; do
  echo "# Instaling package: ${package[@]}"
  sudo DEBIAN_FRONTEND=noninteractive sudo apt satisfy ${package[@]} -y --allow-downgrades
done
IFS=$SAVEIFS 

# Install Poetry, needed for Test Harness CLI
curl -sSL https://install.python-poetry.org | python3 -

Steps to reproduce the behavior

No response

Expected behavior

No response

Log files

installation output log ends as follows:

*** Update CLI dependencies
The "poetry.dev-dependencies" section is deprecated and will be removed in a future version. Use "poetry.group.dev.dependencies" instead.
Creating virtualenv certification-tool-cli-Bd4yKGBQ-py3.10 in /home/ubuntu/.cache/pypoetry/virtualenvs
Installing dependencies from lock file

Package operations: 35 installs, 0 updates, 0 removals

  - Installing exceptiongroup (1.2.0)
  - Installing idna (3.6)
  - Installing sniffio (1.3.0)
  - Installing anyio (3.7.1)
  - Installing h11 (0.12.0)
  - Installing typing-extensions (4.9.0)
  - Installing certifi (2023.11.17)
  - Installing click (8.1.7)
  - Installing httpcore (0.13.7)
  - Installing mccabe (0.7.0)
  - Installing mypy-extensions (1.0.0)
  - Installing pathspec (0.12.1)
  - Installing platformdirs (4.1.0)
  - Installing pycodestyle (2.11.1)
  - Installing pydantic (1.10.13)
  - Installing pyflakes (3.1.0)
  - Installing rfc3986 (1.5.0)
  - Installing six (1.16.0)
  - Installing starlette (0.14.2)
  - Installing tomli (2.0.1)
  - Installing aioconsole (0.3.3)
  - Installing attrs (21.4.0)
  - Installing autoflake (2.2.1)
  - Installing black (22.12.0)
  - Installing fastapi (0.68.2)
  - Installing flake8 (6.1.0)
  - Installing httpx (0.18.2)
  - Installing isort (5.13.2)
  - Installing loguru (0.5.3)
  - Installing mypy (1.8.0)
  - Installing python-dateutil (2.8.2)
  - Installing pyyaml (6.0.1)
  - Installing types-click (7.1.8)
  - Installing types-python-dateutil (2.8.19.20240106)
  - Installing websockets (10.4)

Installing the current project: certification-tool-cli (0.1.0)
Error: The current project could not be installed: No file/folder found for package certification-tool-cli
If you do not want to install the current project use --no-root.
If you want to use Poetry only for dependency management but not for packaging, you can disable package mode by setting package-mode = false in your pyproject.toml file.
If you did intend to install the current project, you may need to set `packages` in your pyproject.toml file.

### Exit with Error ###

PICS file

No response

Screenshots

Image

Environment

TH version v2.10.2+spring2024
platform: RPi4 64GB sd card

Additional Information

No response

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions