← Back to issue list

Broken core20 armhf builds on launchpad

View original Github issue

Metadata

Project
snapcraft
Number
#5077
Type
issue
State
closed
Author
Hook25
Labels
Created
Updated
Closed

Current evaluation

Fixed core20 armhf Launchpad build failures caused by an OpenSSL 3.0 legacy provider error. Resolved via snapcraft PR #5084 (v8.4.2) and PR #5105 (v7.5.8).

Suggested action:

No scores available.

Issue body

### Bug Description When building on launchpad via remote-build a core20 snap for armhf, the traceback in this output is printed. This happens deterministically in our daily builds that are dispatched via snapcraft 7. ### To Reproduce I think this should happen building any core20 snap via remote-build (as there is nothing special in what we do and if fails to run as soon as it is picked up for any core20 armhf snap we build) ```shell git clone https://github.com/canonical/checkbox cd checkbox/checkbox-snap ./prepare.sh series_classic20 snap refresh snapcraft --channel=7 snapcraft remote-build --build-for=armhf ``` ### Environment Workflow: https://github.com/canonical/checkbox/blob/main/.github/workflows/checkbox-snap-daily-builds.yml ### snapcraft.yaml ```yaml name: checkbox summary: Checkbox test runner description: | Checkbox is a flexible test automation software. It’s the main tool used in Ubuntu Certification program. adopt-info: version-calculator grade: stable confinement: classic base: core20 apps: checkbox-cli: command-chain: [bin/wrapper_local] command: bin/checkbox-cli-wrapper test-runner: command-chain: [bin/wrapper_local] command: bin/test-runner sru: command-chain: [bin/wrapper_local] command: bin/sru client-cert-iot-server: command-chain: [bin/wrapper_local] command: bin/client-cert-iot-server odm-certification: command-chain: [bin/wrapper_local] command: bin/odm-certification-app configure: command: bin/configure agent: command-chain: [bin/wrapper_local] command: bin/checkbox-cli-wrapper run-agent daemon: simple restart-condition: always restart-delay: 1s shell: command-chain: [bin/wrapper_local] command: bin/shell-wrapper passthrough: hooks: configure: command-chain: [bin/wrapper_local] parts: version-calculator: plugin: dump source: . override-pull: | snapcraftctl pull # version.txt created by prepare.sh export version=`cat $SNAPCRAFT_PART_SRC/version.txt` [ $version ] || exit 1 snapcraftctl set-version $version stage: - version.txt launchers: plugin: dump source: launchers/ organize: '*': bin/ config-variables: plugin: dump source: . stage: [config_vars] workaround-automated-review-issue: plugin: nil override-build: | # This is a workaround for an upstream bug in the automated snap review tool # remove this once this issue is resolved: # https://bugs.launchpad.net/review-tools/+bug/2049093 # Note: this cats /dev/urandom because the squashfs will collapse any # predictable output to less than the desired size making this # ineffective echo "This file is a workaround for a bug in the automated snap review tool" > $SNAPCRAFT_PART_INSTALL/size_workaround echo "this only contains random bytes to pad the snap to 16kb" >> $SNAPCRAFT_PART_INSTALL/size_workaround echo "see: https://bugs.launchpad.net/review-tools/+bug/2049093" >> $SNAPCRAFT_PART_INSTALL/size_workaround head -c 16384 /dev/urandom >> $SNAPCRAFT_PART_INSTALL/size_workaround ``` ### Relevant log output ```shell Traceback (most recent call last): File "<string>", line 2, in <module> File "/snap/snapcraft/12614/lib/python3.10/site-packages/snapcraft_legacy/__init__.py", line 352, in <module> from snapcraft_legacy._store import ( # noqa File "/snap/snapcraft/12614/lib/python3.10/site-packages/snapcraft_legacy/_store.py", line 30, in <module> import craft_store File "/snap/snapcraft/12614/lib/python3.10/site-packages/craft_store/__init__.py", line 23, in <module> from .auth import Auth File "/snap/snapcraft/12614/lib/python3.10/site-packages/craft_store/auth.py", line 33, in <module> from keyring.backends import SecretService File "/snap/snapcraft/12614/lib/python3.10/site-packages/keyring/backends/SecretService.py", line 16, in <module> import secretstorage File "/snap/snapcraft/12614/lib/python3.10/site-packages/secretstorage/__init__.py", line 13, in <module> from secretstorage.collection import Collection, create_collection, \ File "/snap/snapcraft/12614/lib/python3.10/site-packages/secretstorage/collection.py", line 24, in <module> from secretstorage.item import Item File "/snap/snapcraft/12614/lib/python3.10/site-packages/secretstorage/item.py", line 17, in <module> from secretstorage.util import DBusAddressWrapper, \ File "/snap/snapcraft/12614/lib/python3.10/site-packages/secretstorage/util.py", line 23, in <module> from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes File "/snap/snapcraft/12614/lib/python3.10/site-packages/cryptography/hazmat/primitives/ciphers/__init__.py", line 11, in <module> from cryptography.hazmat.primitives.ciphers.base import ( File "/snap/snapcraft/12614/lib/python3.10/site-packages/cryptography/hazmat/primitives/ciphers/base.py", line 10, in <module> from cryptography.hazmat.bindings._rust import openssl as rust_openssl RuntimeError: OpenSSL 3.0's legacy provider failed to load. This is a fatal error by default, but cryptography supports running without legacy algorithms by setting the environment variable CRYPTOGRAPHY_OPENSSL_NO_LEGACY. If you did not expect this error, you have likely made a mistake with your OpenSSL configuration. ``` ### Additional context See it failing here: https://github.com/canonical/checkbox/actions/workflows/daily-builds.yml Relevant logs: [checkbox_armhf.txt](https://github.com/user-attachments/files/17185713/checkbox_armhf.txt) [checkbox_armhf.4.txt](https://github.com/user-attachments/files/17185714/checkbox_armhf.4.txt) [checkbox_armhf.3.txt](https://github.com/user-attachments/files/17185715/checkbox_armhf.3.txt) [checkbox_armhf.2.txt](https://github.com/user-attachments/files/17185716/checkbox_armhf.2.txt) [checkbox_armhf.1.txt](https://github.com/user-attachments/files/17185717/checkbox_armhf.1.txt)

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Fixed core20 armhf Launchpad build failures caused by an OpenSSL 3.0 legacy provider error. Resolved via snapcraft PR #5084 (v8.4.2) and PR #5105 (v7.5.8).
qwen/qwen3.6-35b-a3b Fixed OpenSSL 3.0 legacy provider error breaking core20 armhf builds. Resolved via craft-store PR #221 and snapcraft PRs #5084 (v8.4.2) and #5105 (v7.5.8). Released to stable.
qwen3.6-35b-a3b-mtp-q6 Fixed core20 armhf build failures caused by OpenSSL 3.0 legacy provider errors. Resolved via snapcraft PR #5084 and craft-store PR #221, released in snapcraft 8.4.2 and 7.5.8.
qwen3.6-35b-a3b-mtp-q6 Core20 armhf builds failed due to an OpenSSL 3.0 legacy provider error. Resolved by updating craft-store dependencies. Fix merged via snapcraft PR #5084 in release 8.4.2 and PR #5105 in release 7.5.8.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#2064639 snapcraft remote-build core20 armhf openssl error snapcraft (launchpad) open snapcraft remote-build fails on core20 armhf due to OpenSSL 3.0 legacy provider error in configure hook. Unlabelled, no maintainer response, 854 days old.
77%