Comment 4 for bug 1813634

Revision history for this message
Saeed (saeedmasoumi) wrote :

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

apps:
  Blink:
    command: bin/Blink
    daemon: simple
    refresh-mode: restart
    plugs: [gpio]

parts:
  setup:
    plugin: python
    python-version: python3
    python-packages: [RPi.GPIO]
    stage-packages:
     - libbz2-1.0
     - liblzma5
     - libncursesw5
     - libtinfo5
     - zlib1g
     - libdb5.3

architectures:
  - build-on: all
    run-on: armhf