0.17.0: pep517 based build fails
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 25/100
- Issue 类型
- 缺陷
- 描述清晰度
- 需要澄清
- 活跃度
- 停滞
- 技术栈
- python
- 领域
- build-system
调研方向
在离线环境中重现报告的 python3 -sBm build -w --no-isolation 工作流,然后检查 MANIFEST.in 中提到的打包输入以及 uvloop/loop.pyx 的构建路径。将 wheel 安装和 pytest 结果与预期的 PEP517 周期进行比较;当 wheel 在无网络访问的情况下完成构建和安装,且测试通过时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
I'm packaging your module as an rpm package so I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.
python3 -sBm build -w --no-isolation- because I'm calling
buildwith--no-isolationI'm using during all processes only locally installed modules - install .whl file in </install/prefix> using 'installer` module
- run pytest with $PYTHONPATH pointing to sitearch and sitelib inside </install/prefix>
- build is performed in env which is
cut off from access to the public network(pytest is executed with-m "not network")
Here is pytest output:
+ cd uvloop-0.17.0
+ ASMFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none'
+ CFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none'
+ CXXFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none'
+ FFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -I/usr/lib64/gfortran/modules'
+ FCFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -I/usr/lib64/gfortran/modules'
+ LDFLAGS='-Wl,--gc-sections -Wl,--as-needed -flto=auto -flto-partition=none -fuse-linker-plugin -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,--build-id=sha1'
+ RUSTFLAGS='-C codegen-units=1 -C debuginfo=2 -C opt-level=2 -C link-arg=-fdata-sections -C link-arg=-ffunction-sections -C link-arg=-Wl,--as-needed -C link-arg=-Wl,-z,now -C link-arg=-Wl,-z,relro --cap-lints=warn'
+ VALAFLAGS=-g
+ CC=/usr/bin/gcc
+ CXX=/usr/bin/g++
+ FC=/usr/bin/gfortran
+ AR=/usr/bin/gcc-ar
+ NM=/usr/bin/gcc-nm
+ RANLIB=/usr/bin/gcc-ranlib
+ export ASMFLAGS CFLAGS CXXFLAGS FFLAGS FCFLAGS LDFLAGS VALAFLAGS CC CXX FC AR NM RANLIB RUSTFLAGS VALAFLAGS
+ PBR_VERSION=0.17.0
+ PDM_PEP517_SCM_VERSION=0.17.0
+ PDM_BUILD_SCM_VERSION=0.17.0
+ SETUPTOOLS_SCM_PRETEND_VERSION=0.17.0
+ /usr/bin/python3 -sBm build -w --no-isolation
* Getting build dependencies for wheel...
* Building wheel...
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-cpython-38
creating build/lib.linux-x86_64-cpython-38/uvloop
copying uvloop/__init__.py -> build/lib.linux-x86_64-cpython-38/uvloop
copying uvloop/_noop.py -> build/lib.linux-x86_64-cpython-38/uvloop
copying uvloop/_testbase.py -> build/lib.linux-x86_64-cpython-38/uvloop
copying uvloop/_version.py -> build/lib.linux-x86_64-cpython-38/uvloop
running egg_info
creating uvloop.egg-info
writing uvloop.egg-info/PKG-INFO
writing dependency_links to uvloop.egg-info/dependency_links.txt
writing requirements to uvloop.egg-info/requires.txt
writing top-level names to uvloop.egg-info/top_level.txt
writing manifest file 'uvloop.egg-info/SOURCES.txt'
Compiling uvloop/loop.pyx because it changed.
[1/1] Cythonizing uvloop/loop.pyx
reading manifest file 'uvloop.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
<string>:144: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
warning: no files found matching '*' under directory 'vendor/libuv'
warning: no previously-included files matching '*' found under directory 'vendor/libuv/.git'
warning: no previously-included files matching '*' found under directory 'vendor/libuv/docs'
warning: no previously-included files matching '*' found under directory 'vendor/libuv/img'
adding license file 'LICENSE-APACHE'
adding license file 'LICENSE-MIT'
writing manifest file 'uvloop.egg-info/SOURCES.txt'
copying uvloop/cbhandles.pxd -> build/lib.linux-x86_64-cpython-38/uvloop
copying uvloop/cbhandles.pyx -> build/lib.linux-x86_64-cpython-38/uvloop
copying uvloop/dns.pyx -> build/lib.linux-x86_64-cpython-38/uvloop
copying uvloop/errors.pyx -> build/lib.linux-x86_64-cpython-38/uvloop
copying uvloop/loop.c -> build/lib.linux-x86_64-cpython-38/uvloop
copying uvloop/loop.pxd -> build/lib.linux-x86_64-cpython-38/uvloop
copying uvloop/loop.pyi -> build/lib.linux-x86_64-cpython-38/uvloop
copying uvloop/loop.pyx -> build/lib.linux-x86_64-cpython-38/uvloop
copying uvloop/lru.pyx -> build/lib.linux-x86_64-cpython-38/uvloop
copying uvloop/pseudosock.pyx -> build/lib.linux-x86_64-cpython-38/uvloop
copying uvloop/py.typed -> build/lib.linux-x86_64-cpython-38/uvloop
copying uvloop/request.pxd -> build/lib.linux-x86_64-cpython-38/uvloop
copying uvloop/request.pyx -> build/lib.linux-x86_64-cpython-38/uvloop
copying uvloop/server.pxd -> build/lib.linux-x86_64-cpython-38/uvloop
copying uvloop/server.pyx -> build/lib.linux-x86_64-cpython-38/uvloop
copying uvloop/sslproto.pxd -> build/lib.linux-x86_64-cpython-38/uvloop
copying uvloop/sslproto.pyx -> build/lib.linux-x86_64-cpython-38/uvloop
creating build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/async_.pxd -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/async_.pyx -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/basetransport.pxd -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/basetransport.pyx -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/check.pxd -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/check.pyx -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/fsevent.pxd -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/fsevent.pyx -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/handle.pxd -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/handle.pyx -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/idle.pxd -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/idle.pyx -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/pipe.pxd -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/pipe.pyx -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/poll.pxd -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/poll.pyx -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/process.pxd -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/process.pyx -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/stream.pxd -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/stream.pyx -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/streamserver.pxd -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/streamserver.pyx -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/tcp.pxd -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/tcp.pyx -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/timer.pxd -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/timer.pyx -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/udp.pxd -> build/lib.linux-x86_64-cpython-38/uvloop/handles
copying uvloop/handles/udp.pyx -> build/lib.linux-x86_64-cpython-38/uvloop/handles
creating build/lib.linux-x86_64-cpython-38/uvloop/includes
copying uvloop/includes/__init__.py -> build/lib.linux-x86_64-cpython-38/uvloop/includes
copying uvloop/includes/compat.h -> build/lib.linux-x86_64-cpython-38/uvloop/includes
copying uvloop/includes/consts.pxi -> build/lib.linux-x86_64-cpython-38/uvloop/includes
copying uvloop/includes/debug.h -> build/lib.linux-x86_64-cpython-38/uvloop/includes
copying uvloop/includes/debug.pxd -> build/lib.linux-x86_64-cpython-38/uvloop/includes
copying uvloop/includes/flowcontrol.pxd -> build/lib.linux-x86_64-cpython-38/uvloop/includes
copying uvloop/includes/fork_handler.h -> build/lib.linux-x86_64-cpython-38/uvloop/includes
copying uvloop/includes/python.pxd -> build/lib.linux-x86_64-cpython-38/uvloop/includes
copying uvloop/includes/stdlib.pxi -> build/lib.linux-x86_64-cpython-38/uvloop/includes
copying uvloop/includes/system.pxd -> build/lib.linux-x86_64-cpython-38/uvloop/includes
copying uvloop/includes/uv.pxd -> build/lib.linux-x86_64-cpython-38/uvloop/includes
running build_ext
building 'uvloop.loop' extension
creating build/temp.linux-x86_64-cpython-38
creating build/temp.linux-x86_64-cpython-38/uvloop
/usr/bin/gcc -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -fno-semantic-interposition -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -fno-semantic-interposition -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -fno-semantic-interposition -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fPIC -I/usr/include/python3.8 -c uvloop/loop.c -o build/temp.linux-x86_64-cpython-38/uvloop/loop.o ""
gcc: warning: : linker input file unused because linking not done
gcc: error: : linker input file not found: No such file or directory
/usr/lib/python3.8/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'uvloop.handles' is absent from the `packages` configuration.
!!
********************************************************************************
############################
# Package would be ignored #
############################
Python recognizes 'uvloop.handles' as an importable package[^1],
but it is absent from setuptools' `packages` configuration.
This leads to an ambiguous overall configuration. If you want to distribute this
package, please make sure that 'uvloop.handles' is explicitly added
to the `packages` configuration field.
Alternatively, you can also rely on setuptools' discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).
You can read more about "package discovery" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
If you don't want 'uvloop.handles' to be distributed and are
already explicitly excluding 'uvloop.handles' via
`find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
you can try to use `exclude_package_data`, or `include-package-data=False` in
combination with a more fine grained `package-data` configuration.
You can read more about "package data files" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/datafiles.html
[^1]: For Python, any directory (with suitable naming) can be imported,
even if it does not contain any `.py` files.
On the other hand, currently there is no concept of package data
directory, all directories are treated like packages.
********************************************************************************
!!
check.warn(importable)
/usr/lib/python3.8/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'uvloop.includes' is absent from the `packages` configuration.
!!
********************************************************************************
############################
# Package would be ignored #
############################
Python recognizes 'uvloop.includes' as an importable package[^1],
but it is absent from setuptools' `packages` configuration.
This leads to an ambiguous overall configuration. If you want to distribute this
package, please make sure that 'uvloop.includes' is explicitly added
to the `packages` configuration field.
Alternatively, you can also rely on setuptools' discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).
You can read more about "package discovery" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
If you don't want 'uvloop.includes' to be distributed and are
already explicitly excluding 'uvloop.includes' via
`find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
you can try to use `exclude_package_data`, or `include-package-data=False` in
combination with a more fine grained `package-data` configuration.
You can read more about "package data files" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/datafiles.html
[^1]: For Python, any directory (with suitable naming) can be imported,
even if it does not contain any `.py` files.
On the other hand, currently there is no concept of package data
directory, all directories are treated like packages.
********************************************************************************
!!
check.warn(importable)
error: command '/usr/bin/gcc' failed with exit code 1
ERROR Backend subprocess exited when trying to invoke build_wheel
Here is list of installed modules in build env
Package Version
----------------------------- -------
aiohttp 3.8.4
aiosignal 1.3.1
alabaster 0.7.13
asttokens 2.2.1
async-timeout 4.0.2
attrs 23.1.0
Babel 2.12.1
backcall 0.2.0
build 0.10.0
cffi 1.15.1
charset-normalizer 3.1.0
cryptography 40.0.2
Cython 0.29.35
decorator 5.1.1
distro 1.8.0
docutils 0.19
exceptiongroup 1.1.1
executing 1.2.0
frozenlist 1.3.3
gpg 1.20.0
idna 3.4
imagesize 1.4.1
importlib-metadata 6.7.0
iniconfig 2.0.0
installer 0.7.0
ipython 8.12.0
jedi 0.18.2
Jinja2 3.1.2
libcomps 0.1.19
MarkupSafe 2.1.2
matplotlib-inline 0.1.6
multidict 6.0.4
packaging 23.1
parso 0.8.3
pexpect 4.8.0
pickleshare 0.7.5
pluggy 1.0.0
ply 3.11
prompt-toolkit 3.0.38
psutil 5.9.2
ptyprocess 0.7.0
pure-eval 0.2.2
pycparser 2.21
Pygments 2.15.1
pyOpenSSL 23.1.1
pyproject_hooks 1.0.0
pytest 7.4.0
python-dateutil 2.8.2
pytz 2023.2
requests 2.31.0
setuptools 68.0.0
setuptools-scm 7.1.0
six 1.16.0
snowballstemmer 2.2.0
Sphinx 6.2.1
sphinxcontrib-applehelp 1.0.4
sphinxcontrib-devhelp 1.0.2
sphinxcontrib-htmlhelp 2.0.0
sphinxcontrib-jsmath 1.0.1
sphinxcontrib-qthelp 1.0.3
sphinxcontrib-serializinghtml 1.1.5
stack-data 0.6.2
tomli 2.0.1
traitlets 5.9.0
typing_extensions 4.6.3
urllib3 1.26.15
wcwidth 0.2.6
wheel 0.40.0
yarl 1.9.2
zipp 3.15.0
- 主要语言
- Cython
- 星标
- 11.9k
- 派生
- 615
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
MagicStack/uvloop 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 68/100
MagicStack/uvloop#759 ·
-
难度 2/5 1-3 小时 新手友好度 68/100
MagicStack/uvloop#741 · 2 个 reaction ·
-
难度 2/5 1-3 小时 新手友好度 68/100
MagicStack/uvloop#702 · 8 条评论 · 9 个 reaction ·
-
难度 4/5 3-5 天 新手友好度 25/100
MagicStack/uvloop#766 ·
-
难度 4/5 3-5 天 新手友好度 52/100
MagicStack/uvloop#765 ·
查看 MagicStack/uvloop 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
freedomofpress/dangerzone#1562 ·
-
Mend: dependency security vulnerability status: needs triage 🕵️♀️
难度 2/5 1-3 小时 新手友好度 70/100
carbon-design-system/ibm-products#9907 ·
-
intake mcp-intake needs-ac needs-human-review priority:medium type:feature
难度 2/5 1-3 小时 新手友好度 75/100
Ikalus1988/MisakaNet#2102 · 2 条评论 ·
-
onnx-ir re-exports ModelProto and GraphProto but not NodeProto, AttributeProto and AttributeType 未关闭
难度 2/5 1-3 小时 新手友好度 75/100
-
难度 2/5 1-3 小时 新手友好度 65/100
llvm/lighthouse#283 ·