Adding node/12/stable
to my stage-snaps
breaks my build.
When I comment out these two lines in my snapcraft.yaml, it works:
stage-snaps:
- node/12/stable
I get an error that might be similar to the one described here. Instead of a segmentation fault, I get a python MemoryError exception
...
Priming mypartname
Traceback (most recent call last):
File "/snap/snapcraft/4673/bin/snapcraft", line 11, in <module>
load_entry_point('snapcraft==3.9.1', 'console_scripts', 'snapcraft')()
File "/snap/snapcraft/4673/lib/python3.6/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/snap/snapcraft/4673/lib/python3.6/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/snap/snapcraft/4673/lib/python3.6/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/snap/snapcraft/4673/lib/python3.6/site-packages/snapcraft/cli/_command.py", line 88, in invoke
return super().invoke(ctx)
File "/snap/snapcraft/4673/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/snap/snapcraft/4673/lib/python3.6/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/snap/snapcraft/4673/lib/python3.6/site-packages/snapcraft/cli/lifecycle.py", line 272, in snap
_execute(steps.PRIME, parts=tuple(), pack_project=True, output=output, **kwargs)
File "/snap/snapcraft/4673/lib/python3.6/site-packages/snapcraft/cli/lifecycle.py", line 77, in _execute
lifecycle.execute(step, project_config, parts)
File "/snap/snapcraft/4673/lib/python3.6/site-packages/snapcraft/internal/lifecycle/_runner.py", line 134, in execute
executor.run(step, part_names)
File "/snap/snapcraft/4673/lib/python3.6/site-packages/snapcraft/internal/lifecycle/_runner.py", line 188, in run
self._handle_step(part_names, part, step, current_step, cli_config)
File "/snap/snapcraft/4673/lib/python3.6/site-packages/snapcraft/internal/lifecycle/_runner.py", line 202, in _handle_step
getattr(self, "_run_{}".format(current_step.name))(part)
File "/snap/snapcraft/4673/lib/python3.6/site-packages/snapcraft/internal/lifecycle/_runner.py", line 277, in _run_prime
self._run_step(step=steps.PRIME, part=part, progress="Priming")
File "/snap/snapcraft/4673/lib/python3.6/site-packages/snapcraft/internal/lifecycle/_runner.py", line 322, in _run_step
getattr(part, step.name)()
File "/snap/snapcraft/4673/lib/python3.6/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 878, in prime
self._do_runner_step(steps.PRIME)
File "/snap/snapcraft/4673/lib/python3.6/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 263, in _do_runner_step
return getattr(self._runner, "{}".format(step.name))()
File "/snap/snapcraft/4673/lib/python3.6/site-packages/snapcraft/internal/pluginhandler/_runner.py", line 101, in prime
"override-prime", self._override_prime_scriptlet, self._primedir
File "/snap/snapcraft/4673/lib/python3.6/site-packages/snapcraft/internal/pluginhandler/_runner.py", line 164, in _run_scriptlet
scriptlet_name, function_call.strip()
File "/snap/snapcraft/4673/lib/python3.6/site-packages/snapcraft/internal/pluginhandler/_runner.py", line 220, in _handle_builtin_function
function(**function_args)
File "/snap/snapcraft/4673/lib/python3.6/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 904, in _do_prime
dependency_paths = self._handle_elf(snap_files)
File "/snap/snapcraft/4673/lib/python3.6/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 914, in _handle_elf
elf_files = elf.get_elf_files(self._project.prime_dir, snap_files)
File "/snap/snapcraft/4673/lib/python3.6/site-packages/snapcraft/internal/elf.py", line 649, in get_elf_files
elf_file = ElfFile(path=path)
File "/snap/snapcraft/4673/lib/python3.6/site-packages/snapcraft/internal/elf.py", line 301, in __init__
self._extract_attributes()
File "/snap/snapcraft/4673/lib/python3.6/site-packages/snapcraft/internal/elf.py", line 339, in _extract_attributes
for note in segment.iter_notes():
File "/snap/snapcraft/4673/lib/python3.6/site-packages/elftools/elf/notes.py", line 32, in iter_notes
desc_data = bytes2str(elffile.stream.read(note['n_descsz']))
MemoryError
Has anyone gotten it to work?
Edit
This is probably because node is a classic snap. Is it not possible to have a classic snap as a stage-snap?
If so, how should I install node? Is the plugin the only way? I have no need for installing npm/yarn, and I’d like to keep the snap as small as possible.