aio-libs / yarl

Yet another URL library

Home Page:https://yarl.aio-libs.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build failure on Mac OS, Python 3.11a4

pkoning2 opened this issue · comments

Describe the bug

When I attempt to install yarl (by itself, or as a dependency for aiohttp) I get a compile error. I reported it to the Python team but they suggested this is a yarl dependency problem. It installs fine on Python 3.10, though.

Log attached.

To Reproduce

pip3.11 install yarl

Expected behavior

successful installation

Logs/tracebacks

pkoning$ pip3.11 install yarl
Collecting yarl
  Using cached yarl-1.7.2.tar.gz (168 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting idna>=2.0
  Using cached idna-3.3-py3-none-any.whl (61 kB)
Collecting multidict>=4.0
  Using cached multidict-6.0.2-cp311-cp311-macosx_10_9_universal2.whl
Building wheels for collected packages: yarl
  Building wheel for yarl (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for yarl (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [27 lines of output]
      **********************
      * Accelerated build *
      **********************
      running bdist_wheel
      running build
      running build_py
      running egg_info
      writing yarl.egg-info/PKG-INFO
      writing dependency_links to yarl.egg-info/dependency_links.txt
      writing requirements to yarl.egg-info/requires.txt
      writing top-level names to yarl.egg-info/top_level.txt
      reading manifest file 'yarl.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no previously-included files matching '*.pyc' found anywhere in distribution
      warning: no previously-included files matching '*.cache' found anywhere in distribution
      warning: no previously-included files found matching 'yarl/*.html'
      warning: no previously-included files found matching 'yarl/*.so'
      warning: no previously-included files found matching 'yarl/*.pyd'
      no previously-included directories found matching 'docs/_build'
      adding license file 'LICENSE'
      running build_ext
      building 'yarl._quoting_c' extension
      yarl/_quoting_c.c:198:12: fatal error: 'longintrepr.h' file not found
        #include "longintrepr.h"
                 ^~~~~~~~~~~~~~~
      1 error generated.
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for yarl
Failed to build yarl
ERROR: Could not build wheels for yarl, which is required to install pyproject.toml-based projects

Python Version

$ python --version

Python 3.11.0a4

multidict Version

$ python -m pip show multidict

Name: multidict
Version: 6.0.2
Summary: multidict implementation
Home-page: https://github.com/aio-libs/multidict
Author: Andrew Svetlov
Author-email: andrew.svetlov@gmail.com
License: Apache 2
Location: /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages
Requires: 
Required-by: yarl

yarl Version

$ python -m pip show yarl

(this is the version installed with YARL_NO_EXTENSIONS=1 -- not what I want)
Name: yarl
Version: 1.7.2
Summary: Yet another URL library
Home-page: https://github.com/aio-libs/yarl/
Author: Andrew Svetlov
Author-email: andrew.svetlov@gmail.com
License: Apache 2
Location: /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages
Requires: idna, multidict
Required-by:

OS

Mac OS 11.6.2, Apple M1 silicon (ARM64)

Additional context

No response

Code of Conduct

  • I agree to follow the aio-libs Code of Conduct

The Python team gave an explanation: the compile error is because yarl (and aiohttp) are referring an internal Python file, and that file moved.
See https://bugs.python.org/issue46628

Please install yarl from github source if you want to check it against CPython alpha.
The next Python 3.11 compatible release will be published just after 3.11 beta.

Hi there, we were experimenting with Python 3.11 and ran across this build issue as well.

Hi there, we were experimenting with Python 3.11 and ran across this build issue as well.

Same here :(.