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

1.13.1: pep517 build do not produces yarl._quoting_c DSO module #1166

Open
4 of 5 tasks
kloczek opened this issue Sep 27, 2024 · 4 comments
Open
4 of 5 tasks

1.13.1: pep517 build do not produces yarl._quoting_c DSO module #1166

kloczek opened this issue Sep 27, 2024 · 4 comments
Labels

Comments

@kloczek
Copy link

kloczek commented Sep 27, 2024

Please confirm the following

  • I understand this is open source software provided for free and that I might not receive a timely response.
  • I am positive I am NOT reporting a (potential) security
    vulnerability, to the best of my knowledge. (These must be shared by
    submitting this report form instead, if
    any hesitation exists.)
  • I am willing to submit a pull request with reporoducers as xfailing test cases or even entire fix. (Assign this issue to me.)

Describe the bug

After yarl 1.12.1 I cannot build correctly module because pep517 based build looks like is not building yarl._quoting_c DSO module and looking on the output cannot find any cause of that.
Result is that pytest fails because it cannot find yarl._quoting_c module.
May I ask for any hint about possible cause? 🤔

To Reproduce

Just run pip or build to perform pep517 based build.
I\m using /usr/bin/python3 -sBm build -w --no-isolation --config-setting=pure-python=false --config-setting=with-cython-tracing=true command.

Expected behavior

As long as is used --config-setting=pure-python=false my understanding is that it should be build loadable DSO module.

Logs/tracebacks

<details>
<summary>Here is pep157 based build output:</summary>


+ /usr/bin/python3 -sBm build -w --no-isolation --config-setting=pure-python=false --config-setting=with-cython-tracing=true
* Getting build dependencies for wheel...
running egg_info
creating yarl.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
writing manifest file 'yarl.egg-info/SOURCES.txt'
reading manifest file 'yarl.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '*.cache' found anywhere in distribution
warning: no previously-included files found matching 'yarl/*.c'
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'
adding license file 'NOTICE'
writing manifest file 'yarl.egg-info/SOURCES.txt'
* Building wheel...
running bdist_wheel
running build
running build_py
creating build/lib/yarl
copying yarl/__init__.py -> build/lib/yarl
copying yarl/_helpers.py -> build/lib/yarl
copying yarl/_quoting.py -> build/lib/yarl
copying yarl/_quoting_py.py -> build/lib/yarl
copying yarl/_helpers_py.py -> build/lib/yarl
copying yarl/_url.py -> build/lib/yarl
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 '*.cache' found anywhere in distribution
warning: no previously-included files found matching 'yarl/*.c'
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'
adding license file 'NOTICE'
writing manifest file 'yarl.egg-info/SOURCES.txt'
copying yarl/_helpers_c.pyi -> build/lib/yarl
copying yarl/_helpers_c.pyx -> build/lib/yarl
copying yarl/_quoting_c.pyi -> build/lib/yarl
copying yarl/_quoting_c.pyx -> build/lib/yarl
copying yarl/py.typed -> build/lib/yarl
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/yarl
copying build/lib/yarl/__init__.py -> build/bdist.linux-x86_64/wheel/./yarl
copying build/lib/yarl/_helpers.py -> build/bdist.linux-x86_64/wheel/./yarl
copying build/lib/yarl/_quoting.py -> build/bdist.linux-x86_64/wheel/./yarl
copying build/lib/yarl/_quoting_py.py -> build/bdist.linux-x86_64/wheel/./yarl
copying build/lib/yarl/_helpers_py.py -> build/bdist.linux-x86_64/wheel/./yarl
copying build/lib/yarl/_url.py -> build/bdist.linux-x86_64/wheel/./yarl
copying build/lib/yarl/_helpers_c.pyi -> build/bdist.linux-x86_64/wheel/./yarl
copying build/lib/yarl/_helpers_c.pyx -> build/bdist.linux-x86_64/wheel/./yarl
copying build/lib/yarl/_quoting_c.pyi -> build/bdist.linux-x86_64/wheel/./yarl
copying build/lib/yarl/_quoting_c.pyx -> build/bdist.linux-x86_64/wheel/./yarl
copying build/lib/yarl/py.typed -> build/bdist.linux-x86_64/wheel/./yarl
running install_egg_info
Copying yarl.egg-info to build/bdist.linux-x86_64/wheel/./yarl-1.13.1-py3.10.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/yarl-1.13.1.dist-info/WHEEL
creating '/home/tkloczko/rpmbuild/BUILD/yarl-1.13.1/dist/.tmp-r5kmgsqt/yarl-1.13.1-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'yarl/__init__.py'
adding 'yarl/_helpers.py'
adding 'yarl/_helpers_c.pyi'
adding 'yarl/_helpers_c.pyx'
adding 'yarl/_helpers_py.py'
adding 'yarl/_quoting.py'
adding 'yarl/_quoting_c.pyi'
adding 'yarl/_quoting_c.pyx'
adding 'yarl/_quoting_py.py'
adding 'yarl/_url.py'
adding 'yarl/py.typed'
adding 'yarl-1.13.1.dist-info/LICENSE'
adding 'yarl-1.13.1.dist-info/METADATA'
adding 'yarl-1.13.1.dist-info/NOTICE'
adding 'yarl-1.13.1.dist-info/WHEEL'
adding 'yarl-1.13.1.dist-info/top_level.txt'
adding 'yarl-1.13.1.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built yarl-1.13.1-py3-none-any.whl

</details>

Python Version

]$ python3 --version
Python 3.10.14

multidict Version

$ python -m pip show multidict
Name: multidict
Version: 6.1.0
Summary: multidict implementation
Home-page: https://github.com/aio-libs/multidict
Author: Andrew Svetlov
Author-email: [email protected]
License: Apache 2
Location: /usr/lib64/python3.10/site-packages
Requires: typing-extensions
Required-by:

yarl Version

1.13.1

OS

Linux x86/64

Additional context

No response

@kloczek kloczek added the bug label Sep 27, 2024
@kloczek kloczek changed the title 1.13.1: pep517 build do not produce yarl._quoting_c DSO module 1.13.1: pep517 build do not produces yarl._quoting_c DSO module Sep 27, 2024
@bdraco
Copy link
Member

bdraco commented Sep 27, 2024

There doesn't seem to be any interesting changes that might cause this v1.12.0...v1.13.1

I wonder if a build dep has changed

@webknjaz
Copy link
Member

Linux x86/64

This is not helpful. It clearly works in our CI under this platform. Something changed in your environment, maybe setuptools or Cython. Debug that, please. Until then, there's nothing actionable for us. We have to be able to validate this in our CI.

@kloczek
Copy link
Author

kloczek commented Oct 13, 2024

Did you chr=ech versions of cython and setuptools which are used by your CI and me?

@webknjaz
Copy link
Member

That's your responsibility. We have no way of knowing what you got.

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

No branches or pull requests

3 participants