pypa / build

A simple, correct Python build frontend
https://build.pypa.io
MIT License
697 stars 115 forks source link

`build` compiles multiple times #768

Closed YoSTEALTH closed 3 months ago

YoSTEALTH commented 3 months ago

For project Liburing when I run python3 -m build -C--global-option="build_ext -j16" looks like build compiles the code multiple times!

Ideally it would be nice if build compiled once and used the same files for both --sdist and --wheel

Maybe there is a underlying relation to https://github.com/pypa/pip/issues/12604 issue.

* Creating isolated environment: venv+pip...
* Installing packages in isolated environment:           
  - cython>=3                
  - setuptools>=60           
  - wheel                                              
* Getting build dependencies for sdist...
Compiling src/liburing/_test.pyx because it changed.
Compiling src/liburing/common.pyx because it changed.
Compiling src/liburing/error.pyx because it changed.
Compiling src/liburing/file.pyx because it changed.
Compiling src/liburing/futex.pyx because it changed.
Compiling src/liburing/helper.pyx because it changed.
Compiling src/liburing/os.pyx because it changed.
Compiling src/liburing/other.pyx because it changed.
Compiling src/liburing/poll.pyx because it changed.
Compiling src/liburing/probe.pyx because it changed.
Compiling src/liburing/queue.pyx because it changed.
Compiling src/liburing/register.pyx because it changed.
Compiling src/liburing/socket.pyx because it changed.
Compiling src/liburing/socket_extra.pyx because it changed.
Compiling src/liburing/statx.pyx because it changed.
Compiling src/liburing/syscall.pyx because it changed.
Compiling src/liburing/time.pyx because it changed.
Compiling src/liburing/version.pyx because it changed.
Compiling src/liburing/xattr.pyx because it changed.
[ 1/19] Cythonizing src/liburing/_test.pyx  
[ 2/19] Cythonizing src/liburing/common.pyx
[ 3/19] Cythonizing src/liburing/error.pyx                                                      
[ 4/19] Cythonizing src/liburing/file.pyx                                                                                                                                                                  
[ 5/19] Cythonizing src/liburing/futex.pyx
[ 6/19] Cythonizing src/liburing/helper.pyx
[ 7/19] Cythonizing src/liburing/os.pyx
[ 8/19] Cythonizing src/liburing/other.pyx
[ 9/19] Cythonizing src/liburing/poll.pyx
[10/19] Cythonizing src/liburing/probe.pyx
[11/19] Cythonizing src/liburing/queue.pyx
[12/19] Cythonizing src/liburing/register.pyx
[13/19] Cythonizing src/liburing/socket.pyx
[14/19] Cythonizing src/liburing/socket_extra.pyx
[15/19] Cythonizing src/liburing/statx.pyx
[16/19] Cythonizing src/liburing/syscall.pyx
[17/19] Cythonizing src/liburing/time.pyx
[18/19] Cythonizing src/liburing/version.pyx
[19/19] Cythonizing src/liburing/xattr.pyx
running build_ext
building 'liburing._test' extension
creating build
creating build/temp.linux-x86_64-cpython-313
building 'liburing.common' extension
creating build/temp.linux-x86_64-cpython-313/src
creating build/temp.linux-x86_64-cpython-313/src
creating build/temp.linux-x86_64-cpython-313/src/liburing
building 'liburing.error' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/tmp/tmpvendlx7r/libs/liburing/src/include -I/tmp/build-env-1zli1tj4/include -I/opt/python/3.13/include/python3.13 -c src/liburing/error.c -o build/temp.linux-x86_64-cpython-313/src/liburing/error.o -O3 -g0
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/tmp/tmpvendlx7r/libs/liburing/src/include -I/tmp/build-env-1zli1tj4/include -I/opt/python/3.13/include/python3.13 -c src/liburing/_test.c -o build/temp.linux-x86_64-cpython-313/src/liburing/_test.o -O3 -g0
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpvendlx7r/libs/liburing/src/include -I/tmp/build-env-1zli1tj4/include -I/opt/python/3.13/include/python3.13 -c src/liburing/common.c -o build/temp.linux-x86_64-cpython-313/src/liburing/common.o -O3 -g0
building 'liburing.file' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpvendlx7r/libs/liburing/src/include -I/tmp/build-env-1zli1tj4/include -I/opt/python/3.13/include/python3.13 -c src/liburing/file.c -o build/temp.linux-x86_64-cpython-313/src/liburing/file.o -O3 -g0
building 'liburing.futex' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpvendlx7r/libs/liburing/src/include -I/tmp/build-env-1zli1tj4/include -I/opt/python/3.13/include/python3.13 -c src/liburing/futex.c -o build/temp.linux-x86_64-cpython-313/src/liburing/futex.o -O3 -g0
building 'liburing.helper' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpvendlx7r/libs/liburing/src/include -I/tmp/build-env-1zli1tj4/include -I/opt/python/3.13/include/python3.13 -c src/liburing/helper.c -o build/temp.linux-x86_64-cpython-313/src/liburing/helper.o -O3 -g0
building 'liburing.os' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpvendlx7r/libs/liburing/src/include -I/tmp/build-env-1zli1tj4/include -I/opt/python/3.13/include/python3.13 -c src/liburing/os.c -o build/temp.linux-x86_64-cpython-313/src/liburing/os.o -O3 -g0
building 'liburing.other' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpvendlx7r/libs/liburing/src/include -I/tmp/build-env-1zli1tj4/include -I/opt/python/3.13/include/python3.13 -c src/liburing/other.c -o build/temp.linux-x86_64-cpython-313/src/liburing/other.o -O3 -g0
building 'liburing.poll' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpvendlx7r/libs/liburing/src/include -I/tmp/build-env-1zli1tj4/include -I/opt/python/3.13/include/python3.13 -c src/liburing/poll.c -o build/temp.linux-x86_64-cpython-313/src/liburing/poll.o -O3 -g0
building 'liburing.probe' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpvendlx7r/libs/liburing/src/include -I/tmp/build-env-1zli1tj4/include -I/opt/python/3.13/include/python3.13 -c src/liburing/probe.c -o build/temp.linux-x86_64-cpython-313/src/liburing/probe.o -O3 -g0
building 'liburing.queue' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpvendlx7r/libs/liburing/src/include -I/tmp/build-env-1zli1tj4/include -I/opt/python/3.13/include/python3.13 -c src/liburing/queue.c -o build/temp.linux-x86_64-cpython-313/src/liburing/queue.o -O3 -g0
building 'liburing.register' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpvendlx7r/libs/liburing/src/include -I/tmp/build-env-1zli1tj4/include -I/opt/python/3.13/include/python3.13 -c src/liburing/register.c -o build/temp.linux-x86_64-cpython-313/src/liburing/register.o -O3 -g0
building 'liburing.socket' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpvendlx7r/libs/liburing/src/include -I/tmp/build-env-1zli1tj4/include -I/opt/python/3.13/include/python3.13 -c src/liburing/socket.c -o build/temp.linux-x86_64-cpython-313/src/liburing/socket.o -O3 -g0
building 'liburing.socket_extra' extension
building 'liburing.statx' extension
building 'liburing.syscall' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpvendlx7r/libs/liburing/src/include -I/tmp/build-env-1zli1tj4/include -I/opt/python/3.13/include/python3.13 -c src/liburing/socket_extra.c -o build/temp.linux-x86_64-cpython-313/src/liburing/socket_extra.o -O3 -g0
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpvendlx7r/libs/liburing/src/include -I/tmp/build-env-1zli1tj4/include -I/opt/python/3.13/include/python3.13 -c src/liburing/statx.c -o build/temp.linux-x86_64-cpython-313/src/liburing/statx.o -O3 -g0
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpvendlx7r/libs/liburing/src/include -I/tmp/build-env-1zli1tj4/include -I/opt/python/3.13/include/python3.13 -c src/liburing/syscall.c -o build/temp.linux-x86_64-cpython-313/src/liburing/syscall.o -O3 -g0
src/liburing/_test.c:2016:9: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]                                                                                                               
 2016 |         Py_UNICODE *as_pyunicodes;                                                                                                                                                                 
      |         ^~~~~~~~~~                                                                                                                                                                                 
src/liburing/file.c:3466:9: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]                                                                                                                
 3466 |         Py_UNICODE *as_pyunicodes;                                                                                                                                                                 
      |         ^~~~~~~~~~                                                                                                                                                                                 
src/liburing/futex.c:3153:9: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]                                                                                                               
 3153 |         Py_UNICODE *as_pyunicodes;                                                                                                                                                                 
      |         ^~~~~~~~~~                                                                                                                                                                                 
src/liburing/register.c:3256:9: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]                                                                                                            
 3256 |         Py_UNICODE *as_pyunicodes;                                                                                                                                                                 
      |         ^~~~~~~~~~                                                                                                                                                                                 
src/liburing/socket_extra.c:3670:9: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]                                                                                                        
 3670 |         Py_UNICODE *as_pyunicodes;                                                                                                                                                                 
      |         ^~~~~~~~~~                                                                                                                                                                                 
src/liburing/socket.c:3541:9: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]                                                                                                              
 3541 |         Py_UNICODE *as_pyunicodes;                                                                                                                                                                 
      |         ^~~~~~~~~~                                                                                                                                                                                 
creating build/lib.linux-x86_64-cpython-313
creating build/lib.linux-x86_64-cpython-313/liburing
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/_test.o -L/tmp/tmpvendlx7r/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/_test.cpython-313-x86_64-linux-gnu.so
building 'liburing.time' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpvendlx7r/libs/liburing/src/include -I/tmp/build-env-1zli1tj4/include -I/opt/python/3.13/include/python3.13 -c src/liburing/time.c -o build/temp.linux-x86_64-cpython-313/src/liburing/time.o -O3 -g0
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/error.o -L/tmp/tmpvendlx7r/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/error.cpython-313-x86_64-linux-gnu.so
building 'liburing.version' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpvendlx7r/libs/liburing/src/include -I/tmp/build-env-1zli1tj4/include -I/opt/python/3.13/include/python3.13 -c src/liburing/version.c -o build/temp.linux-x86_64-cpython-313/src/liburing/version.o -O3 -g0
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/version.o -L/tmp/tmpvendlx7r/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/version.cpython-313-x86_64-linux-gnu.so
building 'liburing.xattr' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpvendlx7r/libs/liburing/src/include -I/tmp/build-env-1zli1tj4/include -I/opt/python/3.13/include/python3.13 -c src/liburing/xattr.c -o build/temp.linux-x86_64-cpython-313/src/liburing/xattr.o -O3 -g0
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/probe.o -L/tmp/tmpvendlx7r/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/probe.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/other.o -L/tmp/tmpvendlx7r/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/other.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/helper.o -L/tmp/tmpvendlx7r/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/helper.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/os.o -L/tmp/tmpvendlx7r/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/os.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/poll.o -L/tmp/tmpvendlx7r/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/poll.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/register.o -L/tmp/tmpvendlx7r/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/register.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/xattr.o -L/tmp/tmpvendlx7r/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/xattr.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/futex.o -L/tmp/tmpvendlx7r/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/futex.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/time.o -L/tmp/tmpvendlx7r/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/time.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/socket_extra.o -L/tmp/tmpvendlx7r/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/socket_extra.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/statx.o -L/tmp/tmpvendlx7r/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/statx.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/file.o -L/tmp/tmpvendlx7r/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/file.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/common.o -L/tmp/tmpvendlx7r/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/common.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/queue.o -L/tmp/tmpvendlx7r/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/queue.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/syscall.o -L/tmp/tmpvendlx7r/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/syscall.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/socket.o -L/tmp/tmpvendlx7r/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/socket.cpython-313-x86_64-linux-gnu.so
running egg_info
creating src/liburing.egg-info
writing src/liburing.egg-info/PKG-INFO
writing dependency_links to src/liburing.egg-info/dependency_links.txt
writing requirements to src/liburing.egg-info/requires.txt
writing top-level names to src/liburing.egg-info/top_level.txt
writing manifest file 'src/liburing.egg-info/SOURCES.txt'
reading manifest file 'src/liburing.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE.txt'
writing manifest file 'src/liburing.egg-info/SOURCES.txt'
* Building sdist...
running build_ext
running sdist
running egg_info
writing src/liburing.egg-info/PKG-INFO
writing dependency_links to src/liburing.egg-info/dependency_links.txt
writing requirements to src/liburing.egg-info/requires.txt
writing top-level names to src/liburing.egg-info/top_level.txt
reading manifest file 'src/liburing.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE.txt'
writing manifest file 'src/liburing.egg-info/SOURCES.txt'
running check
creating liburing-2024.3.31
creating liburing-2024.3.31/example
creating liburing-2024.3.31/libs
creating liburing-2024.3.31/libs/liburing
creating liburing-2024.3.31/libs/liburing/src
creating liburing-2024.3.31/libs/liburing/src/arch
creating liburing-2024.3.31/libs/liburing/src/arch/aarch64
creating liburing-2024.3.31/libs/liburing/src/arch/generic
creating liburing-2024.3.31/libs/liburing/src/arch/riscv64
creating liburing-2024.3.31/libs/liburing/src/arch/x86
creating liburing-2024.3.31/libs/liburing/src/include
creating liburing-2024.3.31/libs/liburing/src/include/liburing
creating liburing-2024.3.31/src
creating liburing-2024.3.31/src/liburing
creating liburing-2024.3.31/src/liburing.egg-info
creating liburing-2024.3.31/src/liburing/include
creating liburing-2024.3.31/src/liburing/include/liburing
creating liburing-2024.3.31/src/liburing/lib
creating liburing-2024.3.31/test
creating liburing-2024.3.31/test/file
creating liburing-2024.3.31/test/helper
creating liburing-2024.3.31/test/lib
creating liburing-2024.3.31/test/os
creating liburing-2024.3.31/test/queue
creating liburing-2024.3.31/test/socket
copying files to liburing-2024.3.31...
copying LICENSE.txt -> liburing-2024.3.31
copying MANIFEST.in -> liburing-2024.3.31
copying README.rst -> liburing-2024.3.31
copying pyproject.toml -> liburing-2024.3.31
copying setup.py -> liburing-2024.3.31
copying example/open_write_read_close.py -> liburing-2024.3.31/example
copying example/probe.py -> liburing-2024.3.31/example
copying libs/liburing/LICENSE -> liburing-2024.3.31/libs/liburing
copying libs/liburing/Makefile -> liburing-2024.3.31/libs/liburing
copying libs/liburing/Makefile.common -> liburing-2024.3.31/libs/liburing
copying libs/liburing/Makefile.quiet -> liburing-2024.3.31/libs/liburing
copying libs/liburing/configure -> liburing-2024.3.31/libs/liburing
copying libs/liburing/liburing-ffi.pc.in -> liburing-2024.3.31/libs/liburing
copying libs/liburing/liburing.pc.in -> liburing-2024.3.31/libs/liburing
copying libs/liburing/liburing.spec -> liburing-2024.3.31/libs/liburing
copying libs/liburing/src/Makefile -> liburing-2024.3.31/libs/liburing/src
copying libs/liburing/src/ffi.c -> liburing-2024.3.31/libs/liburing/src
copying libs/liburing/src/int_flags.h -> liburing-2024.3.31/libs/liburing/src
copying libs/liburing/src/lib.h -> liburing-2024.3.31/libs/liburing/src
copying libs/liburing/src/liburing-ffi.map -> liburing-2024.3.31/libs/liburing/src
copying libs/liburing/src/liburing.map -> liburing-2024.3.31/libs/liburing/src
copying libs/liburing/src/nolibc.c -> liburing-2024.3.31/libs/liburing/src
copying libs/liburing/src/queue.c -> liburing-2024.3.31/libs/liburing/src
copying libs/liburing/src/register.c -> liburing-2024.3.31/libs/liburing/src
copying libs/liburing/src/setup.c -> liburing-2024.3.31/libs/liburing/src
copying libs/liburing/src/setup.h -> liburing-2024.3.31/libs/liburing/src
copying libs/liburing/src/syscall.c -> liburing-2024.3.31/libs/liburing/src
copying libs/liburing/src/syscall.h -> liburing-2024.3.31/libs/liburing/src
copying libs/liburing/src/version.c -> liburing-2024.3.31/libs/liburing/src
copying libs/liburing/src/arch/syscall-defs.h -> liburing-2024.3.31/libs/liburing/src/arch
copying libs/liburing/src/arch/aarch64/lib.h -> liburing-2024.3.31/libs/liburing/src/arch/aarch64
copying libs/liburing/src/arch/aarch64/syscall.h -> liburing-2024.3.31/libs/liburing/src/arch/aarch64
copying libs/liburing/src/arch/generic/lib.h -> liburing-2024.3.31/libs/liburing/src/arch/generic
copying libs/liburing/src/arch/generic/syscall.h -> liburing-2024.3.31/libs/liburing/src/arch/generic
copying libs/liburing/src/arch/riscv64/lib.h -> liburing-2024.3.31/libs/liburing/src/arch/riscv64
copying libs/liburing/src/arch/riscv64/syscall.h -> liburing-2024.3.31/libs/liburing/src/arch/riscv64
copying libs/liburing/src/arch/x86/lib.h -> liburing-2024.3.31/libs/liburing/src/arch/x86
copying libs/liburing/src/arch/x86/syscall.h -> liburing-2024.3.31/libs/liburing/src/arch/x86
copying libs/liburing/src/include/liburing.h -> liburing-2024.3.31/libs/liburing/src/include
copying libs/liburing/src/include/liburing/barrier.h -> liburing-2024.3.31/libs/liburing/src/include/liburing
copying libs/liburing/src/include/liburing/io_uring.h -> liburing-2024.3.31/libs/liburing/src/include/liburing
copying src/liburing/__init__.pxd -> liburing-2024.3.31/src/liburing
copying src/liburing/__init__.py -> liburing-2024.3.31/src/liburing
copying src/liburing/_test.pxd -> liburing-2024.3.31/src/liburing
copying src/liburing/_test.pyx -> liburing-2024.3.31/src/liburing
copying src/liburing/common.pxd -> liburing-2024.3.31/src/liburing
copying src/liburing/common.pyx -> liburing-2024.3.31/src/liburing
copying src/liburing/error.pxd -> liburing-2024.3.31/src/liburing
copying src/liburing/error.pyx -> liburing-2024.3.31/src/liburing
copying src/liburing/file.pxd -> liburing-2024.3.31/src/liburing
copying src/liburing/file.pyx -> liburing-2024.3.31/src/liburing
copying src/liburing/futex.pxd -> liburing-2024.3.31/src/liburing
copying src/liburing/futex.pyx -> liburing-2024.3.31/src/liburing
copying src/liburing/helper.pxd -> liburing-2024.3.31/src/liburing
copying src/liburing/helper.pyx -> liburing-2024.3.31/src/liburing
copying src/liburing/os.pxd -> liburing-2024.3.31/src/liburing
copying src/liburing/os.pyx -> liburing-2024.3.31/src/liburing
copying src/liburing/other.pxd -> liburing-2024.3.31/src/liburing
copying src/liburing/other.pyx -> liburing-2024.3.31/src/liburing
copying src/liburing/poll.pxd -> liburing-2024.3.31/src/liburing
copying src/liburing/poll.pyx -> liburing-2024.3.31/src/liburing
copying src/liburing/probe.pxd -> liburing-2024.3.31/src/liburing
copying src/liburing/probe.py -> liburing-2024.3.31/src/liburing
copying src/liburing/probe.pyx -> liburing-2024.3.31/src/liburing
copying src/liburing/queue.pxd -> liburing-2024.3.31/src/liburing
copying src/liburing/queue.pyx -> liburing-2024.3.31/src/liburing
copying src/liburing/register.pxd -> liburing-2024.3.31/src/liburing
copying src/liburing/register.pyx -> liburing-2024.3.31/src/liburing
copying src/liburing/socket.pxd -> liburing-2024.3.31/src/liburing
copying src/liburing/socket.pyx -> liburing-2024.3.31/src/liburing
copying src/liburing/socket_extra.pxd -> liburing-2024.3.31/src/liburing
copying src/liburing/socket_extra.pyx -> liburing-2024.3.31/src/liburing
copying src/liburing/statx.pxd -> liburing-2024.3.31/src/liburing
copying src/liburing/statx.pyx -> liburing-2024.3.31/src/liburing
copying src/liburing/syscall.pxd -> liburing-2024.3.31/src/liburing
copying src/liburing/syscall.pyx -> liburing-2024.3.31/src/liburing
copying src/liburing/time.pxd -> liburing-2024.3.31/src/liburing
copying src/liburing/time.pyx -> liburing-2024.3.31/src/liburing
copying src/liburing/version.pxd -> liburing-2024.3.31/src/liburing
copying src/liburing/version.pyx -> liburing-2024.3.31/src/liburing
copying src/liburing/xattr.pxd -> liburing-2024.3.31/src/liburing
copying src/liburing/xattr.pyx -> liburing-2024.3.31/src/liburing
copying src/liburing.egg-info/PKG-INFO -> liburing-2024.3.31/src/liburing.egg-info
copying src/liburing.egg-info/SOURCES.txt -> liburing-2024.3.31/src/liburing.egg-info
copying src/liburing.egg-info/dependency_links.txt -> liburing-2024.3.31/src/liburing.egg-info
copying src/liburing.egg-info/requires.txt -> liburing-2024.3.31/src/liburing.egg-info
copying src/liburing.egg-info/top_level.txt -> liburing-2024.3.31/src/liburing.egg-info
copying src/liburing/include/liburing.h -> liburing-2024.3.31/src/liburing/include
copying src/liburing/include/liburing/barrier.h -> liburing-2024.3.31/src/liburing/include/liburing
copying src/liburing/include/liburing/compat.h -> liburing-2024.3.31/src/liburing/include/liburing
copying src/liburing/include/liburing/io_uring.h -> liburing-2024.3.31/src/liburing/include/liburing
copying src/liburing/include/liburing/io_uring_version.h -> liburing-2024.3.31/src/liburing/include/liburing
copying src/liburing/lib/__init__.pxd -> liburing-2024.3.31/src/liburing/lib
copying src/liburing/lib/file.pxd -> liburing-2024.3.31/src/liburing/lib
copying src/liburing/lib/futex.pxd -> liburing-2024.3.31/src/liburing/lib
copying src/liburing/lib/io_uring.pxd -> liburing-2024.3.31/src/liburing/lib
copying src/liburing/lib/poll.pxd -> liburing-2024.3.31/src/liburing/lib
copying src/liburing/lib/socket.pxd -> liburing-2024.3.31/src/liburing/lib
copying src/liburing/lib/statx.pxd -> liburing-2024.3.31/src/liburing/lib
copying src/liburing/lib/type.pxd -> liburing-2024.3.31/src/liburing/lib
copying src/liburing/lib/uring.pxd -> liburing-2024.3.31/src/liburing/lib
copying test/conftest.py -> liburing-2024.3.31/test
copying test/error_test.py -> liburing-2024.3.31/test
copying test/futex_test.py -> liburing-2024.3.31/test
copying test/iovec_test.py -> liburing-2024.3.31/test
copying test/probe_test.py -> liburing-2024.3.31/test
copying test/statx_test.py -> liburing-2024.3.31/test
copying test/syscall_test.py -> liburing-2024.3.31/test
copying test/time_test.py -> liburing-2024.3.31/test
copying test/version_test.py -> liburing-2024.3.31/test
copying test/file/file_test.py -> liburing-2024.3.31/test/file
copying test/file/open_close_test.py -> liburing-2024.3.31/test/file
copying test/file/open_how_test.py -> liburing-2024.3.31/test/file
copying test/helper/io_uring_put_sqe_test.py -> liburing-2024.3.31/test/helper
copying test/lib/file_define_test.py -> liburing-2024.3.31/test/lib
copying test/lib/futex_define_test.py -> liburing-2024.3.31/test/lib
copying test/lib/io_uring_define_test.py -> liburing-2024.3.31/test/lib
copying test/lib/poll_define_test.py -> liburing-2024.3.31/test/lib
copying test/lib/socket_define_test.py -> liburing-2024.3.31/test/lib
copying test/lib/statx_define_test.py -> liburing-2024.3.31/test/lib
copying test/lib/type_define_test.py -> liburing-2024.3.31/test/lib
copying test/lib/uring_define_test.py -> liburing-2024.3.31/test/lib
copying test/os/splice_test.py -> liburing-2024.3.31/test/os
copying test/os/unlink_test.py -> liburing-2024.3.31/test/os
copying test/queue/init_exit_test.py -> liburing-2024.3.31/test/queue
copying test/queue/sqe_cqe_test.py -> liburing-2024.3.31/test/queue
copying test/socket/cmd_sock_test.py -> liburing-2024.3.31/test/socket
copying test/socket/getaddinfo_test.py -> liburing-2024.3.31/test/socket
copying test/socket/getnameinfo_test.py -> liburing-2024.3.31/test/socket
copying test/socket/getsockname_test.py -> liburing-2024.3.31/test/socket
copying test/socket/socket_connect_test.py -> liburing-2024.3.31/test/socket
copying src/liburing.egg-info/SOURCES.txt -> liburing-2024.3.31/src/liburing.egg-info
Writing liburing-2024.3.31/setup.cfg
Creating tar archive
removing 'liburing-2024.3.31' (and everything under it)
* Building wheel from sdist
* Creating isolated environment: venv+pip...
* Installing packages in isolated environment:
  - cython>=3
  - setuptools>=60
  - wheel
* Getting build dependencies for wheel...
Compiling src/liburing/_test.pyx because it changed.
Compiling src/liburing/common.pyx because it changed.
Compiling src/liburing/error.pyx because it changed.
Compiling src/liburing/file.pyx because it changed.
Compiling src/liburing/futex.pyx because it changed.
Compiling src/liburing/helper.pyx because it changed.
Compiling src/liburing/os.pyx because it changed.
Compiling src/liburing/other.pyx because it changed.
Compiling src/liburing/poll.pyx because it changed.
Compiling src/liburing/probe.pyx because it changed.
Compiling src/liburing/queue.pyx because it changed.
Compiling src/liburing/register.pyx because it changed.
Compiling src/liburing/socket.pyx because it changed.
Compiling src/liburing/socket_extra.pyx because it changed.
Compiling src/liburing/statx.pyx because it changed.
Compiling src/liburing/syscall.pyx because it changed.
Compiling src/liburing/time.pyx because it changed.
Compiling src/liburing/version.pyx because it changed.
Compiling src/liburing/xattr.pyx because it changed.
[ 1/19] Cythonizing src/liburing/_test.pyx
[ 2/19] Cythonizing src/liburing/common.pyx
[ 3/19] Cythonizing src/liburing/error.pyx
[ 4/19] Cythonizing src/liburing/file.pyx
[ 5/19] Cythonizing src/liburing/futex.pyx
[ 6/19] Cythonizing src/liburing/helper.pyx
[ 7/19] Cythonizing src/liburing/os.pyx
[ 8/19] Cythonizing src/liburing/other.pyx
[10/19] Cythonizing src/liburing/probe.pyx
[ 9/19] Cythonizing src/liburing/poll.pyx
[11/19] Cythonizing src/liburing/queue.pyx
[12/19] Cythonizing src/liburing/register.pyx
[13/19] Cythonizing src/liburing/socket.pyx
[14/19] Cythonizing src/liburing/socket_extra.pyx
running build_ext
building 'liburing._test' extension
creating build
creating build/temp.linux-x86_64-cpython-313
creating build/temp.linux-x86_64-cpython-313/src
creating build/temp.linux-x86_64-cpython-313/src/liburing
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/tmp/tmpnkdq9fia/libs/liburing/src/include -I/tmp/build-env-wquj0au2/include -I/opt/python/3.13/include/python3.13 -c src/liburing/_test.c -o build/temp.linux-x86_64-cpython-313/src/liburing/_test.o -O3 -g0
building 'liburing.common' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpnkdq9fia/libs/liburing/src/include -I/tmp/build-env-wquj0au2/include -I/opt/python/3.13/include/python3.13 -c src/liburing/common.c -o build/temp.linux-x86_64-cpython-313/src/liburing/common.o -O3 -g0
building 'liburing.error' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/tmp/tmpnkdq9fia/libs/liburing/src/include -I/tmp/build-env-wquj0au2/include -I/opt/python/3.13/include/python3.13 -c src/liburing/error.c -o build/temp.linux-x86_64-cpython-313/src/liburing/error.o -O3 -g0
building 'liburing.file' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpnkdq9fia/libs/liburing/src/include -I/tmp/build-env-wquj0au2/include -I/opt/python/3.13/include/python3.13 -c src/liburing/file.c -o build/temp.linux-x86_64-cpython-313/src/liburing/file.o -O3 -g0
building 'liburing.futex' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpnkdq9fia/libs/liburing/src/include -I/tmp/build-env-wquj0au2/include -I/opt/python/3.13/include/python3.13 -c src/liburing/futex.c -o build/temp.linux-x86_64-cpython-313/src/liburing/futex.o -O3 -g0
building 'liburing.helper' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpnkdq9fia/libs/liburing/src/include -I/tmp/build-env-wquj0au2/include -I/opt/python/3.13/include/python3.13 -c src/liburing/helper.c -o build/temp.linux-x86_64-cpython-313/src/liburing/helper.o -O3 -g0
building 'liburing.os' extension
building 'liburing.other' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpnkdq9fia/libs/liburing/src/include -I/tmp/build-env-wquj0au2/include -I/opt/python/3.13/include/python3.13 -c src/liburing/other.c -o build/temp.linux-x86_64-cpython-313/src/liburing/other.o -O3 -g0
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpnkdq9fia/libs/liburing/src/include -I/tmp/build-env-wquj0au2/include -I/opt/python/3.13/include/python3.13 -c src/liburing/os.c -o build/temp.linux-x86_64-cpython-313/src/liburing/os.o -O3 -g0
building 'liburing.poll' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpnkdq9fia/libs/liburing/src/include -I/tmp/build-env-wquj0au2/include -I/opt/python/3.13/include/python3.13 -c src/liburing/poll.c -o build/temp.linux-x86_64-cpython-313/src/liburing/poll.o -O3 -g0
building 'liburing.probe' extension
building 'liburing.queue' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpnkdq9fia/libs/liburing/src/include -I/tmp/build-env-wquj0au2/include -I/opt/python/3.13/include/python3.13 -c src/liburing/queue.c -o build/temp.linux-x86_64-cpython-313/src/liburing/queue.o -O3 -g0
building 'liburing.register' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpnkdq9fia/libs/liburing/src/include -I/tmp/build-env-wquj0au2/include -I/opt/python/3.13/include/python3.13 -c src/liburing/probe.c -o build/temp.linux-x86_64-cpython-313/src/liburing/probe.o -O3 -g0
building 'liburing.socket_extra' extension
building 'liburing.socket' extension
building 'liburing.statx' extension
building 'liburing.syscall' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpnkdq9fia/libs/liburing/src/include -I/tmp/build-env-wquj0au2/include -I/opt/python/3.13/include/python3.13 -c src/liburing/register.c -o build/temp.linux-x86_64-cpython-313/src/liburing/register.o -O3 -g0
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpnkdq9fia/libs/liburing/src/include -I/tmp/build-env-wquj0au2/include -I/opt/python/3.13/include/python3.13 -c src/liburing/socket_extra.c -o build/temp.linux-x86_64-cpython-313/src/liburing/socket_extra.o -O3 -g0
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpnkdq9fia/libs/liburing/src/include -I/tmp/build-env-wquj0au2/include -I/opt/python/3.13/include/python3.13 -c src/liburing/socket.c -o build/temp.linux-x86_64-cpython-313/src/liburing/socket.o -O3 -g0
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpnkdq9fia/libs/liburing/src/include -I/tmp/build-env-wquj0au2/include -I/opt/python/3.13/include/python3.13 -c src/liburing/statx.c -o build/temp.linux-x86_64-cpython-313/src/liburing/statx.o -O3 -g0
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpnkdq9fia/libs/liburing/src/include -I/tmp/build-env-wquj0au2/include -I/opt/python/3.13/include/python3.13 -c src/liburing/syscall.c -o build/temp.linux-x86_64-cpython-313/src/liburing/syscall.o -O3 -g0
src/liburing/_test.c:2016:9: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]                                                                                                               
 2016 |         Py_UNICODE *as_pyunicodes;                                                                                                                                                                 
      |         ^~~~~~~~~~                                                                                                                                                                                 
src/liburing/register.c:3256:9: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]                                                                                                            
 3256 |         Py_UNICODE *as_pyunicodes;                                                                                                                                                                 
      |         ^~~~~~~~~~                                                                                                                                                                                 
src/liburing/socket.c:3541:9: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]                                                                                                              
 3541 |         Py_UNICODE *as_pyunicodes;                                                                                                                                                                 
      |         ^~~~~~~~~~                                                                                                                                                                                 
src/liburing/file.c:3466:9: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]                                                                                                                
 3466 |         Py_UNICODE *as_pyunicodes;                                                                                                                                                                 
      |         ^~~~~~~~~~                                                                                                                                                                                 
src/liburing/futex.c:3153:9: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]                                                                                                               
 3153 |         Py_UNICODE *as_pyunicodes;                                                                                                                                                                 
      |         ^~~~~~~~~~                                                                                                                                                                                 
src/liburing/socket_extra.c:3670:9: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]                                                                                                        
 3670 |         Py_UNICODE *as_pyunicodes;                                                                                                                                                                 
      |         ^~~~~~~~~~                                                                                                                                                                                 
creating build/lib.linux-x86_64-cpython-313
creating build/lib.linux-x86_64-cpython-313/liburing
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/_test.o -L/tmp/tmpnkdq9fia/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/_test.cpython-313-x86_64-linux-gnu.so
building 'liburing.time' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpnkdq9fia/libs/liburing/src/include -I/tmp/build-env-wquj0au2/include -I/opt/python/3.13/include/python3.13 -c src/liburing/time.c -o build/temp.linux-x86_64-cpython-313/src/liburing/time.o -O3 -g0
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/error.o -L/tmp/tmpnkdq9fia/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/error.cpython-313-x86_64-linux-gnu.so
building 'liburing.version' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpnkdq9fia/libs/liburing/src/include -I/tmp/build-env-wquj0au2/include -I/opt/python/3.13/include/python3.13 -c src/liburing/version.c -o build/temp.linux-x86_64-cpython-313/src/liburing/version.o -O3 -g0
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/version.o -L/tmp/tmpnkdq9fia/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/version.cpython-313-x86_64-linux-gnu.so
building 'liburing.xattr' extension
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Isrc/liburing/lib -I/tmp/tmpnkdq9fia/libs/liburing/src/include -I/tmp/build-env-wquj0au2/include -I/opt/python/3.13/include/python3.13 -c src/liburing/xattr.c -o build/temp.linux-x86_64-cpython-313/src/liburing/xattr.o -O3 -g0
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/probe.o -L/tmp/tmpnkdq9fia/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/probe.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/other.o -L/tmp/tmpnkdq9fia/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/other.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/helper.o -L/tmp/tmpnkdq9fia/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/helper.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/poll.o -L/tmp/tmpnkdq9fia/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/poll.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/register.o -L/tmp/tmpnkdq9fia/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/register.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/socket_extra.o -L/tmp/tmpnkdq9fia/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/socket_extra.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/time.o -L/tmp/tmpnkdq9fia/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/time.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/file.o -L/tmp/tmpnkdq9fia/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/file.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/os.o -L/tmp/tmpnkdq9fia/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/os.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/xattr.o -L/tmp/tmpnkdq9fia/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/xattr.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/futex.o -L/tmp/tmpnkdq9fia/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/futex.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/statx.o -L/tmp/tmpnkdq9fia/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/statx.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/common.o -L/tmp/tmpnkdq9fia/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/common.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/queue.o -L/tmp/tmpnkdq9fia/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/queue.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/syscall.o -L/tmp/tmpnkdq9fia/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/syscall.cpython-313-x86_64-linux-gnu.so
gcc -shared build/temp.linux-x86_64-cpython-313/src/liburing/socket.o -L/tmp/tmpnkdq9fia/libs/liburing/src -luring -o build/lib.linux-x86_64-cpython-313/liburing/socket.cpython-313-x86_64-linux-gnu.so
running egg_info
writing src/liburing.egg-info/PKG-INFO
writing dependency_links to src/liburing.egg-info/dependency_links.txt
writing requirements to src/liburing.egg-info/requires.txt
writing top-level names to src/liburing.egg-info/top_level.txt
reading manifest file 'src/liburing.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '*.py[cod]' found anywhere in distribution
adding license file 'LICENSE.txt'
writing manifest file 'src/liburing.egg-info/SOURCES.txt'
* Installing packages in isolated environment:
  - wheel
* Building wheel...
running build_ext
running bdist_wheel
running build
running build_py
copying src/liburing/__init__.py -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/probe.py -> build/lib.linux-x86_64-cpython-313/liburing
running egg_info
writing src/liburing.egg-info/PKG-INFO
writing dependency_links to src/liburing.egg-info/dependency_links.txt
writing requirements to src/liburing.egg-info/requires.txt
writing top-level names to src/liburing.egg-info/top_level.txt
reading manifest file 'src/liburing.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '*.py[cod]' found anywhere in distribution
adding license file 'LICENSE.txt'
writing manifest file 'src/liburing.egg-info/SOURCES.txt'
copying src/liburing/__init__.pxd -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/_test.pxd -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/_test.pyx -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/common.pxd -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/common.pyx -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/error.pxd -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/error.pyx -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/file.pxd -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/file.pyx -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/futex.pxd -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/futex.pyx -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/helper.pxd -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/helper.pyx -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/os.pxd -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/os.pyx -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/other.pxd -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/other.pyx -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/poll.pxd -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/poll.pyx -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/probe.pxd -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/probe.pyx -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/queue.pxd -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/queue.pyx -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/register.pxd -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/register.pyx -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/socket.pxd -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/socket.pyx -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/socket_extra.pxd -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/socket_extra.pyx -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/statx.pxd -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/statx.pyx -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/syscall.pxd -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/syscall.pyx -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/time.pxd -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/time.pyx -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/version.pxd -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/version.pyx -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/xattr.pxd -> build/lib.linux-x86_64-cpython-313/liburing
copying src/liburing/xattr.pyx -> build/lib.linux-x86_64-cpython-313/liburing
creating build/lib.linux-x86_64-cpython-313/liburing/include
copying src/liburing/include/liburing.h -> build/lib.linux-x86_64-cpython-313/liburing/include
creating build/lib.linux-x86_64-cpython-313/liburing/lib
copying src/liburing/lib/__init__.pxd -> build/lib.linux-x86_64-cpython-313/liburing/lib
copying src/liburing/lib/file.pxd -> build/lib.linux-x86_64-cpython-313/liburing/lib
copying src/liburing/lib/futex.pxd -> build/lib.linux-x86_64-cpython-313/liburing/lib
copying src/liburing/lib/io_uring.pxd -> build/lib.linux-x86_64-cpython-313/liburing/lib
copying src/liburing/lib/poll.pxd -> build/lib.linux-x86_64-cpython-313/liburing/lib
copying src/liburing/lib/socket.pxd -> build/lib.linux-x86_64-cpython-313/liburing/lib
copying src/liburing/lib/statx.pxd -> build/lib.linux-x86_64-cpython-313/liburing/lib
copying src/liburing/lib/type.pxd -> build/lib.linux-x86_64-cpython-313/liburing/lib
copying src/liburing/lib/uring.pxd -> build/lib.linux-x86_64-cpython-313/liburing/lib
creating build/lib.linux-x86_64-cpython-313/liburing/include/liburing
copying src/liburing/include/liburing/barrier.h -> build/lib.linux-x86_64-cpython-313/liburing/include/liburing
copying src/liburing/include/liburing/compat.h -> build/lib.linux-x86_64-cpython-313/liburing/include/liburing
copying src/liburing/include/liburing/io_uring.h -> build/lib.linux-x86_64-cpython-313/liburing/include/liburing
copying src/liburing/include/liburing/io_uring_version.h -> build/lib.linux-x86_64-cpython-313/liburing/include/liburing
running build_ext
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/_test.cpython-313-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/error.cpython-313-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/version.cpython-313-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/probe.cpython-313-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/other.cpython-313-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/helper.cpython-313-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/poll.cpython-313-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/register.cpython-313-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/socket_extra.cpython-313-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/time.cpython-313-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/file.cpython-313-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/os.cpython-313-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/xattr.cpython-313-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/futex.cpython-313-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/statx.cpython-313-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/common.cpython-313-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/queue.cpython-313-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/syscall.cpython-313-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/socket.cpython-313-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/__init__.py -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/probe.py -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/__init__.pxd -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/_test.pxd -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/_test.pyx -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/common.pxd -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/common.pyx -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/error.pxd -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/error.pyx -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/file.pxd -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/file.pyx -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/futex.pxd -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/futex.pyx -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/helper.pxd -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/helper.pyx -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/os.pxd -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/os.pyx -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/other.pxd -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/other.pyx -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/poll.pxd -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/poll.pyx -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/probe.pxd -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/probe.pyx -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/queue.pxd -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/queue.pyx -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/register.pxd -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/register.pyx -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/socket.pxd -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/socket.pyx -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/socket_extra.pxd -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/socket_extra.pyx -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/statx.pxd -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/statx.pyx -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/syscall.pxd -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/syscall.pyx -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/time.pxd -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/time.pyx -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/version.pxd -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/version.pyx -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/xattr.pxd -> build/bdist.linux-x86_64/wheel/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/xattr.pyx -> build/bdist.linux-x86_64/wheel/liburing
creating build/bdist.linux-x86_64/wheel/liburing/include
copying build/lib.linux-x86_64-cpython-313/liburing/include/liburing.h -> build/bdist.linux-x86_64/wheel/liburing/include
creating build/bdist.linux-x86_64/wheel/liburing/include/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/include/liburing/barrier.h -> build/bdist.linux-x86_64/wheel/liburing/include/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/include/liburing/compat.h -> build/bdist.linux-x86_64/wheel/liburing/include/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/include/liburing/io_uring.h -> build/bdist.linux-x86_64/wheel/liburing/include/liburing
copying build/lib.linux-x86_64-cpython-313/liburing/include/liburing/io_uring_version.h -> build/bdist.linux-x86_64/wheel/liburing/include/liburing
creating build/bdist.linux-x86_64/wheel/liburing/lib
copying build/lib.linux-x86_64-cpython-313/liburing/lib/__init__.pxd -> build/bdist.linux-x86_64/wheel/liburing/lib
copying build/lib.linux-x86_64-cpython-313/liburing/lib/file.pxd -> build/bdist.linux-x86_64/wheel/liburing/lib
copying build/lib.linux-x86_64-cpython-313/liburing/lib/futex.pxd -> build/bdist.linux-x86_64/wheel/liburing/lib
copying build/lib.linux-x86_64-cpython-313/liburing/lib/io_uring.pxd -> build/bdist.linux-x86_64/wheel/liburing/lib
copying build/lib.linux-x86_64-cpython-313/liburing/lib/poll.pxd -> build/bdist.linux-x86_64/wheel/liburing/lib
copying build/lib.linux-x86_64-cpython-313/liburing/lib/socket.pxd -> build/bdist.linux-x86_64/wheel/liburing/lib
copying build/lib.linux-x86_64-cpython-313/liburing/lib/statx.pxd -> build/bdist.linux-x86_64/wheel/liburing/lib
copying build/lib.linux-x86_64-cpython-313/liburing/lib/type.pxd -> build/bdist.linux-x86_64/wheel/liburing/lib
copying build/lib.linux-x86_64-cpython-313/liburing/lib/uring.pxd -> build/bdist.linux-x86_64/wheel/liburing/lib
running install_egg_info
Copying src/liburing.egg-info to build/bdist.linux-x86_64/wheel/liburing-2024.3.31-py3.13.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/liburing-2024.3.31.dist-info/WHEEL
creating '/data/Files/Liburing/Python/Liburing/dist/.tmp-s02_4dbm/liburing-2024.3.31-cp313-cp313-linux_x86_64.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'liburing/__init__.pxd'
adding 'liburing/__init__.py'
adding 'liburing/_test.cpython-313-x86_64-linux-gnu.so'
adding 'liburing/_test.pxd'
adding 'liburing/_test.pyx'
adding 'liburing/common.cpython-313-x86_64-linux-gnu.so'
adding 'liburing/common.pxd'
adding 'liburing/common.pyx'
adding 'liburing/error.cpython-313-x86_64-linux-gnu.so'
adding 'liburing/error.pxd'
adding 'liburing/error.pyx'
adding 'liburing/file.cpython-313-x86_64-linux-gnu.so'
adding 'liburing/file.pxd'
adding 'liburing/file.pyx'
adding 'liburing/futex.cpython-313-x86_64-linux-gnu.so'
adding 'liburing/futex.pxd'
adding 'liburing/futex.pyx'
adding 'liburing/helper.cpython-313-x86_64-linux-gnu.so'
adding 'liburing/helper.pxd'
adding 'liburing/helper.pyx'
adding 'liburing/os.cpython-313-x86_64-linux-gnu.so'
adding 'liburing/os.pxd'
adding 'liburing/os.pyx'
adding 'liburing/other.cpython-313-x86_64-linux-gnu.so'
adding 'liburing/other.pxd'
adding 'liburing/other.pyx'
adding 'liburing/poll.cpython-313-x86_64-linux-gnu.so'
adding 'liburing/poll.pxd'
adding 'liburing/poll.pyx'
adding 'liburing/probe.cpython-313-x86_64-linux-gnu.so'
adding 'liburing/probe.pxd'
adding 'liburing/probe.py'
adding 'liburing/probe.pyx'
adding 'liburing/queue.cpython-313-x86_64-linux-gnu.so'
adding 'liburing/queue.pxd'
adding 'liburing/queue.pyx'
adding 'liburing/register.cpython-313-x86_64-linux-gnu.so'
adding 'liburing/register.pxd'
adding 'liburing/register.pyx'
adding 'liburing/socket.cpython-313-x86_64-linux-gnu.so'
adding 'liburing/socket.pxd'
adding 'liburing/socket.pyx'
adding 'liburing/socket_extra.cpython-313-x86_64-linux-gnu.so'
adding 'liburing/socket_extra.pxd'
adding 'liburing/socket_extra.pyx'
adding 'liburing/statx.cpython-313-x86_64-linux-gnu.so'
adding 'liburing/statx.pxd'
adding 'liburing/statx.pyx'
adding 'liburing/syscall.cpython-313-x86_64-linux-gnu.so'
adding 'liburing/syscall.pxd'
adding 'liburing/syscall.pyx'
adding 'liburing/time.cpython-313-x86_64-linux-gnu.so'
adding 'liburing/time.pxd'
adding 'liburing/time.pyx'
adding 'liburing/version.cpython-313-x86_64-linux-gnu.so'
adding 'liburing/version.pxd'
adding 'liburing/version.pyx'
adding 'liburing/xattr.cpython-313-x86_64-linux-gnu.so'
adding 'liburing/xattr.pxd'
adding 'liburing/xattr.pyx'
adding 'liburing/include/liburing.h'
adding 'liburing/include/liburing/barrier.h'
adding 'liburing/include/liburing/compat.h'
adding 'liburing/include/liburing/io_uring.h'
adding 'liburing/include/liburing/io_uring_version.h'
adding 'liburing/lib/__init__.pxd'
adding 'liburing/lib/file.pxd'
adding 'liburing/lib/futex.pxd'
adding 'liburing/lib/io_uring.pxd'
adding 'liburing/lib/poll.pxd'
adding 'liburing/lib/socket.pxd'
adding 'liburing/lib/statx.pxd'
adding 'liburing/lib/type.pxd'
adding 'liburing/lib/uring.pxd'
adding 'liburing-2024.3.31.dist-info/LICENSE.txt'
adding 'liburing-2024.3.31.dist-info/METADATA'
adding 'liburing-2024.3.31.dist-info/WHEEL'
adding 'liburing-2024.3.31.dist-info/top_level.txt'
adding 'liburing-2024.3.31.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built liburing-2024.3.31.tar.gz and liburing-2024.3.31-cp313-cp313-linux_x86_64.whl
YoSTEALTH commented 3 months ago

Any comment on this?

layday commented 3 months ago

build_ext is passed to both the build_sdist and build_wheel hooks so it ends up being invoked twice, I imagine. There was a proposal to split config settings by hook but it was rejected. I don't know if there's some other way you can configure setuptools to work around this issue.

henryiii commented 3 months ago

I think this is referring to building dependencies in build-system.requires. This should be rare except on systems without many or any wheels.

henryiii commented 3 months ago

Ahh, no, didn’t read it properly.

henryiii commented 3 months ago

This really needs to be fixed in setuptools. Other build backends (like scikit-build-core and meson-python) don’t have this problem.

henryiii commented 3 months ago

And you can work around it by reading environment variables in setup.py. Setuptools’ configuration system was designed around setup.py command and hasn’t been adapted to work with modern building very well. And setuptools doesn’t support compiling files in parallel in the first place, so it either is already hacked in or you are only getting extensions building in parallel. Actually, it looks like you have one extension (so this won’t affect anything) and are already running “make” in parallel: https://github.com/YoSTEALTH/Liburing/blob/7c584e78d40fe6b0552af79085ba27f0901e8831/setup.py#L12 ? Have you checked to see if passing this is faster? I’d guess it might not be.

YoSTEALTH commented 3 months ago

@henryiii That threads variable is for make and cython which is done very fast. It does not effect the build_ext setuptools uses.

Looks like this again is setuptools issue, I will try and make a post there. The reason I posted here is because build --help says:

By default, a source distribution (sdist) is built from {srcdir} and a binary distribution (wheel) is built from the sdist. This is recommended as it will ensure the sdist can be used to build wheels. Figured wheel was being built by sdist

I am stuck with using setuptools for this release, maybe later I can look into other build options if thing don't get better.

Thanks @layday and @henryiii for your comments.

henryiii commented 3 months ago

build_ext does not build an Extension's files in parallel. That switch only allows Extensions to be build in parallel. You have one Extension so it should have no effect.

YoSTEALTH commented 3 months ago

@henryiii I see, makes sense.

All I know is https://github.com/YoSTEALTH/Liburing/tree/master/src/liburing each of those .pxy will create its own .so file. build_ext by default will compile 1 at a time, running build_ext -j4 will build multiple of those.

henryiii commented 3 months ago

Ah, so cythonize returns a list of Extensions: https://github.com/cython/cython/blob/6e8585b3def3a5b8a6ab9a3291015a8806024b6a/Cython/Build/Dependencies.py#L851 - yes, multiple extensions do compile in parallel.

You should be able to customize built_ext and set self.parallel inside build_extensions, I think. I've never tried setting it, only reading it, but I think it might/should work.

