Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build failure: qt6 mingw (windows) hostPlatform #272538

Closed
seanybaggins opened this issue Dec 6, 2023 · 1 comment
Closed

Build failure: qt6 mingw (windows) hostPlatform #272538

seanybaggins opened this issue Dec 6, 2023 · 1 comment
Labels
0.kind: build failure A package fails to build

Comments

@seanybaggins
Copy link
Contributor

seanybaggins commented Dec 6, 2023

Steps To Reproduce

Steps to reproduce the behavior:

  1. build qt6 for mingw (windows) hostPlatform
nix-build -A 'pkgs.pkgsCross.mingw32.qt6.qtbase'

Build log

error:
       … in the condition of the assert statement

         at /home/sean/nixpkgs/lib/customisation.nix:228:17:

          227|     in commonAttrs // {
          228|       drvPath = assert condition; drv.drvPath;
             |                 ^
          229|       outPath = assert condition; drv.outPath;

       … while evaluating the attribute 'handled'

         at /home/sean/nixpkgs/pkgs/stdenv/generic/check-meta.nix:447:7:

          446|       # or, alternatively, just output a warning message.
          447|       handled =
             |       ^
          448|         {

       (stack trace truncated; use '--show-trace' to show the full trace)

       error: Package ‘qtbase-6.5.1’ in /home/sean/nixpkgs/pkgs/development/libraries/qt-6/modules/qtbase.nix:259 is not available on the requested hostPlatform:
         hostPlatform.config = "i686-w64-mingw32"
         package.meta.platforms = [
           "i686-cygwin"
           "x86_64-cygwin"
           "x86_64-darwin"
           "i686-darwin"
           "aarch64-darwin"
           "armv7a-darwin"
           "i686-freebsd13"
           "x86_64-freebsd13"
           "x86_64-solaris"
           "aarch64-linux"
           "armv5tel-linux"
           "armv6l-linux"
           "armv7a-linux"
           "armv7l-linux"
           "i686-linux"
           "loongarch64-linux"
           "m68k-linux"
           "microblaze-linux"
           "microblazeel-linux"
           "mipsel-linux"
           "mips64el-linux"
           "powerpc64-linux"
           "powerpc64le-linux"
           "riscv32-linux"
           "riscv64-linux"
           "s390-linux"
           "s390x-linux"
           "x86_64-linux"
           "aarch64-netbsd"
           "armv6l-netbsd"
           "armv7a-netbsd"
           "armv7l-netbsd"
           "i686-netbsd"
           "m68k-netbsd"
           "mipsel-netbsd"
           "powerpc-netbsd"
           "riscv32-netbsd"
           "riscv64-netbsd"
           "x86_64-netbsd"
           "i686-openbsd"
           "x86_64-openbsd"
           "x86_64-redox"
         ]
         package.meta.badPlatforms = [ ]
       , refusing to evaluate.

       a) To temporarily allow packages that are unsupported for this system, you can use an environment variable
          for a single invocation of the nix tools.

            $ export NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1

        Note: For `nix shell`, `nix build`, `nix develop` or any other Nix 2.4+
        (Flake) command, `--impure` must be passed in order to read this
        environment variable.

       b) For `nixos-rebuild` you can set
         { nixpkgs.config.allowUnsupportedSystem = true; }
       in configuration.nix to override this.

       c) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
         { allowUnsupportedSystem = true; }
       to ~/.config/nixpkgs/config.nix.


Additional context

I have this building on my local machine using overlays. Here is the dependency tree.
graph

My plan is to open PR's for each dependency until I can add mingw support for qt6. If you are a maintainer of a package that I am making a PR for, please keep in mind a may be blocked upstreaming mingw support for qt6 if PRs linger for a prolonged period of time.

Notify maintainers

@milahu @NickCao @LunNova

Metadata

Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
  • system: "x86_64-linux"
  • host os: Linux 6.1.52-valve2, NixOS, 23.11 (Tapir), 23.11.20231029.0cbe9f6
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 2.17.1
  • nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Add a 👍 reaction to issues you find important.

@seanybaggins
Copy link
Contributor Author

Upstreaming my changes to nixpkgs is taking longer than I expected. Here is the publication of my overlays. Hopefully other members of the community can help me upstream these packages to get qtbase and qtmultimedia cross compiling.
https://github.com/seanybaggins/qt-package-overalys

seanybaggins added a commit to seanybaggins/nixpkgs that referenced this issue Feb 2, 2024
Part of a greater effort to get qtbase and qtmultimedia cross compiling
for windows.
- NixOS#274274
- NixOS#272538
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.kind: build failure A package fails to build
Projects
None yet
Development

No branches or pull requests

1 participant