Project

Profile

Help

Issue #5992

closed

ansible-pulp rpm plugin: Failed building wheel for PyGObject Failed building wheel for pycairo

Added by sdiepend over 4 years ago. Updated about 4 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Sprint/Milestone:
-
Start date:
Due date:
Estimated time:
Severity:
2. Medium
Version:
Platform Release:
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Sprint:
Quarter:

Description

When trying to install pulp on a vagrant CentOS 7 box i get the following error:

TASK [pulp : Install Pulp plugins via PyPI] ****************************************************************************************************************************************************************
failed: [vagrant] (item={'key': 'pulp-rpm', 'value': {'prereq_role': 'pulp.pulp_rpm_prerequisites'}}) => {
    "ansible_loop_var": "item",
    "changed": false,
    "cmd": [
        "/usr/local/lib/pulp/bin/pip",
        "install",
        "pulp-rpm"
    ],
    "item": {
        "key": "pulp-rpm",
        "value": {
            "prereq_role": "pulp.pulp_rpm_prerequisites"
        }
    }
}

MSG:

stdout: Collecting pulp-rpm
  Using cached https://files.pythonhosted.org/packages/d0/02/cfc059e1e0d6ce426c81c288a3f7f085f4fc74d34106464173f4cf0f3cd7/pulp_rpm-3.0.0-py3-none-any.whl
Requirement already satisfied: productmd in /usr/local/lib/pulp/lib/python3.6/site-packages (from pulp-rpm)
Requirement already satisfied: createrepo-c~=0.13 in /usr/local/lib/pulp/lib/python3.6/site-packages (from pulp-rpm)
Collecting PyGObject~=3.22 (from pulp-rpm)
  Using cached https://files.pythonhosted.org/packages/46/8a/b183f3edc812d4d28c8b671a922b5bc2863be5d38c56b3ad9155815e78dd/PyGObject-3.34.0.tar.gz
Requirement already satisfied: pulpcore<3.1,>=3.0.0 in /usr/local/lib/pulp/lib/python3.6/site-packages (from pulp-rpm)
Requirement already satisfied: libcomps~=0.1.11 in /usr/local/lib/pulp/lib/python3.6/site-packages (from pulp-rpm)
Requirement already satisfied: six in /usr/local/lib/pulp/lib/python3.6/site-packages (from productmd->pulp-rpm)
Collecting pycairo>=1.11.1 (from PyGObject~=3.22->pulp-rpm)
  Using cached https://files.pythonhosted.org/packages/3c/1a/c0478ecab31baae50fda9956547788afbd0ca563adc52c9b03cab30f17eb/pycairo-1.18.2.tar.gz
