You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When building pkgsStatic.python3Packages.pyinstaller, wheel (I believe) fails to determine the size of a pointer during installation, log output below. I would try the suggested fix of passing --target-arch to the build but I'm unsure how to do that with the pyinstaller derivation.
I haven't found a fix yet but the fact that the makeWrapperArgs attr explicitly includes glibc instead of the appropriate libc for the build seems suspicious. I've tried hacking around with things to see if I can get something to work - with a flake with nixos-unstable as an input:
the versions with -2 fail with trying to build glibc. The latter two fail with
> No precompiled bootloader found or compile forced. Trying to compile the bootloader for you ...
> Setting top to : /build/pyinstaller-6.12.0/bootloader
> Setting out to : /build/pyinstaller-6.12.0/bootloader/build
> Python Version : 3.12.8 (main, Dec 3 2024, 18:42:41) [GCC 14.2.1 20241116]
> MSVC target(s) : not found
> Checking for 'gcc' (C compiler) : x86_64-unknown-linux-musl-gcc
> Checking size of pointer : not found
> Could not determine pointer size. Use `--target-arch' to manually set the pointer size (32bit or 64bit).
> (complete log in /build/pyinstaller-6.12.0/bootloader/build/config.log)
> ERROR: Failed compiling the bootloader. Please compile manually and rerun
(I'm not suggesting this is likely to be the fix, but not having the package depend on glibc would make it more portable).
Looking in the build directory from --keep-failed, these are the references I found to --target-arch but I'm not sure how to integrate that with the derivation:
/tmp/nix-build-python3.12-pyinstaller-6.12.0-x86_64-unknown-linux-musl.drv-8/pyinstaller-6.12.0 $ rg -e '--target-arch'.
./bootloader/build/config.log
474:from /build/pyinstaller-6.12.0/bootloader: Could not determine pointer size. Use `--target-arch' to manually set the pointer size (32bit or 64bit)../bootloader/Vagrantfile265: py -3 ./waf all --target-arch=64bit266: py -3 ./waf all --target-arch=32bit./bootloader/wscript145: '--target-arch',215: "Could not determine pointer size. Use `--target-arch' to manually set the pointer size (32bit or 64bit)."224: Handle --target-arch options, or use the same architecture as the compiler.354: # chosen --target-arch. Option -m32/-m64 has to be passed to cflags and linkflages../doc/bootloader-building.rst35:using the :option:`--target-arch` option – given the appropriate compiler and39: python ./waf all --target-arch=32bit289: selected by using the ``--target-arch=`` option../doc/feature-notes.rst291:via the :option:`--target-arch` switch. Valid values are ``x86_64``, ``arm64``,./doc/CHANGES.rst2057: ``python waf --target-arch=64bit-arm all``. If built on an ARM machine,2058: ``--target-arch=64bit-arm`` is the default. (:issue:`7257`)2060: ``python waf --target-arch=64bit-arm --clang all``. (:issue:`7257`)3154:* Add ``--target-arch`` command-line switch to select target architecture./doc/usage.rst716: ``--target-arch=32bit`` to the ``waf`` command../PyInstaller/building/makespec.py616: '--target-architecture',617: '--target-arch',
pyinstaller/pyinstaller#6006 looks like the most relevant issue I could find but not particularly relevant (mostly issues related to linking to OpenWRT's zlib).
# from nix log /nix/store/ysq2z3lqh5gwb7c7zx9zw7x4klza2cwc-python3.12-pyinstaller-5.13.2-x86_64-unknown-linux-musl.drvProcessing /build/pyinstaller-5.13.2 Running command Preparing metadata (pyproject.toml) running dist_info creating /build/pip-modern-metadata-9b0no5pw/pyinstaller.egg-info writing /build/pip-modern-metadata-9b0no5pw/pyinstaller.egg-info/PKG-INFO writing dependency_links to /build/pip-modern-metadata-9b0no5pw/pyinstaller.egg-info/dependency_links.txt writing entry points to /build/pip-modern-metadata-9b0no5pw/pyinstaller.egg-info/entry_points.txt writing requirements to /build/pip-modern-metadata-9b0no5pw/pyinstaller.egg-info/requires.txt writing top-level names to /build/pip-modern-metadata-9b0no5pw/pyinstaller.egg-info/top_level.txt writing manifest file '/build/pip-modern-metadata-9b0no5pw/pyinstaller.egg-info/SOURCES.txt' reading manifest file '/build/pip-modern-metadata-9b0no5pw/pyinstaller.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'COPYING.txt' writing manifest file '/build/pip-modern-metadata-9b0no5pw/pyinstaller.egg-info/SOURCES.txt' creating '/build/pip-modern-metadata-9b0no5pw/pyinstaller-5.13.2.dist-info' Preparing metadata (pyproject.toml) ... doneBuilding wheels for collected packages: pyinstaller Running command Building wheel for pyinstaller (pyproject.toml) running bdist_wheel running build running build_bootloader No precompiled bootloader found or compile forced. Trying to compile the bootloader for you ... Setting top to : /build/pyinstaller-5.13.2/bootloader Setting out to : /build/pyinstaller-5.13.2/bootloader/build Python Version : 3.12.6 (main, Sep 6 2024, 19:03:47) [GCC 13.3.0] Checking for 'gcc' (C compiler) : x86_64-unknown-linux-musl-gcc Checking size of pointer : not found Could not determine pointer size. Use `--target-arch' to manually set the pointer size (32bit or 64bit). (complete log in /build/pyinstaller-5.13.2/bootloader/build/config.log) ERROR: Failed compiling the bootloader. Please compile manually and rerun setup.py error: subprocess-exited-with-error × Building wheel for pyinstaller (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> See above for output. note: This error originates from a subprocess, and is likely not a problem with pip. full command: /nix/store/wfbjq35kxs6x83c3ncpfxdyl5gbhdx4h-python3-3.12.6/bin/python3.12 /nix/store/xdgmgzz3ng0bl0x5r6vmx0arqnfwsfj1-python3.12-pip-24.0/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py build_wheel /build/tmp5qchkco_ cwd: /build/pyinstaller-5.13.2 Building wheel for pyinstaller (pyproject.toml) ... error ERROR: Failed building wheel for pyinstallerFailed to build pyinstallerERROR: Failed to build one or more wheels
Additional context
No response
System metadata
system: "x86_64-linux"
host os: Linux 6.8.0-49-generic, Ubuntu, 22.04.5 LTS (Jammy Jellyfish), nobuild
Nixpkgs version
Steps to reproduce
When building
pkgsStatic.python3Packages.pyinstaller
,wheel
(I believe) fails to determine the size of a pointer during installation, log output below. I would try the suggested fix of passing--target-arch
to the build but I'm unsure how to do that with the pyinstaller derivation.I haven't found a fix yet but the fact that the
makeWrapperArgs
attr explicitly includesglibc
instead of the appropriatelibc
for the build seems suspicious. I've tried hacking around with things to see if I can get something to work - with a flake withnixos-unstable
as an input:the versions with
-2
fail with trying to build glibc. The latter two fail with(I'm not suggesting this is likely to be the fix, but not having the package depend on glibc would make it more portable).
Looking in the build directory from
--keep-failed
, these are the references I found to--target-arch
but I'm not sure how to integrate that with the derivation:pyinstaller/pyinstaller#6006 looks like the most relevant issue I could find but not particularly relevant (mostly issues related to linking to OpenWRT's zlib).
Can Hydra reproduce this build failure?
No, Hydra cannot reproduce this build failure.
Link to Hydra build job
https://hydra.nixos.org/build/284942770
Relevant log output
Additional context
No response
System metadata
"x86_64-linux"
Linux 6.8.0-49-generic, Ubuntu, 22.04.5 LTS (Jammy Jellyfish), nobuild
yes
yes
nix-env (Nix) 2.20.3
/nix/store/0zchvfmj0wpf8nnqzgivq9b3yl8lyrm1-source
Notify maintainers
@h7x4
Note for maintainers: Please tag this issue in your pull request description. (i.e.
Resolves #ISSUE
.)I assert that this issue is relevant for Nixpkgs
Is this issue important to you?
Add a 👍 reaction to issues you find important.
The text was updated successfully, but these errors were encountered: