We are facing the same issue and it's critical to have it fixed please. I don't wanna introduce fragile hacks into build and deployment pipeline to fix such issues.
Command: snapcraft --target-arch armhf
Output:
Setting target machine to 'armhf'
Sorry, an error occurred in Snapcraft:
Traceback (most recent call last):
File "/usr/bin/snapcraft", line 11, in <module>
load_entry_point('snapcraft==2.43.1+18.4', 'console_scripts', 'snapcraft')()
File "/usr/lib/python3/dist-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/usr/lib/python3/dist-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/usr/lib/python3/dist-packages/click/core.py", line 1043, in invoke
return Command.invoke(self, ctx)
File "/usr/lib/python3/dist-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/lib/python3/dist-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/usr/lib/python3/dist-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/usr/lib/python3/dist-packages/snapcraft/cli/_runner.py", line 93, in run
ctx.forward(lifecyclecli.commands["snap"])
File "/usr/lib/python3/dist-packages/click/core.py", line 553, in forward
return self.invoke(cmd, **kwargs)
File "/usr/lib/python3/dist-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/usr/lib/python3/dist-packages/snapcraft/cli/lifecycle.py", line 136, in snap
project = _execute(steps.PRIME, parts=[], **kwargs)
File "/usr/lib/python3/dist-packages/snapcraft/cli/lifecycle.py", line 34, in _execute
project_config = project_loader.load_config(project)
File "/usr/lib/python3/dist-packages/snapcraft/internal/project_loader/__init__.py", line 36, in load_config
return Config(project)
File "/usr/lib/python3/dist-packages/snapcraft/internal/project_loader/_config.py", line 233, in __init__
build_tools=self.build_tools,
File "/usr/lib/python3/dist-packages/snapcraft/internal/project_loader/_parts_config.py", line 55, in __init__
self._process_parts()
File "/usr/lib/python3/dist-packages/snapcraft/internal/project_loader/_parts_config.py", line 86, in _process_parts
self.load_part(part_name, plugin_name, properties)
File "/usr/lib/python3/dist-packages/snapcraft/internal/project_loader/_parts_config.py", line 206, in load_part
definitions_schema=self._validator.definitions_schema,
File "/usr/lib/python3/dist-packages/snapcraft/internal/pluginhandler/_plugin_loader.py", line 79, in load_plugin
plugin.enable_cross_compilation()
File "/usr/lib/python3/dist-packages/snapcraft/_baseplugin.py", line 188, in enable_cross_compilation
"to a different target architecture".format(self.name)
NotImplementedError: The plugin used by 'setup' does not support cross-compiling to a different target architecture
and the yaml looks like:
grade: stable # must be 'stable' to release into candidate/stable channels
confinement: strict # use 'strict' once you have the right plugs and slots
We are facing the same issue and it's critical to have it fixed please. I don't wanna introduce fragile hacks into build and deployment pipeline to fix such issues.
Command: snapcraft --target-arch armhf
Output: snapcraft" , line 11, in <module> entry_point( 'snapcraft= =2.43.1+ 18.4', 'console_scripts', 'snapcraft')() python3/ dist-packages/ click/core. py", line 722, in __call__ python3/ dist-packages/ click/core. py", line 697, in main python3/ dist-packages/ click/core. py", line 1043, in invoke invoke( self, ctx) python3/ dist-packages/ click/core. py", line 895, in invoke self.callback, **ctx.params) python3/ dist-packages/ click/core. py", line 535, in invoke python3/ dist-packages/ click/decorator s.py", line 17, in new_func context( ), *args, **kwargs) python3/ dist-packages/ snapcraft/ cli/_runner. py", line 93, in run forward( lifecyclecli. commands[ "snap"] ) python3/ dist-packages/ click/core. py", line 553, in forward python3/ dist-packages/ click/core. py", line 535, in invoke python3/ dist-packages/ snapcraft/ cli/lifecycle. py", line 136, in snap steps.PRIME, parts=[], **kwargs) python3/ dist-packages/ snapcraft/ cli/lifecycle. py", line 34, in _execute loader. load_config( project) python3/ dist-packages/ snapcraft/ internal/ project_ loader/ __init_ _.py", line 36, in load_config python3/ dist-packages/ snapcraft/ internal/ project_ loader/ _config. py", line 233, in __init__ tools=self. build_tools, python3/ dist-packages/ snapcraft/ internal/ project_ loader/ _parts_ config. py", line 55, in __init__ _process_ parts() python3/ dist-packages/ snapcraft/ internal/ project_ loader/ _parts_ config. py", line 86, in _process_parts load_part( part_name, plugin_name, properties) python3/ dist-packages/ snapcraft/ internal/ project_ loader/ _parts_ config. py", line 206, in load_part _schema= self._validator .definitions_ schema, python3/ dist-packages/ snapcraft/ internal/ pluginhandler/ _plugin_ loader. py", line 79, in load_plugin enable_ cross_compilati on() python3/ dist-packages/ snapcraft/ _baseplugin. py", line 188, in enable_ cross_compilati on .format( self.name) rror: The plugin used by 'setup' does not support cross-compiling to a different target architecture
Setting target machine to 'armhf'
Sorry, an error occurred in Snapcraft:
Traceback (most recent call last):
File "/usr/bin/
load_
File "/usr/lib/
return self.main(*args, **kwargs)
File "/usr/lib/
rv = self.invoke(ctx)
File "/usr/lib/
return Command.
File "/usr/lib/
return ctx.invoke(
File "/usr/lib/
return callback(*args, **kwargs)
File "/usr/lib/
return f(get_current_
File "/usr/lib/
ctx.
File "/usr/lib/
return self.invoke(cmd, **kwargs)
File "/usr/lib/
return callback(*args, **kwargs)
File "/usr/lib/
project = _execute(
File "/usr/lib/
project_config = project_
File "/usr/lib/
return Config(project)
File "/usr/lib/
build_
File "/usr/lib/
self.
File "/usr/lib/
self.
File "/usr/lib/
definitions
File "/usr/lib/
plugin.
File "/usr/lib/
"to a different target architecture"
NotImplementedE
and the yaml looks like:
grade: stable # must be 'stable' to release into candidate/stable channels
confinement: strict # use 'strict' once you have the right plugs and slots
apps:
Blink:
command: bin/Blink
daemon: simple
refresh-mode: restart
plugs: [gpio]
parts: packages: [RPi.GPIO]
setup:
plugin: python
python-version: python3
python-
stage-packages:
- libbz2-1.0
- liblzma5
- libncursesw5
- libtinfo5
- zlib1g
- libdb5.3
architectures:
- build-on: all
run-on: armhf