Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to install: Issues in installing cairo dependency #19

Closed
xobs opened this issue Sep 18, 2019 · 4 comments
Closed

Unable to install: Issues in installing cairo dependency #19

xobs opened this issue Sep 18, 2019 · 4 comments

Comments

@xobs
Copy link

xobs commented Sep 18, 2019

The documentation says that to install, one must run pip install sphinxcontrib-wavedrom. However, that is causing errors:

[6:19:58 pm] ~/Documents/Code/doctest> pip install sphinxcontrib-wavedrom
Collecting sphinxcontrib-wavedrom
  Using cached https://files.pythonhosted.org/packages/5b/ee/7f8a4cf6a590fcf060ca4bde188cb5afaade80e1155e93d9a32545272127/sphinxcontrib_wavedrom-2.0.0-py3-none-any.whl

Requirement already satisfied: Sphinx>=1.8 in c:\python37\lib\site-packages (from sphinxcontrib-wavedrom) (2.2.0)
Requirement already satisfied: xcffib; python_version >= "3.3" in c:\python37\lib\site-packages (from sphinxcontrib-wavedrom) (0.8.1)
Collecting wavedrom>=0.1 (from sphinxcontrib-wavedrom)
  Using cached https://files.pythonhosted.org/packages/07/e2/7e71626b60e5549d0dd2d07dd15569d71dbda4d648fc77293aa528dc6c49/wavedrom-2.0.3.post2.tar.gz
Collecting cairosvg>=2; python_version >= "3.3" (from sphinxcontrib-wavedrom)
  Using cached https://files.pythonhosted.org/packages/8e/3a/762f9272c20db092f4d537aaf364dd0770ecf8f7101b58c4e933e99ee2f6/CairoSVG-2.4.2-py3-none-any.whl
Requirement already satisfied: sphinxcontrib-htmlhelp in c:\python37\lib\site-packages (from Sphinx>=1.8->sphinxcontrib-wavedrom) (1.0.2)
Requirement already satisfied: setuptools in c:\python37\lib\site-packages (from Sphinx>=1.8->sphinxcontrib-wavedrom) (40.8.0)
Requirement already satisfied: sphinxcontrib-jsmath in c:\python37\lib\site-packages (from Sphinx>=1.8->sphinxcontrib-wavedrom) (1.0.1)
Requirement already satisfied: packaging in c:\python37\lib\site-packages (from Sphinx>=1.8->sphinxcontrib-wavedrom) (19.1)
Requirement already satisfied: imagesize in c:\python37\lib\site-packages (from Sphinx>=1.8->sphinxcontrib-wavedrom) (1.1.0)
Requirement already satisfied: sphinxcontrib-devhelp in c:\python37\lib\site-packages (from Sphinx>=1.8->sphinxcontrib-wavedrom) (1.0.1)
Requirement already satisfied: Pygments>=2.0 in c:\python37\lib\site-packages (from Sphinx>=1.8->sphinxcontrib-wavedrom) (2.4.2)
Requirement already satisfied: sphinxcontrib-applehelp in c:\python37\lib\site-packages (from Sphinx>=1.8->sphinxcontrib-wavedrom) (1.0.1)
Requirement already satisfied: alabaster<0.8,>=0.7 in c:\python37\lib\site-packages (from Sphinx>=1.8->sphinxcontrib-wavedrom) (0.7.12)
Requirement already satisfied: babel!=2.0,>=1.3 in c:\python37\lib\site-packages (from Sphinx>=1.8->sphinxcontrib-wavedrom) (2.7.0)
Requirement already satisfied: requests>=2.5.0 in c:\python37\lib\site-packages (from Sphinx>=1.8->sphinxcontrib-wavedrom) (2.22.0)
Requirement already satisfied: Jinja2>=2.3 in c:\python37\lib\site-packages (from Sphinx>=1.8->sphinxcontrib-wavedrom) (2.10.1)
Requirement already satisfied: snowballstemmer>=1.1 in c:\python37\lib\site-packages (from Sphinx>=1.8->sphinxcontrib-wavedrom) (1.9.1)
Requirement already satisfied: sphinxcontrib-qthelp in c:\python37\lib\site-packages (from Sphinx>=1.8->sphinxcontrib-wavedrom) (1.0.2)
Requirement already satisfied: docutils>=0.12 in c:\python37\lib\site-packages (from Sphinx>=1.8->sphinxcontrib-wavedrom) (0.15.2)
Requirement already satisfied: colorama>=0.3.5; sys_platform == "win32" in c:\python37\lib\site-packages (from Sphinx>=1.8->sphinxcontrib-wavedrom) (0.3.9)
Requirement already satisfied: sphinxcontrib-serializinghtml in c:\python37\lib\site-packages (from Sphinx>=1.8->sphinxcontrib-wavedrom) (1.1.3)
Requirement already satisfied: six in c:\python37\lib\site-packages (from xcffib; python_version >= "3.3"->sphinxcontrib-wavedrom) (1.11.0)
Requirement already satisfied: cffi>=1.1.0 in c:\python37\lib\site-packages (from xcffib; python_version >= "3.3"->sphinxcontrib-wavedrom) (1.12.3)
Collecting svgwrite (from wavedrom>=0.1->sphinxcontrib-wavedrom)
  Using cached https://files.pythonhosted.org/packages/4f/2e/f36cfec1da6162055b884e6366074cff18475a9538559ceae0c0bc58e186/svgwrite-1.3.1-py2.py3-none-any.whl
Collecting attrdict (from wavedrom>=0.1->sphinxcontrib-wavedrom)
  Using cached https://files.pythonhosted.org/packages/ef/97/28fe7e68bc7adfce67d4339756e85e9fcf3c6fd7f0c0781695352b70472c/attrdict-2.0.1-py2.py3-none-any.whl
Requirement already satisfied: pillow in c:\python37\lib\site-packages (from cairosvg>=2; python_version >= "3.3"->sphinxcontrib-wavedrom) (6.1.0)
Requirement already satisfied: defusedxml in c:\python37\lib\site-packages (from cairosvg>=2; python_version >= "3.3"->sphinxcontrib-wavedrom) (0.6.0)
Requirement already satisfied: tinycss2 in c:\python37\lib\site-packages (from cairosvg>=2; python_version >= "3.3"->sphinxcontrib-wavedrom) (1.0.2)
Collecting cairocffi (from cairosvg>=2; python_version >= "3.3"->sphinxcontrib-wavedrom)
  Using cached https://files.pythonhosted.org/packages/f7/99/b3a2c6393563ccbe081ffcceb359ec27a6227792c5169604c1bd8128031a/cairocffi-1.1.0.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\smcro\AppData\Local\Temp\pip-install-7h7b4601\cairocffi\setup.py", line 13, in <module>
        'cairocffi/ffi_build.py:ffi_pixbuf']
      File "c:\python37\lib\site-packages\setuptools\__init__.py", line 145, in setup
        return distutils.core.setup(**attrs)
      File "c:\python37\lib\distutils\core.py", line 108, in setup
        _setup_distribution = dist = klass(attrs)
      File "c:\python37\lib\site-packages\setuptools\dist.py", line 447, in __init__
        k: v for k, v in attrs.items()
      File "c:\python37\lib\distutils\dist.py", line 292, in __init__
        self.finalize_options()
      File "c:\python37\lib\site-packages\setuptools\dist.py", line 739, in finalize_options
        ep.load()(self, ep.name, value)
      File "c:\python37\lib\site-packages\cffi\setuptools_ext.py", line 217, in cffi_modules
        add_cffi_module(dist, cffi_module)
      File "c:\python37\lib\site-packages\cffi\setuptools_ext.py", line 49, in add_cffi_module
        execfile(build_file_name, mod_vars)
      File "c:\python37\lib\site-packages\cffi\setuptools_ext.py", line 25, in execfile
        exec(code, glob, glob)
      File "cairocffi/ffi_build.py", line 32, in <module>
        from xcffib.ffi_build import ffi as xcb_ffi
      File "c:\python37\lib\site-packages\xcffib\__init__.py", line 38, in <module>
        lib = ffi.dlopen(soname)
    OSError: cannot load library 'libxcb.dll': error 0x7e

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\smcro\AppData\Local\Temp\pip-install-7h7b4601\cairocffi\
You are using pip version 19.0.3, however version 19.2.3 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
[6:20:07 pm] ~/Documents/Code/doctest>