YoSTEALTH commented 3 months ago

Just checked cythonize(nthreads=threads) is needed as it will convert *.pxy to *.c in parallel even in single Extensions.

So I ended up writing a subclass according to your recommendation, this solves the build_ext, build, and pip parallel issues...

It still runs the ./configure couple of times, I think I should move it into the subclass as well (might solve the issue as well).

Thank you @henryiii for being awesome and helping out https://github.com/YoSTEALTH/Liburing/commit/520fe48784e03679aa547e7516181c5ffbe269af

abravalheri commented 3 months ago

For future reference. This is the resolution for the issue provided in https://github.com/pypa/setuptools/issues/4290:

Please note that the command python3 -m build -C--global-option="build_ext -j16" is "sneaking in" build_ext -j16 to every single build hook API (these hooks were initially defined in PEP 517/660) and that is the reason why the build runs multiple times. Note that in the given example, this behaviour is explicitly solicited by the user input via CLI arguments.

If you don't want that behaviour please do not use -C--global-option="build_ext -j16".

Note that --global-option is provided as it is: an experimental attempt to emulate pip's old behaviour, but it is not guaranteed to do exactly what you want (specially because pip's old behaviour is not 100% equivalent/compatible with the build process initially introduced in PEP 517/660).

If you want to pass parameters to the build_ext, the only guaranteed way that works right now is to use setup.cfg to set the parallel option. See https://setuptools.pypa.io/en/latest/deprecated/distutils/configfile.html for reference.