canonical / snapcraft

Package, distribute, and update any app for Linux and IoT.
https://snapcraft.io
GNU General Public License v3.0
1.18k stars 440 forks source link

running snapcraft for the first time on debian12 #4442

Closed yvs2014 closed 10 months ago

yvs2014 commented 10 months ago

Bug Description

Hello,

Not sure it's relevant to snapcraft or lxd itself (I've tried to run snapcraft). Is it possible to use snapcraft on Debian?

If it's relevant to snapcraft, below steps of trying to run it:

with snapcraft installed from snap got these errors (installing firstly) ``` % lsb_release -a Distributor ID: Debian Description: Debian GNU/Linux 12 (bookworm) Release: 12 Codename: bookworm ``` ``` % sudo snap install snapcraft --classic ... [no errors] ``` ``` % snapcraft LXD is required but not installed. Do you wish to install LXD and configure it with the defaults? [y/N]: y lxd 5.19-31ff7b6 from Canonical✓ installed sudo: lxd: command not found Traceback (most recent call last): File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_providers/lxd/lxd.py", line 140, in wait_ready subprocess.run(cmd, check=True) File "/snap/snapcraft/9726/usr/lib/python3.8/subprocess.py", line 516, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command '['sudo', 'lxd', 'waitready']' returned non-zero exit status 1. The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/snap/snapcraft/9726/bin/snapcraft", line 8, in sys.exit(run()) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/cli.py", line 255, in run _run_dispatcher(dispatcher, global_args) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/cli.py", line 228, in _run_dispatcher dispatcher.run() File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_cli/dispatcher.py", line 448, in run return self._loaded_command.run(self._parsed_command_args) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/commands/lifecycle.py", line 265, in run super().run(parsed_args) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/commands/lifecycle.py", line 138, in run parts_lifecycle.run(self.name, parsed_args) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 216, in run _run_command( File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 262, in _run_command _run_in_provider(project, command_name, parsed_args) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 490, in _run_in_provider providers.ensure_provider_is_available(provider) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/providers.py", line 148, in ensure_provider_is_available LXDProvider.ensure_provider_is_available() File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_providers/lxd/lxd_provider.py", line 69, in ensure_provider_is_available install() File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_providers/lxd/installer.py", line 67, in install lxd.wait_ready(sudo=sudo) File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_providers/lxd/lxd.py", line 142, in wait_ready raise LXDError( craft_providers.lxd.errors.LXDError: Failed to wait for LXD to get ready. * Command that failed: 'sudo lxd waitready' * Command exit code: 1 ``` ``` ```

after installing lxd manually

% sudo snap remove lxd
... [no errors]
% sudo snap install lxd
... [no errors]

got another one error

errors after that ``` % snapcraft Traceback (most recent call last): File "/snap/snapcraft/9726/bin/snapcraft", line 8, in sys.exit(run()) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/cli.py", line 255, in run _run_dispatcher(dispatcher, global_args) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/cli.py", line 228, in _run_dispatcher dispatcher.run() File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_cli/dispatcher.py", line 448, in run return self._loaded_command.run(self._parsed_command_args) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/commands/lifecycle.py", line 265, in run super().run(parsed_args) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/commands/lifecycle.py", line 138, in run parts_lifecycle.run(self.name, parsed_args) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 216, in run _run_command( File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 262, in _run_command _run_in_provider(project, command_name, parsed_args) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 490, in _run_in_provider providers.ensure_provider_is_available(provider) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/providers.py", line 148, in ensure_provider_is_available LXDProvider.ensure_provider_is_available() File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_providers/lxd/lxd_provider.py", line 70, in ensure_provider_is_available ensure_lxd_is_ready() File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_providers/lxd/installer.py", line 132, in ensure_lxd_is_ready raise errors.LXDError( craft_providers.lxd.errors.LXDError: LXD requires additional permissions. Ensure that the user is in the 'lxd' group. Visit https://linuxcontainers.org/lxd/getting-started-cli/ for instructions on installing and configuring LXD for your operating system. ```

following suggested Ensure that the user is in the 'lxd' group:

with user added to lxd group ``` % sudo usermod -a -G lxd "$(whoami)" % snapcraft Traceback (most recent call last): File "/snap/snapcraft/9726/bin/snapcraft", line 8, in sys.exit(run()) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/cli.py", line 255, in run _run_dispatcher(dispatcher, global_args) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/cli.py", line 228, in _run_dispatcher dispatcher.run() File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_cli/dispatcher.py", line 448, in run return self._loaded_command.run(self._parsed_command_args) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/commands/lifecycle.py", line 265, in run super().run(parsed_args) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/commands/lifecycle.py", line 138, in run parts_lifecycle.run(self.name, parsed_args) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 216, in run _run_command( File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 262, in _run_command _run_in_provider(project, command_name, parsed_args) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 490, in _run_in_provider providers.ensure_provider_is_available(provider) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/providers.py", line 148, in ensure_provider_is_available LXDProvider.ensure_provider_is_available() File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_providers/lxd/lxd_provider.py", line 70, in ensure_provider_is_available ensure_lxd_is_ready() File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_providers/lxd/installer.py", line 132, in ensure_lxd_is_ready raise errors.LXDError( craft_providers.lxd.errors.LXDError: LXD requires additional permissions. Ensure that the user is in the 'lxd' group. Visit https://linuxcontainers.org/lxd/getting-started-cli/ for instructions on installing and configuring LXD for your operating system. ```

To Reproduce

steps from the section "Bug Description"

Environment

% lsb_release -a
Distributor ID: Debian
Description:    Debian GNU/Linux 12 (bookworm)
Release:        12
Codename:       bookworm
dpkg -s snapd ``` Package: snapd Status: install ok installed Priority: optional Section: devel Installed-Size: 59946 Maintainer: Michael Hudson-Doyle Architecture: amd64 Source: snapd (2.57.6-1) Version: 2.57.6-1+b5 Replaces: snap-confine (<< 2.23), snapd-xdg-open (<= 0.0.0), ubuntu-core-launcher (<< 2.22), ubuntu-snappy (<< 1.9), ubuntu-snappy-cli (<< 1.9) Depends: adduser, apparmor (>= 2.10.95-5), ca-certificates, gnupg1 | gnupg, openssh-client, squashfs-tools, systemd, udev, libapparmor1 (>= 2.7.0~beta1+bzr1772), libc6 (>= 2.34), libcap2 (>= 1:2.10), libseccomp2 (>= 2.5.0), libudev1 (>= 183), default-dbus-session-bus | dbus-session-bus Recommends: gnupg Suggests: zenity | kdialog Breaks: snap-confine (<< 2.23), snapd-xdg-open (<= 0.0.0), ubuntu-core-launcher (<< 2.22), ubuntu-snappy (<< 1.9), ubuntu-snappy-cli (<< 1.9) Conflicts: snap (<< 2013-11-29-1ubuntu1) Conffiles: /etc/apparmor.d/usr.lib.snapd.snap-confine.real b7e64e65a9b069d8007643335eb07608 /etc/apt/apt.conf.d/20snapd.conf e0e08d8267c66b9f81340dd6500cb67a /etc/profile.d/apps-bin-path.sh cf10aed8bb987ded8b7f4ba4303c1e9b /etc/xdg/autostart/snap-userd-autostart.desktop 4aaaa2fe36462a072a72e09cad553362 Description: Daemon and tooling that enable snap packages Install, configure, refresh and remove snap packages. Snaps are 'universal' packages that work across many different Linux systems, enabling secure distribution of the latest apps and utilities for cloud, servers, desktops and the internet of things. . Start with 'snap list' to see installed snaps. Built-Using: golang-1.19 (= 1.19.8-2), golang-check.v1 (= 0.0+git20200902.038fdea-1), golang-dbus (= 5.1.0-1), golang-github-boltdb-bolt (= 1.3.1-7), golang-github-coreos-go-systemd (= 22.3.2-1), golang-github-gorilla-mux (= 1.8.0-1), golang-github-juju-ratelimit (= 1.0.1-1.1), golang-github-mvo5-goconfigparser (= 0.2.2-1), golang-github-seccomp-libseccomp-golang (= 0.10.0-3), golang-go-flags (= 1.4.0-6), golang-go.crypto (= 1:0.4.0-1), golang-golang-x-sys (= 0.3.0-1), golang-golang-x-term (= 0.3.0-1), golang-golang-x-xerrors (= 0.0~git20200804.5ec99f8-1), golang-gopkg-macaroon.v1 (= 0.0~git20150121.0.ab3940c-1.1), golang-gopkg-mgo.v2 (= 2016.08.01-7), golang-gopkg-retry.v1 (= 1.0.3-2), golang-gopkg-tomb.v2 (= 0.0~git20161208.d5d1b58-3), golang-gopkg-yaml.v3 (= 3.0.1-3), golang-pretty (= 0.3.0-1), golang-text (= 0.2.0-2), golang-yaml.v2 (= 2.4.0-4), libcap2 (= 1:2.66-4) Homepage: https://github.com/snapcore/snapd ```

snapcraft.yaml

not relevant

Relevant log output

output is above

Additional context

No response

yvs2014 commented 10 months ago

as follow-up the above: there were my missed steps (forgotten relogin and reinit lxd+snapcraft)

after that

snapcraft output ``` `Launching instance... Traceback (most recent call last): File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_providers/bases/buildd.py", line 132, in _execute_run proc = executor.execute_run( File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_providers/lxd/lxd_instance.py", line 289, in execute_run return self.lxc.exec( File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_providers/lxd/lxc.py", line 371, in exec return runner(final_cmd, **kwargs) # pylint: disable=subprocess-run-check File "/snap/snapcraft/9726/usr/lib/python3.8/subprocess.py", line 516, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command '['lxc', '--project', 'snapcraft', 'exec', 'local:snapcraft-fmtr-on-amd64-for-amd64-396822', '--', 'e nv', 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin', 'SNAPCRAFT_MANAGED_MODE=1', 'apt-get', 'update']' return ed non-zero exit status 100. The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/snap/snapcraft/9726/bin/snapcraft", line 8, in sys.exit(run()) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/cli.py", line 255, in run _run_dispatcher(dispatcher, global_args) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/cli.py", line 228, in _run_dispatcher dispatcher.run() File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_cli/dispatcher.py", line 448, in run return self._loaded_command.run(self._parsed_command_args) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/commands/lifecycle.py", line 265, in run super().run(parsed_args) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/commands/lifecycle.py", line 138, in run parts_lifecycle.run(self.name, parsed_args) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 216, in run _run_command( File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 262, in _run_command _run_in_provider(project, command_name, parsed_args) File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 559, in _run_in_provider with provider.launched_environment( File "/snap/snapcraft/9726/usr/lib/python3.8/contextlib.py", line 113, in __enter__ return next(self.gen) File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_providers/lxd/lxd_provider.py", line 138, in launched_environment instance = launch( File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_providers/lxd/launcher.py", line 545, in launch _create_instance( File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_providers/lxd/launcher.py", line 74, in _create_instance base_configuration.setup(executor=instance) File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_providers/bases/buildd.py", line 480, in setup self._setup_apt(executor=executor, deadline=deadline) File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_providers/bases/buildd.py", line 701, in _setup_apt _execute_run(executor, ["apt-get", "update"], verify_network=True) File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_providers/bases/buildd.py", line 137, in _execute_run raise NetworkError() from exc craft_providers.bases.errors.NetworkError: A network related operation failed in a context of no network access. Verify that the environment has internet connectivity; see https://craft-providers.readthedocs.io/ for further reference. ```

and finally after switching network on host system from nat to not-nat configuratiuon, snapcraft+lxc started to work (it hasn't worked via lxc nat plus host system nat for some not totally clear reason)

it's closed, sorry for disturbing