OSTree import fails with: Namespace OSTree not available

Summary

Building any project with an ostree import fails with bst 1.2.4 from pypi. For example https://gitlab.com/BuildStream/glade-demo, however any project with an import source ostree fails in the same way.

Steps to reproduce

git clone https://gitlab.com/BuildStream/glade-demo
cd glade-demo
bst build glade.bst

What is the current bug behavior?

See log below

What is the expected correct behavior?

Relevant logs and/or screenshots

abcd@ares:~/Projects/glade-demo$ bst build glade.bst 
[--:--:--][][] START   Build
[--:--:--][][] START   Loading elements
[00:00:00][][] SUCCESS Loading elements
[--:--:--][][] START   Resolving elements
[--:--:--][][] BUG     Namespace OSTree not available

    Traceback (most recent call last):
      File "/usr/bin/bst", line 8, in <module>
        sys.exit(cli())
      File "/usr/lib/python3/dist-packages/click/core.py", line 764, in __call__
        return self.main(*args, **kwargs)
      File "/usr/lib/python3/dist-packages/buildstream/_frontend/cli.py", line 162, in override_main
        standalone_mode=standalone_mode, **extra)
      File "/usr/lib/python3/dist-packages/click/core.py", line 717, in main
        rv = self.invoke(ctx)
      File "/usr/lib/python3/dist-packages/click/core.py", line 1137, in invoke
        return _process_result(sub_ctx.command.invoke(sub_ctx))
      File "/usr/lib/python3/dist-packages/click/core.py", line 956, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "/usr/lib/python3/dist-packages/click/core.py", line 555, in invoke
        return callback(*args, **kwargs)
      File "/usr/lib/python3/dist-packages/click/decorators.py", line 27, in new_func
        return f(get_current_context().obj, *args, **kwargs)
      File "/usr/lib/python3/dist-packages/buildstream/_frontend/cli.py", line 330, in build
        build_all=all_)
      File "/usr/lib/python3/dist-packages/buildstream/_stream.py", line 184, in build
        dynamic_plan=True)
      File "/usr/lib/python3/dist-packages/buildstream/_stream.py", line 871, in _load
        fetch_subprojects=fetch_subprojects)
      File "/usr/lib/python3/dist-packages/buildstream/_pipeline.py", line 111, in load
        fetch_subprojects=fetch_subprojects)
      File "/usr/lib/python3/dist-packages/buildstream/_project.py", line 321, in load_elements
        for meta in meta_elements
      File "/usr/lib/python3/dist-packages/buildstream/_project.py", line 321, in <listcomp>
        for meta in meta_elements
      File "/usr/lib/python3/dist-packages/buildstream/element.py", line 928, in _new_from_meta
        dependency = Element._new_from_meta(meta_dep, artifacts)
      File "/usr/lib/python3/dist-packages/buildstream/element.py", line 928, in _new_from_meta
        dependency = Element._new_from_meta(meta_dep, artifacts)
      File "/usr/lib/python3/dist-packages/buildstream/element.py", line 915, in _new_from_meta
        first_pass=meta.first_pass)
      File "/usr/lib/python3/dist-packages/buildstream/_project.py", line 249, in create_source
        return self.config.source_factory.create(self._context, self, meta)
      File "/usr/lib/python3/dist-packages/buildstream/_sourcefactory.py", line 60, in create
        source_type, _ = self.lookup(meta.kind)
      File "/usr/lib/python3/dist-packages/buildstream/_plugincontext.py", line 77, in lookup
        return self._ensure_plugin(kind)
      File "/usr/lib/python3/dist-packages/buildstream/_plugincontext.py", line 161, in _ensure_plugin
        self._types[kind] = self._load_plugin(source, kind, defaults)
      File "/usr/lib/python3/dist-packages/buildstream/_plugincontext.py", line 170, in _load_plugin
        plugin = source.load_plugin(kind)
      File "/usr/lib/python3/dist-packages/pluginbase.py", line 302, in load_plugin
        globals(), {}, ['__name__'])
      File "/usr/lib/python3/dist-packages/pluginbase.py", line 439, in plugin_import
        fromlist, level)
      File "/usr/lib/python3/dist-packages/buildstream/plugins/sources/ostree.py", line 57, in <module>
        from buildstream import _ostree
      File "/usr/lib/python3/dist-packages/pluginbase.py", line 439, in plugin_import
        fromlist, level)
      File "/usr/lib/python3/dist-packages/buildstream/_ostree.py", line 36, in <module>
        gi.require_version('OSTree', '1.0')
      File "/usr/lib/python3/dist-packages/gi/__init__.py", line 129, in require_version
        raise ValueError('Namespace %s not available' % namespace)
    ValueError: Namespace OSTree not available

Possible fixes

Other relevant information

  • BuildStream version affected: /milestone %BuildStream_v1.x

Edited by mbodmer