Skip to content

Take two at fixing WASI config.site usage #606

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

Merged
merged 3 commits into from
Jun 4, 2025

Conversation

emmatyping
Copy link
Member

@emmatyping emmatyping commented Jun 4, 2025

This is both closer to what was done originally, and should be much more robust :)

My local test is still running, will move to ready when it is done.

The self.compile_environ is used during the configure here:

self.addStep(
Configure(
name="Configure host Python",
command=configure_cmd,
env=self.compile_environ,
workdir=oot_host_path
)
)

emmatyping and others added 2 commits June 4, 2025 12:03
@emmatyping emmatyping marked this pull request as ready for review June 4, 2025 19:10
@emmatyping
Copy link
Member Author

emmatyping commented Jun 4, 2025

Looks like it is working now, thanks for the suggestions @zware! I had also caught the relative path issue locally, and I agree copying the environment makes a lot of sense.

Example log of configure run
Builder: Test Builder 3.11
Build number: 7
Worker name: local-worker
../../Tools/wasm/wasi-env ../../configure --prefix '$(PWD)/target/host' --with-pydebug --without-pydebug --build=x86_64-pc-linux-gnu --host=wasm32-unknown-wasi --with-build-python=../build/python
 in dir /home/emma/buildmaster-config/master/workers/local-worker/3.11.local-worker.wasi.nondebug/build/build_oot/host (timeout 1200 secs)
 watching logfiles {}
 argv: [b'../../Tools/wasm/wasi-env', b'../../configure', b'--prefix', b'$(PWD)/target/host', b'--with-pydebug', b'--without-pydebug', b'--build=x86_64-pc-linux-gnu', b'--host=wasm32-unknown-wasi', b'--with-build-python=../build/python']
 environment:
  CONFIG_SITE=../../Tools/wasm/config.site-wasm32-wasi
  DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
  DEBUGINFOD_URLS=https://debuginfod.ubuntu.com 
  DISPLAY=:0
  HOME=/home/emma
  HOSTTYPE=x86_64
  LANG=C.UTF-8
  LESSCLOSE=/usr/bin/lesspipe %s %s
  LESSOPEN=| /usr/bin/lesspipe %s
  LOGNAME=emma
  LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:
  MAKEFLAGS=
  MAKELEVEL=1
  MAKE_TERMERR=/dev/pts/0
  MAKE_TERMOUT=/dev/pts/0
  MFLAGS=
  NAME=quirm
  NVM_BIN=/home/emma/.nvm/versions/node/v23.11.0/bin
  NVM_CD_FLAGS=
  NVM_DIR=/home/emma/.nvm
  NVM_INC=/home/emma/.nvm/versions/node/v23.11.0/include/node
  OLDPWD=/home/emma/cpython
  PATH=/home/emma/wasi-sdk-25.0-x86_64-linux/bin:/home/emma/buildmaster-config/venv/bin:/home/emma/.local/bin:/home/emma/.wasmtime/bin:/home/emma/.nvm/versions/node/v23.11.0/bin:/home/emma/.local/bin:/home/emma/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/tools/ruby33/bin:/mnt/c/texlive/2024/bin/windows:/mnt/c/Program Files/Eclipse Adoptium/jre-8.0.422.5-hotspot/bin:/mnt/c/Program Files/Eclipse Adoptium/jre-17.0.12.7-hotspot/bin:/mnt/c/Program Files/Eclipse Adoptium/jdk-17.0.12.7-hotspot/bin:/mnt/c/Program Files/Eclipse Adoptium/jdk-21.0.3.9-hotspot/bin:/mnt/c/Program Files/OpenSSH/:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/mnt/c/Python310/Scripts/:/mnt/c/Python310/:/mnt/c/Python311/Scripts/:/mnt/c/Python311/:/mnt/c/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.5/bin:/mnt/c/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.5/libnvvp:/mnt/c/Program Files (x86)/Razer chroma sdk/bin:/mnt/c/Program Files/Razer chroma sdk/bin:/mnt/c/Program Files (x86)/Razer/chromabroadcast/bin:/mnt/c/Program Files/Razer/chromabroadcast/bin:/mnt/c/Program Files/CMake/bin:/mnt/c/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.2/bin:/mnt/c/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.2/libnvvp:/mnt/c/tools/ruby26/bin:/mnt/c/python39/scripts/:/mnt/c/python39/:/mnt/c/Windows/System32:/mnt/c/Windows:/mnt/c/Windows/System32/wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Windows/System32/openssh/:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Python27:/mnt/c/Program Files/Microsoft SQL Server/130/Tools/Binn/:/mnt/c/Program Files/LLVM/bin:/mnt/c/ProgramData/nvm:/mnt/c/Program Files/OpenSSL/bin:/mnt/c/Program Files/Microsoft VS Code/bin:/mnt/c/texlive/2021/bin/win32:/mnt/c/Program Files/WireGuard/:/mnt/c/Program Files/OpenJDK/jdk-16.0.1/bin:/mnt/c/Windows/System32/config/systemprofile/AppData/Local/Microsoft/windowsapps:/mnt/c/Program Files (x86)/tailscale ipn:/mnt/c/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Auxiliary/Build:/mnt/c/Users/ethanhs/.wasmer/bin:/mnt/c/Users/ethanhs/.wasmer/globals/wapm_packages/.bin:/mnt/c/Program Files/usbipd-win/:/mnt/c/Program Files/Java/jdk1.8.0_211/bin:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files (x86)/GnuPG/bin:/mnt/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/mnt/c/Program Files/Microsoft VS Code/bin:/mnt/c/Program Files (x86)/Tailscale IPN:/mnt/c/ProgramData/nvm:/mnt/c/Program Files/nodejs:/mnt/c/Program Files/dotnet/:/mnt/c/Program Files/AMD/AMDuProf/bin:/mnt/c/Windows/System32:/mnt/c/Windows:/mnt/c/Windows/System32/wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Program Files/NVIDIA Corporation/Nsight Compute 2024.3.0/:/mnt/c/Program Files/GitHub CLI/:/mnt/c/Program Files/gs/gs10.03.1/bin:/mnt/c/Program Files/Git/cmd:/mnt/c/ProgramData/nvm:/mnt/c/Program Files/nodejs:/mnt/c/Strawberry/c/bin:/mnt/c/Strawberry/perl/site/bin:/mnt/c/Strawberry/perl/bin:/mnt/c/Program Files/Tailscale/:/mnt/c/Program Files/Vagrant/bin:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/Users/ethanhs/.cargo/bin:/mnt/c/Users/ethanhs/AppData/Local/Microsoft/WindowsApps:/mnt/c/tools/neovim/Neovim/bin:/mnt/c/Program Files (x86)/Nmap:/mnt/c/Program Files/Oracle/VirtualBox:/mnt/c/HashiCorp/Vagrant/bin:/mnt/c/Users/ethanhs/.local/bin:/mnt/c/Users/ethanhs/.dotnet/tools:/mnt/c/Users/ethanhs/.wasmer/bin:/mnt/c/Users/ethanhs/AppData/Local/Microsoft/WindowsApps:/mnt/c/Program Files/smartmontools/bin:/mnt/c/tools/neovim/nvim-win64/bin:/mnt/c/ProgramData/nvm:/mnt/c/Program Files/nodejs:/mnt/c/Program Files/RedHat/Podman:/mnt/c/libtorch/lib:/mnt/c/Users/ethanhs/.dotnet/tools:/mnt/c/users/ethanhs/appdata/roaming/python/python310/scripts:/snap/bin
  PS1=(venv) \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ 
  PULSE_SERVER=unix:/mnt/wslg/PulseServer
  PWD=/home/emma/buildmaster-config/master/workers/local-worker/3.11.local-worker.wasi.nondebug/build/build_oot/host
  PYBUILDBOT_SETTINGS_PATH=/home/emma/buildmaster-config/example-settings.yaml
  READELF=llvm-readelf-20
  SHELL=/bin/bash
  SHLVL=1
  TERM=xterm-256color
  USER=buildbot
  VIRTUAL_ENV=/home/emma/buildmaster-config/venv
  WASI_SDK_PATH=/home/emma/wasi-sdk-25.0-x86_64-linux
  WASMTIME_HOME=/home/emma/.wasmtime
  WAYLAND_DISPLAY=wayland-0
  WSL2_GUI_APPS_ENABLED=1
  WSLENV=WT_SESSION:WT_PROFILE_ID:
  WSL_DISTRO_NAME=Ubuntu-24.04
  WSL_INTEROP=/run/WSL/187083_interop
  WT_PROFILE_ID={d8e96812-b789-5068-a5ae-10b2fb53e95f}
  WT_SESSION=c94404a0-dd40-4dcb-aef5-f8589c16844f
  XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop
  XDG_RUNTIME_DIR=/run/user/1000/
  _=/usr/bin/make
 using PTY: False
configure: loading site script ../../Tools/wasm/config.site-wasm32-wasi
checking for git... found
checking build system type... x86_64-pc-linux-gnu
checking host system type... wasm32-unknown-wasi
checking for --with-build-python... ../build/python
checking for Python interpreter freezing... ../build/python
checking for python3.11... (cached) ../build/python
checking Python for regen version... Python 3.11.13+
checking for wasm32-unknown-wasi-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
configure: WARNING: using cross tools not prefixed with host triplet
checking pkg-config is at least version 0.9.0... yes
checking for --enable-universalsdk... no
checking for --with-universal-archs... no
checking MACHDEP... "wasi"
checking for wasm32-unknown-wasi-gcc... ccache /home/emma/wasi-sdk-25.0-x86_64-linux/bin/clang --sysroot=/home/emma/wasi-sdk-25.0-x86_64-linux/share/wasi-sysroot
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether ccache /home/emma/wasi-sdk-25.0-x86_64-linux/bin/clang --sysroot=/home/emma/wasi-sdk-25.0-x86_64-linux/share/wasi-sysroot accepts -g... yes
checking for ccache /home/emma/wasi-sdk-25.0-x86_64-linux/bin/clang --sysroot=/home/emma/wasi-sdk-25.0-x86_64-linux/share/wasi-sysroot option to accept ISO C89... none needed
checking how to run the C preprocessor... ccache /home/emma/wasi-sdk-25.0-x86_64-linux/bin/clang-cpp --sysroot=/home/emma/wasi-sdk-25.0-x86_64-linux/share/wasi-sysroot
checking for grep that handles long lines and -e... /usr/bin/grep
checking for a sed that does not truncate output... /usr/bin/sed
checking for egrep... /usr/bin/grep -E
checking for CC compiler name... clang
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for --with-cxx-main=<compiler>... no
checking for the platform triplet based on compiler characteristics... wasm32-wasi
checking for multiarch... 
checking for PEP 11 support tier... wasm32-unknown-wasi/clang has tier 3 (partially supported)
checking for -Wl,--no-as-needed... no
checking for the Android API level... not Android
checking for --with-emscripten-target... 
checking for --enable-wasm-dynamic-linking... missing
checking for --enable-wasm-pthreads... missing
checking for --with-suffix... .wasm
checking for case-insensitive build directory... no
checking LIBRARY... libpython$(VERSION)$(ABIFLAGS).a
checking LINKCC... $(PURIFY) $(MAINCC)
checking EXPORTSYMS... 
checking for GNU ld... yes
checking for --enable-shared... no
checking for --with-static-libpython... yes
checking for --enable-profiling... no
checking LDLIBRARY... checking HOSTRUNNER... wasmtime run --wasm max-wasm-stack=8388608 --wasi preview2 --env PYTHONPATH=/$(shell realpath --relative-to $(abs_srcdir) $(abs_builddir))/$(shell cat pybuilddir.txt):/Lib --dir $(srcdir)::/
libpython$(VERSION)$(ABIFLAGS).a
checking for wasm32-unknown-wasi-ar... /home/emma/wasi-sdk-25.0-x86_64-linux/bin/llvm-ar
checking for wasm32-unknown-wasi-readelf... llvm-readelf-20
checking for a BSD-compatible install... /usr/bin/install -c
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for --with-pydebug... no
checking for --with-trace-refs... no
checking for --enable-pystats... no
checking for --with-assertions... no
checking for --enable-optimizations... no
checking PROFILE_TASK... -m test --pgo --timeout=$(TESTTIMEOUT)
checking for --with-lto... no
checking for wasm32-unknown-wasi-llvm-profdata... no
checking for llvm-profdata... /usr/bin/llvm-profdata
checking if ccache /home/emma/wasi-sdk-25.0-x86_64-linux/bin/clang --sysroot=/home/emma/wasi-sdk-25.0-x86_64-linux/share/wasi-sysroot supports -Og optimization level... yes
checking if we can add -Wextra... yes
checking whether ccache /home/emma/wasi-sdk-25.0-x86_64-linux/bin/clang --sysroot=/home/emma/wasi-sdk-25.0-x86_64-linux/share/wasi-sysroot -fno-strict-aliasing accepts and needs -fno-strict-aliasing... no
checking if we can disable ccache /home/emma/wasi-sdk-25.0-x86_64-linux/bin/clang --sysroot=/home/emma/wasi-sdk-25.0-x86_64-linux/share/wasi-sysroot unused-parameter warning... yes
checking if we can disable ccache /home/emma/wasi-sdk-25.0-x86_64-linux/bin/clang --sysroot=/home/emma/wasi-sdk-25.0-x86_64-linux/share/wasi-sysroot int-conversion warning... yes
checking if we can disable ccache /home/emma/wasi-sdk-25.0-x86_64-linux/bin/clang --sysroot=/home/emma/wasi-sdk-25.0-x86_64-linux/share/wasi-sysroot missing-field-initializers warning... yes
checking if we can enable ccache /home/emma/wasi-sdk-25.0-x86_64-linux/bin/clang --sysroot=/home/emma/wasi-sdk-25.0-x86_64-linux/share/wasi-sysroot sign-compare warning... yes
checking if we can enable ccache /home/emma/wasi-sdk-25.0-x86_64-linux/bin/clang --sysroot=/home/emma/wasi-sdk-25.0-x86_64-linux/share/wasi-sysroot unreachable-code warning... yes
checking if we can enable ccache /home/emma/wasi-sdk-25.0-x86_64-linux/bin/clang --sysroot=/home/emma/wasi-sdk-25.0-x86_64-linux/share/wasi-sysroot strict-prototypes warning... no
checking if we can make implicit function declaration an error in ccache /home/emma/wasi-sdk-25.0-x86_64-linux/bin/clang --sysroot=/home/emma/wasi-sdk-25.0-x86_64-linux/share/wasi-sysroot -Werror=implicit-function-declaration... yes
checking if we can use visibility in ccache /home/emma/wasi-sdk-25.0-x86_64-linux/bin/clang --sysroot=/home/emma/wasi-sdk-25.0-x86_64-linux/share/wasi-sysroot -fvisibility=hidden... yes
checking whether pthreads are available without options... no
checking whether ccache /home/emma/wasi-sdk-25.0-x86_64-linux/bin/clang --sysroot=/home/emma/wasi-sdk-25.0-x86_64-linux/share/wasi-sysroot accepts -Kpthread... no
checking whether ccache /home/emma/wasi-sdk-25.0-x86_64-linux/bin/clang --sysroot=/home/emma/wasi-sdk-25.0-x86_64-linux/share/wasi-sysroot accepts -Kthread... no
checking whether ccache /home/emma/wasi-sdk-25.0-x86_64-linux/bin/clang --sysroot=/home/emma/wasi-sdk-25.0-x86_64-linux/share/wasi-sysroot accepts -pthread... no
checking whether ccache /home/emma/wasi-sdk-25.0-x86_64-linux/bin/clang++ --sysroot=/home/emma/wasi-sdk-25.0-x86_64-linux/share/wasi-sysroot also accepts flags for thread support... no
checking alloca.h usability... yes
checking alloca.h presence... yes
checking for alloca.h... yes
checking asm/types.h usability... no
checking asm/types.h presence... no
checking for asm/types.h... no
checking bluetooth.h usability... no
checking bluetooth.h presence... no
checking for bluetooth.h... no
checking conio.h usability... no
checking conio.h presence... no
checking for conio.h... no
checking crypt.h usability... yes
checking crypt.h presence... yes
checking for crypt.h... yes
checking direct.h usability... no
checking direct.h presence... no
checking for direct.h... no
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking endian.h usability... yes
checking endian.h presence... yes
checking for endian.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking grp.h usability... no
checking grp.h presence... no
checking for grp.h... no
checking ieeefp.h usability... no
checking ieeefp.h presence... no
checking for ieeefp.h... no
checking io.h usability... no
checking io.h presence... no
checking for io.h... no
checking langinfo.h usability... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
checking libintl.h usability... no
checking libintl.h presence... no
checking for libintl.h... no
checking libutil.h usability... no
checking libutil.h presence... no
checking for libutil.h... no
checking linux/auxvec.h usability... no
checking linux/auxvec.h presence... no
checking for linux/auxvec.h... no
checking sys/auxv.h usability... no
checking sys/auxv.h presence... no
checking for sys/auxv.h... no
checking linux/limits.h usability... no
checking linux/limits.h presence... no
checking for linux/limits.h... no
checking linux/memfd.h usability... no
checking linux/memfd.h presence... no
checking for linux/memfd.h... no
checking linux/random.h usability... no
checking linux/random.h presence... no
checking for linux/random.h... no
checking linux/soundcard.h usability... no
checking linux/soundcard.h presence... no
checking for linux/soundcard.h... no
checking linux/tipc.h usability... no
checking linux/tipc.h presence... no
checking for linux/tipc.h... no
checking linux/wait.h usability... no
checking linux/wait.h presence... no
checking for linux/wait.h... no
checking netdb.h usability... no
checking netdb.h presence... no
checking for netdb.h... no
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking for netpacket/packet.h... (cached) no
checking poll.h usability... yes
checking poll.h presence... yes
checking for poll.h... yes
checking process.h usability... no
checking process.h presence... no
checking for process.h... no
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking pty.h usability... no
checking pty.h presence... no
checking for pty.h... no
checking sched.h usability... yes
checking sched.h presence... yes
checking for sched.h... yes
checking setjmp.h usability... no
checking setjmp.h presence... no
checking for setjmp.h... no
checking shadow.h usability... no
checking shadow.h presence... no
checking for shadow.h... no
checking signal.h usability... yes
checking signal.h presence... yes
checking for signal.h... yes
checking spawn.h usability... no
checking spawn.h presence... no
checking for spawn.h... no
checking stropts.h usability... yes
checking stropts.h presence... yes
checking for stropts.h... yes
checking sys/audioio.h usability... no
checking sys/audioio.h presence... no
checking for sys/audioio.h... no
checking sys/bsdtty.h usability... no
checking sys/bsdtty.h presence... no
checking for sys/bsdtty.h... no
checking sys/devpoll.h usability... no
checking sys/devpoll.h presence... no
checking for sys/devpoll.h... no
checking sys/endian.h usability... no
checking sys/endian.h presence... no
checking for sys/endian.h... no
checking sys/epoll.h usability... no
checking sys/epoll.h presence... no
checking for sys/epoll.h... no
checking sys/event.h usability... no
checking sys/event.h presence... no
checking for sys/event.h... no
checking sys/eventfd.h usability... yes
checking sys/eventfd.h presence... yes
checking for sys/eventfd.h... yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/kern_control.h usability... no
checking sys/kern_control.h presence... no
checking for sys/kern_control.h... no
checking sys/loadavg.h usability... no
checking sys/loadavg.h presence... no
checking for sys/loadavg.h... no
checking sys/lock.h usability... no
checking sys/lock.h presence... no
checking for sys/lock.h... no
checking sys/memfd.h usability... no
checking sys/memfd.h presence... no
checking for sys/memfd.h... no
checking sys/mkdev.h usability... no
checking sys/mkdev.h presence... no
checking for sys/mkdev.h... no
checking sys/mman.h usability... no
checking sys/mman.h presence... no
checking for sys/mman.h... no
checking sys/modem.h usability... no
checking sys/modem.h presence... no
checking for sys/modem.h... no
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/poll.h usability... yes
checking sys/poll.h presence... yes
checking for sys/poll.h... yes
checking sys/random.h usability... yes
checking sys/random.h presence... yes
checking for sys/random.h... yes
checking for sys/resource.h... (cached) no
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/sendfile.h usability... no
checking sys/sendfile.h presence... no
checking for sys/sendfile.h... no
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/soundcard.h usability... no
checking sys/soundcard.h presence... no
checking for sys/soundcard.h... no
checking for sys/stat.h... (cached) yes
checking sys/statvfs.h usability... yes
checking sys/statvfs.h presence... yes
checking for sys/statvfs.h... yes
checking sys/sys_domain.h usability... no
checking sys/sys_domain.h presence... no
checking for sys/sys_domain.h... no
checking sys/syscall.h usability... yes
checking sys/syscall.h presence... yes
checking for sys/syscall.h... yes
checking sys/sysmacros.h usability... no
checking sys/sysmacros.h presence... no
checking for sys/sysmacros.h... no
checking sys/termio.h usability... no
checking sys/termio.h presence... no
checking for sys/termio.h... no
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/times.h usability... yes
checking sys/times.h presence... yes
checking for sys/times.h... yes
checking for sys/types.h... (cached) yes
checking sys/uio.h usability... yes
checking sys/uio.h presence... yes
checking for sys/uio.h... yes
checking for sys/un.h... (cached) no
checking sys/utsname.h usability... yes
checking sys/utsname.h presence... yes
checking for sys/utsname.h... yes
checking sys/wait.h usability... no
checking sys/wait.h presence... no
checking for sys/wait.h... no
checking sys/xattr.h usability... no
checking sys/xattr.h presence... no
checking for sys/xattr.h... no
checking sysexits.h usability... yes
checking sysexits.h presence... yes
checking for sysexits.h... yes
checking syslog.h usability... no
checking syslog.h presence... no
checking for syslog.h... no
checking termios.h usability... no
checking termios.h presence... no
checking for termios.h... no
checking util.h usability... no
checking util.h presence... no
checking for util.h... no
checking utime.h usability... yes
checking utime.h presence... yes
checking for utime.h... yes
checking utmp.h usability... no
checking utmp.h presence... no
checking for utmp.h... no
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking whether sys/types.h defines makedev... no
checking for sys/mkdev.h... (cached) no
checking for sys/sysmacros.h... (cached) no
checking bluetooth/bluetooth.h usability... no
checking bluetooth/bluetooth.h presence... no
checking for bluetooth/bluetooth.h... no
checking for net/if.h... no
checking for linux/netlink.h... no
checking for linux/qrtr.h... no
checking for linux/vm_sockets.h... no
checking for linux/can.h... no
checking for linux/can/bcm.h... no
checking for linux/can/j1939.h... no
checking for linux/can/raw.h... no
checking for netcan/can.h... no
checking for clock_t in time.h... yes
checking for makedev... (cached) no
checking for le64toh... yes
checking for mode_t... yes
checking for off_t... yes
checking for pid_t... yes
checking for size_t... yes
checking for uid_t in sys/types.h... yes
checking for ssize_t... yes
checking for __uint128_t... yes
checking size of int... 4
checking size of long... 4
checking alignment of long... 4
checking size of long long... 8
checking size of void *... 4
checking size of short... 2
checking size of float... 4
checking size of double... 8
checking size of fpos_t... 16
checking size of size_t... 4
checking alignment of size_t... 4
checking size of pid_t... 4
checking size of uintptr_t... 4
checking for long double... yes
checking size of long double... 16
checking size of _Bool... 1
checking size of off_t... 8
checking whether to enable large file support... yes
checking size of time_t... 8
checking for pthread_t... yes
checking size of pthread_t... 4
checking size of pthread_key_t... 4
checking whether pthread_key_t is compatible with int... yes
checking for --enable-framework... no
checking for dyld... no
checking for --with-address-sanitizer... no
checking for --with-memory-sanitizer... no
checking for --with-undefined-behavior-sanitizer... no
checking the extension of shared libraries... .so
checking LDSHARED... 
checking BLDSHARED flags... 
checking CCSHARED... 
checking LINKFORSHARED... 
checking CFLAGSFORSHARED... 
checking SHLIBS... $(LIBS)
checking for sendfile in -lsendfile... no
checking for dlopen in -ldl... yes
checking for shl_load in -ldld... no
checking uuid.h usability... no
checking uuid.h presence... no
checking for uuid.h... no
checking for LIBUUID... no
checking uuid/uuid.h usability... no
checking uuid/uuid.h presence... no
checking for uuid/uuid.h... no
checking for uuid/uuid.h... (cached) no
checking for library containing sem_init... no
checking for textdomain in -lintl... no
checking aligned memory access is required... yes
checking for --with-hash-algorithm... default
checking for --with-tzpath... "/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/zoneinfo"
checking for t_open in -lnsl... no
checking for socket in -lsocket... no
checking for --with-libs... no
checking for --with-system-expat... no
checking for --with-system-ffi... yes
checking for --with-system-libmpdec... no
checking for --with-decimal-contextvar... yes
checking for decimal libmpdec machine... ansi32
checking for LIBNSL... no
checking for library containing yp_match... no
checking for LIBSQLITE3... no
checking sqlite3.h usability... no
checking sqlite3.h presence... no
checking for sqlite3.h... no
checking for --enable-loadable-sqlite-extensions... no
checking gdbm.h usability... no
checking gdbm.h presence... no
checking for gdbm.h... no
checking ndbm.h usability... no
checking ndbm.h presence... no
checking for ndbm.h... no
checking gdbm/ndbm.h usability... no
checking gdbm/ndbm.h presence... no
checking for gdbm/ndbm.h... no
checking gdbm-ndbm.h usability... no
checking gdbm-ndbm.h presence... no
checking for gdbm-ndbm.h... no
checking db.h usability... no
checking db.h presence... no
checking for db.h... no
checking for --with-dbmliborder... gdbm:ndbm:bdb
checking for _POSIX_THREADS in unistd.h... no
checking for pthread_create in -lpthread... checking for pthread_detach... no
checking for pthread_create in -lpthreads... no
checking for pthread_create in -lc_r... no
checking for __pthread_create_system in -lpthread... no
checking for pthread_create in -lcma... no
checking for usconfig in -lmpc... no
checking if --enable-ipv6 is specified... no
checking CAN_RAW_FD_FRAMES... no
checking for CAN_RAW_JOIN_FILTERS... no
checking for --with-doc-strings... yes
checking for --with-pymalloc... no
checking for --with-freelists... yes
checking for --with-c-locale-coercion... yes
checking for --with-valgrind... no
checking for --with-dtrace... no
checking for dlopen... yes
checking DYNLOADFILE... dynload_shlib.o
checking MACHDEP_OBJS... none
checking for accept4... yes
checking for alarm... no
checking for bind_textdomain_codeset... no
checking for chmod... yes
checking for chown... no
checking for clock... yes
checking for close_range... no
checking for confstr... yes
checking for copy_file_range... no
checking for ctermid... no
checking for dup... no
checking for dup3... no
checking for execv... no
checking for explicit_bzero... yes
checking for explicit_memset... no
checking for faccessat... yes
checking for fchmod... yes
checking for fchmodat... yes
checking for fchown... no
checking for fchownat... no
checking for fdopendir... (cached) no
checking for fdwalk... no
checking for fexecve... no
checking for fork... no
checking for fork1... no
checking for fpathconf... yes
checking for fstatat... yes
checking for ftime... yes
checking for ftruncate... yes
checking for futimens... yes
checking for futimes... no
checking for futimesat... yes
checking for gai_strerror... no
checking for getegid... no
checking for getentropy... yes
checking for geteuid... no
checking for getgid... no
checking for getgrgid... no
checking for getgrgid_r... no
checking for getgrnam_r... no
checking for getgrouplist... no
checking for getgroups... no
checking for gethostname... no
checking for getitimer... no
checking for getloadavg... no
checking for getlogin... no
checking for getpeername... no
checking for getpgid... no
checking for getpid... yes
checking for getppid... no
checking for getpriority... no
checking for _getpty... no
checking for getpwent... no
checking for getpwnam_r... no
checking for getpwuid... no
checking for getpwuid_r... no
checking for getresgid... no
checking for getresuid... no
checking for getrusage... yes
checking for getsid... no
checking for getspent... no
checking for getspnam... no
checking for getuid... no
checking for getwd... no
checking for if_nameindex... no
checking for initgroups... no
checking for kill... no
checking for killpg... no
checking for lchown... no
checking for linkat... yes
checking for lockf... no
checking for lstat... yes
checking for lutimes... no
checking for madvise... no
checking for mbrtowc... yes
checking for memrchr... yes
checking for mkdirat... yes
checking for mkfifo... (cached) no
checking for mkfifoat... (cached) no
checking for mknod... (cached) no
checking for mknodat... (cached) no
checking for mktime... yes
checking for mmap... no
checking for mremap... no
checking for nice... no
checking for openat... yes
checking for opendir... yes
checking for pathconf... yes
checking for pause... no
checking for pipe... (cached) no
checking for pipe2... no
checking for plock... no
checking for poll... yes
checking for posix_fadvise... yes
checking for posix_fallocate... yes
checking for posix_spawn... no
checking for posix_spawnp... no
checking for pread... yes
checking for preadv... (cached) no
checking for preadv2... no
checking for pthread_condattr_setclock... yes
checking for pthread_init... no
checking for pthread_kill... no
checking for pwrite... yes
checking for pwritev... (cached) no
checking for pwritev2... no
checking for readlink... yes
checking for readlinkat... yes
checking for readv... (cached) no
checking for realpath... yes
checking for renameat... yes
checking for rtpSpawn... no
checking for sched_get_priority_max... no
checking for sched_rr_get_interval... no
checking for sched_setaffinity... no
checking for sched_setparam... no
checking for sched_setscheduler... no
checking for sem_clockwait... no
checking for sem_getvalue... no
checking for sem_open... no
checking for sem_timedwait... no
checking for sem_unlink... no
checking for sendfile... no
checking for setegid... no
checking for seteuid... no
checking for setgid... no
checking for sethostname... no
checking for setitimer... no
checking for setlocale... yes
checking for setpgid... no
checking for setpgrp... no
checking for setpriority... no
checking for setregid... no
checking for setresgid... no
checking for setresuid... no
checking for setreuid... no
checking for setsid... no
checking for setuid... no
checking for setvbuf... yes
checking for shutdown... yes
checking for sigaction... no
checking for sigaltstack... no
checking for sigfillset... no
checking for siginterrupt... no
checking for sigpending... no
checking for sigrelse... no
checking for sigtimedwait... no
checking for sigwait... no
checking for sigwaitinfo... no
checking for snprintf... yes
checking for splice... no
checking for strftime... yes
checking for strlcpy... yes
checking for strsignal... yes
checking for symlinkat... yes
checking for sync... no
checking for sysconf... yes
checking for system... no
checking for tcgetpgrp... no
checking for tcsetpgrp... no
checking for tempnam... no
checking for timegm... yes
checking for times... yes
checking for tmpfile... no
checking for tmpnam... no
checking for tmpnam_r... no
checking for truncate... yes
checking for ttyname... no
checking for umask... no
checking for uname... yes
checking for unlinkat... yes
checking for utimensat... yes
checking for utimes... yes
checking for vfork... no
checking for wait... no
checking for wait3... no
checking for wait4... no
checking for waitid... no
checking for waitpid... no
checking for wcscoll... yes
checking for wcsftime... yes
checking for wcsxfrm... yes
checking for wmemcmp... yes
checking for writev... (cached) no
checking for lchmod... no
checking whether dirfd is declared... yes
checking for chroot... no
checking for link... yes
checking for symlink... yes
checking for fchdir... no
checking for fsync... yes
checking for fdatasync... yes
checking for epoll_create... no
checking for epoll_create1... no
checking for kqueue... no
checking for prlimit... no
checking for _dyld_shared_cache_contains_path... no
checking for memfd_create... no
checking for eventfd... (cached) no
checking for ctermid_r... no
checking for flock declaration... yes
checking for flock... no
checking for flock in -lbsd... no
checking for getpagesize... yes
checking for broken unsetenv... no
checking for true... true
checking for inet_aton in -lc... yes
checking for chflags... cross
checking for chflags... no
checking for lchflags... cross
checking for lchflags... no
checking for ZLIB... no
checking zlib.h usability... no
checking zlib.h presence... no
checking for zlib.h... no
checking for BZIP2... no
checking bzlib.h usability... no
checking bzlib.h presence... no
checking for bzlib.h... no
checking for LIBLZMA... no
checking lzma.h usability... no
checking lzma.h presence... no
checking for lzma.h... no
checking for hstrerror... no
checking for getservbyname... no
checking for getservbyport... no
checking for gethostbyname... no
checking for gethostbyaddr... no
checking for getprotobyname... no
checking for inet_aton... yes
checking for inet_ntoa... no
checking for inet_pton... yes
checking for getpeername... (cached) no
checking for getsockname... no
checking for accept... yes
checking for bind... no
checking for connect... no
checking for listen... no
checking for recvfrom... no
checking for sendto... no
checking for setsockopt... no
checking for socket... no
checking for setgroups... no
checking for openpty... no
checking for openpty in -lutil... no
checking for openpty in -lbsd... no
checking for library containing login_tty... no
checking for forkpty... no
checking for forkpty in -lutil... no
checking for forkpty in -lbsd... no
checking for fseek64... no
checking for fseeko... yes
checking for fstatvfs... yes
checking for ftell64... no
checking for ftello... yes
checking for statvfs... yes
checking for dup2... no
checking for getpgrp... no
checking for setpgrp... (cached) no
checking for LIBCRYPT... no
checking for library containing crypt_r... none required
checking for crypt or crypt_r... yes
checking for clock_gettime... yes
checking for clock_getres... yes
checking for clock_settime... no
checking for clock_settime in -lrt... no
checking for clock_nanosleep... yes
checking for nanosleep... yes
checking for major, minor, and makedev... no
checking for getaddrinfo... no
checking for getnameinfo... no
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... yes
checking for struct stat.st_rdev... yes
checking for struct stat.st_blksize... yes
checking for struct stat.st_flags... no
checking for struct stat.st_gen... no
checking for struct stat.st_birthtime... no
checking for struct stat.st_blocks... yes
checking for struct passwd.pw_gecos... no
checking for struct passwd.pw_passwd... no
checking for siginfo_t.si_band... no
checking for time.h that defines altzone... no
checking for addrinfo... no
checking for sockaddr_storage... yes
checking for sockaddr_alg... no
checking for an ANSI C-conforming const... yes
checking for working signed char... yes
checking for prototypes... yes
checking for variable length prototypes and stdarg.h... yes
checking for socketpair... no
checking if sockaddr has sa_len member... no
checking for gethostbyname_r... no
checking for gethostbyname... (cached) no
checking for __fpu_control... no
checking for __fpu_control in -lieee... no
checking for --with-libm=STRING... default LIBM="-lm"
checking for --with-libc=STRING... default LIBC=""
checking for x64 gcc inline assembler... no
checking whether float word ordering is bigendian... no
checking whether we can use gcc inline assembler to get and set x87 control word... no
checking whether we can use gcc inline assembler to get and set mc68881 fpcr... no
checking for x87-style double rounding... no
checking for acosh... yes
checking for asinh... yes
checking for atanh... yes
checking for erf... yes
checking for erfc... yes
checking for expm1... yes
checking for log1p... yes
checking for log2... yes
checking whether POSIX semaphores are enabled... yes
checking for broken sem_getvalue... yes
checking whether RTLD_LAZY is declared... yes
checking whether RTLD_NOW is declared... yes
checking whether RTLD_GLOBAL is declared... yes
checking whether RTLD_LOCAL is declared... yes
checking whether RTLD_NODELETE is declared... yes
checking whether RTLD_NOLOAD is declared... yes
checking whether RTLD_DEEPBIND is declared... no
checking whether RTLD_MEMBER is declared... no
checking digit size for Python's longs... no value specified
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking size of wchar_t... 4
checking whether wchar_t is signed... yes
checking whether wchar_t is usable... no
checking whether byte ordering is bigendian... no
checking ABIFLAGS... 
checking SOABI... cpython-311-wasm32-wasi
checking LDVERSION... $(VERSION)$(ABIFLAGS)
checking for --with-platlibdir... no
checking for --with-wheel-pkg-dir... no
checking whether right shift extends the sign bit... yes
checking for getc_unlocked() and friends... no
checking how to link readline libs... none
checking for broken nice()... no
checking for broken poll()... no
checking for working tzset()... no
checking for tv_nsec in struct stat... yes
checking for tv_nsec2 in struct stat... no
checking curses.h usability... no
checking curses.h presence... no
checking for curses.h... no
checking ncurses.h usability... no
checking ncurses.h presence... no
checking for ncurses.h... no
checking for term.h... no
checking whether mvwdelch is an expression... no
checking whether WINDOW has _flags... no
checking for curses function is_pad... no
checking for curses function is_term_resized... no
checking for curses function resize_term... no
checking for curses function resizeterm... no
checking for curses function immedok... no
checking for curses function syncok... no
checking for curses function wchgat... no
checking for curses function filter... no
checking for curses function has_key... no
checking for curses function typeahead... no
checking for curses function use_env... no
configure: checking for device files
checking for /dev/ptmx... (cached) no
checking for /dev/ptc... (cached) no
checking for %zd printf() format support... cross -- assuming yes
checking for socklen_t... yes
checking for broken mbstowcs... no
checking for --with-computed-gotos... no value specified
checking whether ccache /home/emma/wasi-sdk-25.0-x86_64-linux/bin/clang --sysroot=/home/emma/wasi-sdk-25.0-x86_64-linux/share/wasi-sysroot supports computed gotos... no
checking for build directories... done
checking for -O2... yes
checking for glibc _FORTIFY_SOURCE/memmove bug... undefined
checking for stdatomic.h... yes
checking for builtin __atomic_load_n and __atomic_store_n functions... yes
checking for ensurepip... no
checking if the dirent structure of a d_type field... yes
checking for the Linux getrandom() syscall... no
checking for the getrandom() function... no
checking for library containing shm_open... no
checking for shm_open... no
checking for shm_unlink... no
checking for wasm32-unknown-wasi-pkg-config... /usr/bin/pkg-config
checking for openssl/ssl.h in /usr/local/ssl... no
checking for openssl/ssl.h in /usr/lib/ssl... no
checking for openssl/ssl.h in /usr/ssl... no
checking for openssl/ssl.h in /usr/pkg... no
checking for openssl/ssl.h in /usr/local... no
checking for openssl/ssl.h in /usr... yes
checking whether compiling and linking against OpenSSL works... no
checking for --with-openssl-rpath... 
checking whether OpenSSL provides required ssl module APIs... no
checking whether OpenSSL provides required hashlib module APIs... no
checking for --with-ssl-default-suites... python
checking for --with-builtin-hashlib-hashes... md5,sha1,sha256,sha512,sha3,blake2
checking for LIBB2... no
checking for --disable-test-modules... yes
checking for additional Modules/Setup files... Modules/Setup.stdlib
checking for stdlib extension module _multiprocessing... n/a
checking for stdlib extension module _posixshmem... n/a
checking for stdlib extension module fcntl... n/a
checking for stdlib extension module mmap... n/a
checking for stdlib extension module _socket... yes
checking for stdlib extension module grp... n/a
checking for stdlib extension module ossaudiodev... n/a
checking for stdlib extension module pwd... n/a
checking for stdlib extension module resource... n/a
checking for stdlib extension module _scproxy... n/a
checking for stdlib extension module spwd... n/a
checking for stdlib extension module syslog... n/a
checking for stdlib extension module termios... n/a
checking for stdlib extension module pyexpat... yes
checking for stdlib extension module _elementtree... yes
checking for stdlib extension module _md5... yes
checking for stdlib extension module _sha1... yes
checking for stdlib extension module _sha256... yes
checking for stdlib extension module _sha512... yes
checking for stdlib extension module _sha3... yes
checking for stdlib extension module _blake2... yes
checking for stdlib extension module _crypt... yes
checking for stdlib extension module _decimal... yes
checking for stdlib extension module _gdbm... n/a
checking for stdlib extension module nis... n/a
checking for stdlib extension module _sqlite3... disabled
checking for stdlib extension module _tkinter... n/a
checking for stdlib extension module _uuid... missing
checking for stdlib extension module zlib... missing
checking for stdlib extension module _bz2... missing
checking for stdlib extension module _lzma... missing
checking for stdlib extension module _ssl... missing
checking for stdlib extension module _hashlib... missing
checking for stdlib extension module _testcapi... yes
checking for stdlib extension module _testclinic... yes
checking for stdlib extension module _testinternalcapi... yes
checking for stdlib extension module _testbuffer... yes
checking for stdlib extension module _testimportmultiple... yes
checking for stdlib extension module _testmultiphase... yes
checking for stdlib extension module _xxtestfuzz... yes
checking for stdlib extension module _ctypes_test... n/a
checking for stdlib extension module xxlimited... yes
checking for stdlib extension module xxlimited_35... yes
configure: creating ./config.status
config.status: creating Makefile.pre
config.status: creating Misc/python.pc
config.status: creating Misc/python-embed.pc
config.status: creating Misc/python-config.sh
config.status: creating Modules/Setup.bootstrap
config.status: creating Modules/Setup.stdlib
config.status: creating Modules/ld_so_aix
config.status: creating pyconfig.h
configure: creating Modules/Setup.local
configure: creating Makefile
configure:

If you want a release build with all stable optimizations active (PGO, etc),
please run ./configure --enable-optimizations

program finished with exit code 0
elapsedTime=43.189990

Copy link
Member

@zware zware left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's try it :)

@zware zware merged commit 7f1e4c5 into python:main Jun 4, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants