Snapcraft build failing on staging i386 pkgs in core22

snapcraft.yaml

Stage package not found in part 'wine-runtime': libcapi20-3:i386.
Full execution log: '/tmp/snapcraft.log'
Starting Snapcraft 7.1.3
Logging execution to '/home/runner/.cache/snapcraft/log/snapcraft-20220904-105837.918136.log'
Running on amd64 for amd64
Launching instance...
Traceback (most recent call last):
  File "/snap/snapcraft/8187/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 448, in _run_in_provider
    instance.execute_run(cmd, check=True, cwd=output_dir)
  File "/snap/snapcraft/8187/lib/python3.8/site-packages/craft_providers/lxd/lxd_instance.py", line 289, in execute_run
    return self.lxc.exec(
  File "/snap/snapcraft/8187/lib/python3.8/site-packages/craft_providers/lxd/lxc.py", line 329, in exec
    return runner(final_cmd, **kwargs)  # pylint: disable=subprocess-run-check
  File "/snap/snapcraft/8187/usr/lib/python3.8/subprocess.py", line 516, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['lxc', '--project', 'snapcraft', 'exec', 'local:snapcraft-wine-platform-runtime-core22-o-fc23a5c6e7f86f996548', '--cwd', '/root/project', '--', 'env', 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin', 'SNAPCRAFT_MANAGED_MODE=1', 'SNAPCRAFT_BUILD_INFO=1', 'SNAPCRAFT_IMAGE_INFO={"build_url":"https://github.com/mmtrt/wine-platform-runtime-core22-snap/actions/runs/2987825265"}', 'snapcraft', 'pack', '--verbose', '--enable-manifest', '--build-for', 'amd64']' 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/8187/bin/snapcraft", line 8, in <module>
    sys.exit(run())
  File "/snap/snapcraft/8187/lib/python3.8/site-packages/snapcraft/cli.py", line 208, in run
    _run_dispatcher(dispatcher)
  File "/snap/snapcraft/8187/lib/python3.8/site-packages/snapcraft/cli.py", line 197, in _run_dispatcher
    dispatcher.run()
  File "/snap/snapcraft/8187/lib/python3.8/site-packages/craft_cli/dispatcher.py", line 419, in run
    return self._loaded_command.run(self._parsed_command_args)
  File "/snap/snapcraft/8187/lib/python3.8/site-packages/snapcraft/commands/lifecycle.py", line 247, in run
    super().run(parsed_args)
  File "/snap/snapcraft/8187/lib/python3.8/site-packages/snapcraft/commands/lifecycle.py", line 120, in run
    parts_lifecycle.run(self.name, parsed_args)
  File "/snap/snapcraft/8187/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 202, in run
    _run_command(
  File "/snap/snapcraft/8187/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 248, in _run_command
    _run_in_provider(project, command_name, parsed_args)
  File "/snap/snapcraft/8187/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 452, in _run_in_provider
    raise ProviderError(
craft_providers.errors.ProviderError: Failed to execute pack in instance.
Error: The process '/usr/bin/sg' failed with exit code 1

You can have architectures added automatically if you declare package-repositories, however in this case it could be easier to just change override-build in part enable-i386 to override-pull (and remove sudos).

1 Like

Iā€™m still unable to build, it fails on apt refresh.

package-repositories:
  - type: apt
    architectures: [i386,amd64]
    key-id: F6ECB3762474EDA9D21B7022871920D1991BC93C
    key-server: keyserver.ubuntu.com
    formats: [deb]
    components: [main, multiverse, universe, restricted]
    suites: [jammy]
    url: https://archive.ubuntu.com/ubuntu/ 
Launching instance...                                                                                          
Add repository architecture: i386                                                                              
Add repository architecture: amd64                                                                             
Failed to refresh package list: failed to run apt update.                                                      
Full execution log: '/tmp/snapcraft.log'                                                                       
Traceback (most recent call last):
  File "/var/lib/snapd/snap/snapcraft/8187/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 448, in _run_in_provider
    instance.execute_run(cmd, check=True, cwd=output_dir)
  File "/var/lib/snapd/snap/snapcraft/8187/lib/python3.8/site-packages/craft_providers/lxd/lxd_instance.py", line 289, in execute_run
    return self.lxc.exec(
  File "/var/lib/snapd/snap/snapcraft/8187/lib/python3.8/site-packages/craft_providers/lxd/lxc.py", line 329, in exec
    return runner(final_cmd, **kwargs)  # pylint: disable=subprocess-run-check
  File "/var/lib/snapd/snap/snapcraft/8187/usr/lib/python3.8/subprocess.py", line 516, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['lxc', '--project', 'snapcraft', 'exec', 'local:snapcraft-wine-platform-runtime-core22-o-a03a912f9e1769d63ee1', '--cwd', '/root/project', '--', 'env', 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin', 'SNAPCRAFT_MANAGED_MODE=1', 'snapcraft', 'pack', '--build-for', 'amd64']' 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/8187/bin/snapcraft", line 8, in <module>
    sys.exit(run())
  File "/var/lib/snapd/snap/snapcraft/8187/lib/python3.8/site-packages/snapcraft/cli.py", line 208, in run
    _run_dispatcher(dispatcher)
  File "/var/lib/snapd/snap/snapcraft/8187/lib/python3.8/site-packages/snapcraft/cli.py", line 197, in _run_dispatcher
    dispatcher.run()
  File "/var/lib/snapd/snap/snapcraft/8187/lib/python3.8/site-packages/craft_cli/dispatcher.py", line 419, in run
    return self._loaded_command.run(self._parsed_command_args)
  File "/var/lib/snapd/snap/snapcraft/8187/lib/python3.8/site-packages/snapcraft/commands/lifecycle.py", line 247, in run
    super().run(parsed_args)
  File "/var/lib/snapd/snap/snapcraft/8187/lib/python3.8/site-packages/snapcraft/commands/lifecycle.py", line 120, in run
    parts_lifecycle.run(self.name, parsed_args)
  File "/var/lib/snapd/snap/snapcraft/8187/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 202, in run
    _run_command(
  File "/var/lib/snapd/snap/snapcraft/8187/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 248, in _run_command
    _run_in_provider(project, command_name, parsed_args)
  File "/var/lib/snapd/snap/snapcraft/8187/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 452, in _run_in_provider
    raise ProviderError(
craft_providers.errors.ProviderError: Failed to execute pack in instance.

This failure to run apt-update is quite strange, I tried the original yaml with the package-repositories stanza you provided, and it seems to work for me:

$ /snap/bin/snapcraft --verbose
Starting Snapcraft 7.1.4                                                                                                                                                                       
...
Executed: prime wine-runtime                                                                                                                                                                   
Executed parts lifecycle                                                                                                                                                                       
Extracting and updating metadata...                                                                                                                                                            
Copying snap assets...                                                                                                                                                                         
Generating snap metadata...                                                                                                                                                                    
Generated snap metadata                                                                                                                                                                        
Creating snap package...                                                                                                                                                                       
Created snap package wine-platform-runtime-core22_v1.0_amd64.snap

Could you make sure you have proper network access inside the container, running snapcraft with --debug to enter the environment? If you have docker installed, it could cause some network issues (we had this happening in charmcraft).

It seems to build fine on github so this was failing on local build.