Wavedrom seems to have additional requirements that are not mentioned here, and their installation method is not documented.

@bavovanachte
Copy link
Owner

Did you manage to resolve the issue? If so, how? Cairosvg seems to be in the dependencies, is there an issue with a specific version of it?

@xobs
Copy link
Author

xobs commented Sep 30, 2019

I just removed it from the dependency list, and it installs just fine.

I think it's an optional dependency used only when generating pdf files.

@ghost
Copy link

ghost commented Mar 30, 2020

It seems that I have the same issue :(
After try to install the sphinx-wavedrom with this command:
py -3.7 -m pip install sphinxcontrib-wavedrom -U

I obtain this error:

    Running setup.py install for cairocffi ... error
    ERROR: Command errored out with exit status 1:
     command: 'C:\Python37\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\lienv\\AppData\\Local\\Temp\\pip-install-w3icn51h\\cairocffi\\setup.py'"'"'; __file__='"'"'C:\\Users\\lienv\\AppData\\Local\\Temp\\pip-install-w3icn51h\\cairocffi\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\lienv\AppData\Local\Temp\pip-record-3str3rtn\install-record.txt' --single-version-externally-managed --compile
         cwd: C:\Users\lienv\AppData\Local\Temp\pip-install-w3icn51h\cairocffi\
    Complete output (25 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\lienv\AppData\Local\Temp\pip-install-w3icn51h\cairocffi\setup.py", line 13, in <module>
        'cairocffi/ffi_build.py:ffi_pixbuf']
      File "C:\Python37\lib\site-packages\setuptools\__init__.py", line 143, in setup
        return distutils.core.setup(**attrs)
      File "C:\Python37\lib\distutils\core.py", line 108, in setup
        _setup_distribution = dist = klass(attrs)
      File "C:\Python37\lib\site-packages\setuptools\dist.py", line 442, in __init__
        k: v for k, v in attrs.items()
      File "C:\Python37\lib\distutils\dist.py", line 292, in __init__
        self.finalize_options()
      File "C:\Python37\lib\site-packages\setuptools\dist.py", line 601, in finalize_options
        ep.load()(self, ep.name, value)
      File "C:\Python37\lib\site-packages\cffi\setuptools_ext.py", line 217, in cffi_modules
        add_cffi_module(dist, cffi_module)
      File "C:\Python37\lib\site-packages\cffi\setuptools_ext.py", line 49, in add_cffi_module
        execfile(build_file_name, mod_vars)
      File "C:\Python37\lib\site-packages\cffi\setuptools_ext.py", line 25, in execfile
        exec(code, glob, glob)
      File "cairocffi/ffi_build.py", line 32, in <module>
        from xcffib.ffi_build import ffi as xcb_ffi
      File "C:\Python37\lib\site-packages\xcffib\__init__.py", line 38, in <module>
        lib = ffi.dlopen(soname)
    OSError: cannot load library 'libxcb.dll': error 0x7e
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'C:\Python37\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\lienv\\AppData\\Local\\Temp\\pip-install-w3icn51h\\cairocffi\\setup.py'"'"'; __file__='"'"'C:\\Users\\lienv\\AppData\\Local\\Temp\\pip-install-w3icn51h\\cairocffi\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\lienv\AppData\Local\Temp\pip-record-3str3rtn\install-record.txt' --single-version-externally-managed --compile Check the logs for full command output.

@bavovanachte bavovanachte changed the title Unable to install: missing cairo Unable to install: Issues in installing cairo dependency Aug 18, 2020
@bavovanachte
Copy link
Owner

I could be misinterpreting, but this seems like an issue with cairo or the fact that this specific xcb library is not installed locally, not this plugin. I cannot remove it from the dependencies, as pdf generation requires it.

If the issue persists, I would suggest opening an issue in the cairo project instead. I'll close this issue for now to keep the issue list clean. Feel free to reopen if I missed something.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants