drexelwireless / dragonradio

DragonRadio
MIT License
8 stars 2 forks source link

Failed building wheel for PyGObject #2

Closed OdayBshara closed 3 years ago

OdayBshara commented 4 years ago

I wanted to install the dragonradio tools in a fresh container and I ran into this error:

How to Reproduce: In a dragonradio container Run:

Ubuntu version: Distributor ID: Ubuntu Description: Ubuntu 20.04.1 LTS Release: 20.04 Codename: focal

Error message:

  ERROR: Command errored out with exit status 1:
   command: /root/dragonradio/tools/env/bin/python /root/dragonradio/tools/env/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmp5nztlczq
       cwd: /tmp/pip-install-yzsf0lcr/pygobject
  Complete output (88 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.8
  creating build/lib.linux-x86_64-3.8/pygtkcompat
  copying pygtkcompat/__init__.py -> build/lib.linux-x86_64-3.8/pygtkcompat
  copying pygtkcompat/generictreemodel.py -> build/lib.linux-x86_64-3.8/pygtkcompat
  copying pygtkcompat/pygtkcompat.py -> build/lib.linux-x86_64-3.8/pygtkcompat
  creating build/lib.linux-x86_64-3.8/gi
  copying gi/__init__.py -> build/lib.linux-x86_64-3.8/gi
  copying gi/_constants.py -> build/lib.linux-x86_64-3.8/gi
  copying gi/_error.py -> build/lib.linux-x86_64-3.8/gi
  copying gi/_gtktemplate.py -> build/lib.linux-x86_64-3.8/gi
  copying gi/_option.py -> build/lib.linux-x86_64-3.8/gi
  copying gi/_ossighelper.py -> build/lib.linux-x86_64-3.8/gi
  copying gi/_propertyhelper.py -> build/lib.linux-x86_64-3.8/gi
  copying gi/_signalhelper.py -> build/lib.linux-x86_64-3.8/gi
  copying gi/docstring.py -> build/lib.linux-x86_64-3.8/gi
  copying gi/importer.py -> build/lib.linux-x86_64-3.8/gi
  copying gi/module.py -> build/lib.linux-x86_64-3.8/gi
  copying gi/pygtkcompat.py -> build/lib.linux-x86_64-3.8/gi
  copying gi/types.py -> build/lib.linux-x86_64-3.8/gi
  creating build/lib.linux-x86_64-3.8/gi/repository
  copying gi/repository/__init__.py -> build/lib.linux-x86_64-3.8/gi/repository
  creating build/lib.linux-x86_64-3.8/gi/overrides
  copying gi/overrides/GIMarshallingTests.py -> build/lib.linux-x86_64-3.8/gi/overrides
  copying gi/overrides/GLib.py -> build/lib.linux-x86_64-3.8/gi/overrides
  copying gi/overrides/GObject.py -> build/lib.linux-x86_64-3.8/gi/overrides
  copying gi/overrides/Gdk.py -> build/lib.linux-x86_64-3.8/gi/overrides
  copying gi/overrides/GdkPixbuf.py -> build/lib.linux-x86_64-3.8/gi/overrides
  copying gi/overrides/Gio.py -> build/lib.linux-x86_64-3.8/gi/overrides
  copying gi/overrides/Gtk.py -> build/lib.linux-x86_64-3.8/gi/overrides
  copying gi/overrides/Pango.py -> build/lib.linux-x86_64-3.8/gi/overrides
  copying gi/overrides/__init__.py -> build/lib.linux-x86_64-3.8/gi/overrides
  copying gi/overrides/keysyms.py -> build/lib.linux-x86_64-3.8/gi/overrides
  running build_ext
  pycairo: new API
  Traceback (most recent call last):
    File "/root/dragonradio/tools/env/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py", line 280, in <module>
      main()
    File "/root/dragonradio/tools/env/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py", line 263, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/root/dragonradio/tools/env/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py", line 204, in build_wheel
      return _build_backend().build_wheel(wheel_directory, config_settings,
    File "/root/dragonradio/tools/env/lib/python3.8/site-packages/setuptools/build_meta.py", line 216, in build_wheel
      return self._build_with_temp_dir(['bdist_wheel'], '.whl',
    File "/root/dragonradio/tools/env/lib/python3.8/site-packages/setuptools/build_meta.py", line 202, in _build_with_temp_dir
      self.run_setup()
    File "/root/dragonradio/tools/env/lib/python3.8/site-packages/setuptools/build_meta.py", line 253, in run_setup
      super(_BuildMetaLegacyBackend,
    File "/root/dragonradio/tools/env/lib/python3.8/site-packages/setuptools/build_meta.py", line 145, in run_setup
      exec(compile(code, __file__, 'exec'), locals())
    File "setup.py", line 1259, in <module>
      main()
    File "setup.py", line 1219, in main
      setup(
    File "/root/dragonradio/tools/env/lib/python3.8/site-packages/setuptools/__init__.py", line 153, in setup
      return distutils.core.setup(**attrs)
    File "/usr/lib/python3.8/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/usr/lib/python3.8/distutils/dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/root/dragonradio/tools/env/lib/python3.8/site-packages/wheel/bdist_wheel.py", line 290, in run
      self.run_command('build')
    File "/usr/lib/python3.8/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/usr/lib/python3.8/distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/usr/lib/python3.8/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "setup.py", line 1088, in run
      self._setup_extensions()
    File "setup.py", line 1083, in _setup_extensions
      add_pycairo(gi_cairo_ext)
    File "setup.py", line 1066, in add_pycairo
      ext.include_dirs += [get_pycairo_include_dir()]
    File "setup.py", line 893, in get_pycairo_include_dir
      include_dir = find_path(find_new_api())
    File "setup.py", line 848, in find_new_api
      import cairo
  ModuleNotFoundError: No module named 'cairo'
  ----------------------------------------
  ERROR: Failed building wheel for PyGObject
  Building wheel for tornado (setup.py) ... done
  Created wheel for tornado: filename=tornado-6.0.4-cp38-cp38-linux_x86_64.whl size=423090 sha256=b1241dd7179da68c805dbb09a859427a6e04160ed08afd9c5017c433c07ac980
  Stored in directory: /root/.cache/pip/wheels/88/79/e5/598ba17e85eccf2626eab62e4ee8452895636cd542650d450d
  Building wheel for pandocfilters (setup.py) ... done
  Created wheel for pandocfilters: filename=pandocfilters-1.4.3-py3-none-any.whl size=7991 sha256=9e190db93ef0b65c9593a2209be9feaba116981662642f89f7de1eeb6d3a4a10
  Stored in directory: /root/.cache/pip/wheels/fc/39/52/8d6f3cec1cca4ceb44d658427c35711b19d89dbc4914af657f
  Building wheel for pyrsistent (setup.py) ... done
  Created wheel for pyrsistent: filename=pyrsistent-0.17.3-cp38-cp38-linux_x86_64.whl size=95798 sha256=fdf005a9575f1608b0591903ab756df4e5bf95fb8b036c6d8c70618bab874237
  Stored in directory: /root/.cache/pip/wheels/3d/22/08/7042eb6309c650c7b53615d5df5cc61f1ea9680e7edd3a08d2
Successfully built pycairo cairocffi tornado pandocfilters pyrsistent
Failed to build PyGObject
ERROR: Could not build wheels for PyGObject which use PEP 517 and cannot be installed directly
root@node2:~/dragonradio/tools# version
version: command not found
mainland commented 4 years ago

Please look at the diff on the wip/fix-2 branch and see if that works.

You will need to use a fresh dragonradio image, and to use the tools, you will need to ssh into the image. You can ssh into the image as root with the password 'dragonradio'.

mainland commented 3 years ago

I believe this is fixed now. If not, please re-open.