Requirement already satisfied: dynaconf<2.3,>=2.2 in /usr/local/lib/pulp/lib/python3.6/site-packages (from pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: psycopg2<2.9,>=2.7 in /usr/local/lib/pulp/lib/python3.6/site-packages (from pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: drf-nested-routers~=0.91.0 in /usr/local/lib/pulp/lib/python3.6/site-packages (from pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: Django~=2.2.3 in /usr/local/lib/pulp/lib/python3.6/site-packages (from pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: coreapi~=2.3.3 in /usr/local/lib/pulp/lib/python3.6/site-packages (from pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: djangorestframework-queryfields~=1.0.0 in /usr/local/lib/pulp/lib/python3.6/site-packages (from pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: PyYAML<5.3.0,>=5.1.1 in /usr/local/lib/pulp/lib/python3.6/site-packages (from pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: rq~=1.1.0 in /usr/local/lib/pulp/lib/python3.6/site-packages (from pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: aiohttp in /usr/local/lib/pulp/lib/python3.6/site-packages (from pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: django-filter~=2.2.0 in /usr/local/lib/pulp/lib/python3.6/site-packages (from pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: whitenoise~=4.1.3 in /usr/local/lib/pulp/lib/python3.6/site-packages (from pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: setuptools<42.1.0,>=39.2.0 in /usr/local/lib/pulp/lib/python3.6/site-packages (from pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: pygtrie~=2.3.2 in /usr/local/lib/pulp/lib/python3.6/site-packages (from pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: backoff in /usr/local/lib/pulp/lib/python3.6/site-packages (from pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: aiofiles in /usr/local/lib/pulp/lib/python3.6/site-packages (from pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: djangorestframework~=3.10.2 in /usr/local/lib/pulp/lib/python3.6/site-packages (from pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: redis~=3.1.0 in /usr/local/lib/pulp/lib/python3.6/site-packages (from pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: gunicorn<20.1,>=19.9 in /usr/local/lib/pulp/lib/python3.6/site-packages (from pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: drf-yasg~=1.17.0 in /usr/local/lib/pulp/lib/python3.6/site-packages (from pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: python-dotenv<=0.10.3 in /usr/local/lib/pulp/lib/python3.6/site-packages (from dynaconf<2.3,>=2.2->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: python-box<4.0.0 in /usr/local/lib/pulp/lib/python3.6/site-packages (from dynaconf<2.3,>=2.2->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: toml<=0.10.0 in /usr/local/lib/pulp/lib/python3.6/site-packages (from dynaconf<2.3,>=2.2->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: click<=7.0 in /usr/local/lib/pulp/lib/python3.6/site-packages (from dynaconf<2.3,>=2.2->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: sqlparse in /usr/local/lib/pulp/lib/python3.6/site-packages (from Django~=2.2.3->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: pytz in /usr/local/lib/pulp/lib/python3.6/site-packages (from Django~=2.2.3->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: uritemplate in /usr/local/lib/pulp/lib/python3.6/site-packages (from coreapi~=2.3.3->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: itypes in /usr/local/lib/pulp/lib/python3.6/site-packages (from coreapi~=2.3.3->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: coreschema in /usr/local/lib/pulp/lib/python3.6/site-packages (from coreapi~=2.3.3->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: requests in /usr/local/lib/pulp/lib/python3.6/site-packages (from coreapi~=2.3.3->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: multidict<5.0,>=4.5 in /usr/local/lib/pulp/lib/python3.6/site-packages (from aiohttp->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: async-timeout<4.0,>=3.0 in /usr/local/lib/pulp/lib/python3.6/site-packages (from aiohttp->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: idna-ssl>=1.0; python_version < "3.7" in /usr/local/lib/pulp/lib/python3.6/site-packages (from aiohttp->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/pulp/lib/python3.6/site-packages (from aiohttp->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: yarl<2.0,>=1.0 in /usr/local/lib/pulp/lib/python3.6/site-packages (from aiohttp->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: chardet<4.0,>=2.0 in /usr/local/lib/pulp/lib/python3.6/site-packages (from aiohttp->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: typing-extensions>=3.6.5; python_version < "3.7" in /usr/local/lib/pulp/lib/python3.6/site-packages (from aiohttp->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: ruamel.yaml>=0.15.34 in /usr/local/lib/pulp/lib/python3.6/site-packages (from drf-yasg~=1.17.0->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: packaging in /usr/local/lib/pulp/lib/python3.6/site-packages (from drf-yasg~=1.17.0->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: inflection>=0.3.1 in /usr/local/lib/pulp/lib/python3.6/site-packages (from drf-yasg~=1.17.0->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: jinja2 in /usr/local/lib/pulp/lib/python3.6/site-packages (from coreschema->coreapi~=2.3.3->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: idna<2.9,>=2.5 in /usr/local/lib/pulp/lib/python3.6/site-packages (from requests->coreapi~=2.3.3->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/pulp/lib/python3.6/site-packages (from requests->coreapi~=2.3.3->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/pulp/lib/python3.6/site-packages (from requests->coreapi~=2.3.3->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: ruamel.yaml.clib>=0.1.2; platform_python_implementation == "CPython" and python_version < "3.8" in /usr/local/lib/pulp/lib/python3.6/site-packages (from ruamel.yaml>=0.15.34->drf-yasg~=1.17.0->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: pyparsing>=2.0.2 in /usr/local/lib/pulp/lib/python3.6/site-packages (from packaging->drf-yasg~=1.17.0->pulpcore<3.1,>=3.0.0->pulp-rpm)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/pulp/lib/python3.6/site-packages (from jinja2->coreschema->coreapi~=2.3.3->pulpcore<3.1,>=3.0.0->pulp-rpm)
Building wheels for collected packages: PyGObject, pycairo
  Running setup.py bdist_wheel for PyGObject: started
  Running setup.py bdist_wheel for PyGObject: finished with status 'error'
  Complete output from command /usr/local/lib/pulp/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-vkiebs21/PyGObject/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpkh0lfgyfpip-wheel- --python-tag cp36:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.6
  creating build/lib.linux-x86_64-3.6/pygtkcompat
  copying pygtkcompat/__init__.py -> build/lib.linux-x86_64-3.6/pygtkcompat
  copying pygtkcompat/generictreemodel.py -> build/lib.linux-x86_64-3.6/pygtkcompat
  copying pygtkcompat/pygtkcompat.py -> build/lib.linux-x86_64-3.6/pygtkcompat
  creating build/lib.linux-x86_64-3.6/gi
  copying gi/__init__.py -> build/lib.linux-x86_64-3.6/gi
  copying gi/_compat.py -> build/lib.linux-x86_64-3.6/gi
  copying gi/_constants.py -> build/lib.linux-x86_64-3.6/gi
  copying gi/_error.py -> build/lib.linux-x86_64-3.6/gi
  copying gi/_gtktemplate.py -> build/lib.linux-x86_64-3.6/gi
  copying gi/_option.py -> build/lib.linux-x86_64-3.6/gi
  copying gi/_ossighelper.py -> build/lib.linux-x86_64-3.6/gi
  copying gi/_propertyhelper.py -> build/lib.linux-x86_64-3.6/gi
  copying gi/_signalhelper.py -> build/lib.linux-x86_64-3.6/gi
  copying gi/docstring.py -> build/lib.linux-x86_64-3.6/gi
  copying gi/importer.py -> build/lib.linux-x86_64-3.6/gi
  copying gi/module.py -> build/lib.linux-x86_64-3.6/gi
  copying gi/pygtkcompat.py -> build/lib.linux-x86_64-3.6/gi
  copying gi/types.py -> build/lib.linux-x86_64-3.6/gi
  creating build/lib.linux-x86_64-3.6/gi/repository
  copying gi/repository/__init__.py -> build/lib.linux-x86_64-3.6/gi/repository
  creating build/lib.linux-x86_64-3.6/gi/overrides
  copying gi/overrides/GIMarshallingTests.py -> build/lib.linux-x86_64-3.6/gi/overrides
  copying gi/overrides/GLib.py -> build/lib.linux-x86_64-3.6/gi/overrides
  copying gi/overrides/GObject.py -> build/lib.linux-x86_64-3.6/gi/overrides
  copying gi/overrides/Gdk.py -> build/lib.linux-x86_64-3.6/gi/overrides
  copying gi/overrides/GdkPixbuf.py -> build/lib.linux-x86_64-3.6/gi/overrides
  copying gi/overrides/Gio.py -> build/lib.linux-x86_64-3.6/gi/overrides
  copying gi/overrides/Gtk.py -> build/lib.linux-x86_64-3.6/gi/overrides
  copying gi/overrides/Pango.py -> build/lib.linux-x86_64-3.6/gi/overrides
  copying gi/overrides/__init__.py -> build/lib.linux-x86_64-3.6/gi/overrides
  copying gi/overrides/keysyms.py -> build/lib.linux-x86_64-3.6/gi/overrides
  running build_ext
  Package gobject-introspection-1.0 was not found in the pkg-config search path.
  Perhaps you should add the directory containing `gobject-introspection-1.0.pc'
  to the PKG_CONFIG_PATH environment variable
  No package 'gobject-introspection-1.0' found
  Command '('pkg-config', '--print-errors', '--exists', 'gobject-introspection-1.0 >= 1.46.0')' returned non-zero exit status 1.

  ----------------------------------------
  Running setup.py clean for PyGObject
  Running setup.py bdist_wheel for pycairo: started
  Running setup.py bdist_wheel for pycairo: finished with status 'error'
  Complete output from command /usr/local/lib/pulp/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-vkiebs21/pycairo/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpy8k20fu5pip-wheel- --python-tag cp36:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.6
  creating build/lib.linux-x86_64-3.6/cairo
  copying cairo/__init__.py -> build/lib.linux-x86_64-3.6/cairo
  copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.6/cairo
  copying cairo/py.typed -> build/lib.linux-x86_64-3.6/cairo
  running build_ext
  Package cairo was not found in the pkg-config search path.
  Perhaps you should add the directory containing `cairo.pc'
  to the PKG_CONFIG_PATH environment variable
  No package 'cairo' found
  Command '['pkg-config', '--print-errors', '--exists', 'cairo >= 1.13.1']' returned non-zero exit status 1.

  ----------------------------------------
  Running setup.py clean for pycairo
Failed to build PyGObject pycairo
Installing collected packages: pycairo, PyGObject, pulp-rpm
  Running setup.py install for pycairo: started
    Running setup.py install for pycairo: finished with status 'error'
    Complete output from command /usr/local/lib/pulp/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-vkiebs21/pycairo/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-s2tmylq5-record/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/lib/pulp/include/site/python3.6/pycairo:
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.6
    creating build/lib.linux-x86_64-3.6/cairo
    copying cairo/__init__.py -> build/lib.linux-x86_64-3.6/cairo
    copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.6/cairo
    copying cairo/py.typed -> build/lib.linux-x86_64-3.6/cairo
    running build_ext
    Package cairo was not found in the pkg-config search path.
    Perhaps you should add the directory containing `cairo.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'cairo' found
    Command '['pkg-config', '--print-errors', '--exists', 'cairo >= 1.13.1']' returned non-zero exit status 1.

    ----------------------------------------

:stderr:   Failed building wheel for PyGObject
  Failed building wheel for pycairo
Command "/usr/local/lib/pulp/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-vkiebs21/pycairo/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-s2tmylq5-record/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/lib/pulp/include/site/python3.6/pycairo" failed with error code 1 in /tmp/pip-build-vkiebs21/pycairo/
You are using pip version 9.0.3, however version 19.3.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Actions #1

Updated by ttereshc over 4 years ago

  • Description updated (diff)

Pre'd the description

Actions #2

Updated by sdiepend over 4 years ago

The error occurred when adding the rpm plugin afterwards to an existing install. When I tried installing from zero on a new vagrant with the pulp rpm included everything worked fine.

Actions #3

Updated by mdepaulo@redhat.com over 4 years ago

Sorry you ran into this issue,

I'm almost certain the problem is that you need to set this variable, which we document but is easy to miss:
pulp_use_system_wide_pkgs: true

Please try that.

If it works, I am open to ideas on how to improve the usability (like having the pulp_rpm_prrequisites role override the variable for the pulp role, if that is feasible and robust.)

Actions #4

Updated by mdepaulo@redhat.com over 4 years ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to mdepaulo@redhat.com
Actions #5

Updated by mdepaulo@redhat.com about 4 years ago

  • Description updated (diff)
  • Triaged changed from No to Yes

Added by Mike DePaulo about 4 years ago

Revision 14c64863 | View on GitHub

Problem: pulp_use_system_wide_pkgs is often overlooked

during pulp_rpm install.

Solution: Let's set it in the pulp_rpm_prerequisites role via include_vars on the vars/main.yml

fixes: #5992 https://pulp.plan.io/issues/5992 ansible-pulp rpm plugin: Failed building wheel for PyGObject Failed building wheel for pycairo

Actions #6

Updated by Anonymous about 4 years ago

  • Status changed from ASSIGNED to MODIFIED

Added by Mike DePaulo about 4 years ago

Revision c98d0a49 | View on GitHub

Problem: pulp_use_system_wide_pkgs is often overlooked

during pulp_rpm install.

Solution: Remove it from the docs. We now set it in the pulp_rpm_prerequisites role via include_vars on the vars/main.yml

re: #5992 https://pulp.plan.io/issues/5992 ansible-pulp rpm plugin: Failed building wheel for PyGObject Failed building wheel for pycairo

[noissue]

Added by Mike DePaulo about 4 years ago

Revision c845d2d5 | View on GitHub

Problem: pulp_use_system_wide_pkgs is often overlooked

during pulp_rpm install.

Solution: Remove it from the example vars. We now set it in the pulp_rpm_prerequisites role via include_vars on the vars/main.yml

Also update submodules

re: #5992 https://pulp.plan.io/issues/5992 ansible-pulp rpm plugin: Failed building wheel for PyGObject Failed building wheel for pycairo

[noissue]

Actions #7

Updated by mdepaulo@redhat.com about 4 years ago

  • Status changed from MODIFIED to CLOSED - CURRENTRELEASE

Also available in: Atom PDF