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.qtmultimedia mingw hostPlatform #274274

Closed
seanybaggins opened this issue Dec 14, 2023 · 3 comments
Closed

Build failure: qt6.qtmultimedia mingw hostPlatform #274274

seanybaggins opened this issue Dec 14, 2023 · 3 comments
Labels
0.kind: build failure A package fails to build

Comments

@seanybaggins
Copy link
Contributor

seanybaggins commented Dec 14, 2023

Steps To Reproduce

Steps to reproduce the behavior:

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

Build log

error:
       … in the condition of the assert statement

         at /home/sean/nixpkgs-contributing/lib/customisation.nix:263:17:

          262|     in commonAttrs // {
          263|       drvPath = assert condition; drv.drvPath;
             |                 ^
          264|       outPath = assert condition; drv.outPath;

       … while evaluating the attribute 'handled'

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

          498|       # or, alternatively, just output a warning message.
          499|       handled =
             |       ^
          500|         (

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

       error: Package ‘qtmultimedia-6.6.1’ in /home/sean/nixpkgs-contributing/pkgs/development/libraries/qt-6/qtModule.nix:37 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"
           "mips-linux"
           "mips64-linux"
           "mips64el-linux"
           "mipsel-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: When using `nix shell`, `nix build`, `nix develop`, etc with a flake,
                then pass `--impure` in order to allow use of environment variables.

       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 am slowly adding mingw support for qt6.qtmultimedia. Will reference this issue when I open a PR for a cross build dependency. May open some drafts in a effort to get help from the community.

Here is an image of the dependency tree from msys2.
mingw-qtmultimedia-dependency-graph(4)

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"
output here

Add a 👍 reaction to issues you find important.

@seanybaggins seanybaggins added the 0.kind: build failure A package fails to build label Dec 14, 2023
@seanybaggins seanybaggins changed the title Build failure: qt6.qtmultimedia Build failure: qt6.qtmultimedia mingw hostPlatform Dec 14, 2023
@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
@seanybaggins
Copy link
Contributor Author

seanybaggins commented Apr 26, 2024

nix build "github:nixos/nixpkgs/e07f1962864dd6df9944972366cc33888126d590#pkgs.pkgsCross.mingw32.qt6.qtmultimedia"

Builds qt6.qtmultimedia for mingw32. Thank you @Artturin, @bjornfor, @NickCao, @wegank, @SuperSandro2000, @ajs124, @Ericson2314, @alyssais, @L-as, @LunNova, @afh, @delroth, @AndersonTorres, @Mindavi, @vcunat, @jopejoe1, @Atemu, @arthsmn, @symphorien, @superherointj, and anyone else I forgot to mention, for helping with reviews. My experience of contributing to nixpkgs was very positive, and it's thanks to all you incredibly bright and generous people.

Closing as resolved.

@afh
Copy link
Member

afh commented Apr 26, 2024

Thank you for putting in all the hard work, @seanybaggins, very much appreciated! 👏

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

2 participants