NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
18.08k stars 14.13k forks source link

Regression on master: a 'i686-linux' with features {} is required to build ..., but I am a 'x86_64-linux' #168192

Closed pshirshov closed 2 years ago

pshirshov commented 2 years ago

Some packages fail to build on master with an obscure error like:

error: a 'i686-linux' with features {} is required to build '/nix/store/3vkazf8pw0bgaxqa2a9l2rhpa1f7xlwc-libva-minimal-1.8.3.drv', but I am a 'x86_64-linux' with features {benchmark, big-parallel, kvm, nixos-test}

Namely:

  1. a2ps
  2. libva-minimal

Could you give me any hint what should I look at?

iblech commented 2 years ago

Hm, I cannot reproduce this (neither for a2ps nor for libva-minimal). I'm on an x86_64 NixOS system. Could you give some further details regarding your setup? Or did the problem evaporate in the meantime?

Artturin commented 2 years ago

can't repro, next time follow the issue template

mtoohey31 commented 2 years ago

I'm running into this issue on the latest nixos-unstable, specifically with libva-minimal-1.8.3. Should I provide the details here, or should I open a new issue? I'm running a bisect now, but it'll take a while to pinpoint the problem commit as my configuration requires kernel patches.

Artturin commented 2 years ago

Post here

Artturin commented 2 years ago

Send the contents of the drv file

mtoohey31 commented 2 years ago
Derive([("dev","/nix/store/kxfkd49p7dqni76ly5z7sa68q2cvhxgl-libva-minimal-1.8.3-dev","",""),("out","/nix/store/7izzy1kkf1n1p1fb3c8m1n9x87a310pb-libva-minimal-1.8.3","","")],[("/nix/store/9yzkf5d6435khl8ncjvf9dj50zpll1b0-stdenv-linux.drv",["out"]),("/nix/store/dy27fbfn2yghk83vmph2jq7jipxyvrmf-hook.drv",["out"]),("/nix/store/fq4fc3xjs3wav959d1nvq1j8p4vk8cyn-bash-5.1-p16.drv",["out"]),("/nix/store/kf9qa2kls84qh35ggmg54ykrax6rlxb4-source.drv",["out"]),("/nix/store/p9adh7gf6wlnzwiw10lbwkilyk6wm71j-pkg-config-wrapper-0.29.2.drv",["out"]),("/nix/store/plmm369qy9mcsy43znpfhbhk8kfp3lph-libdrm-2.4.110.drv",["dev"])],["/nix/store/9krlzvny65gdc8s7kpb6lkx8cd02c25b-default-builder.sh"],"i686-linux","/nix/store/rbjx88kxglgayf26b0gl2p9k5v725bnd-bash-5.1-p16/bin/bash",["-e","/nix/store/9krlzvny65gdc8s7kpb6lkx8cd02c25b-default-builder.sh"],[("buildInputs","/nix/store/0wj7zbx5mqmmc0pdviqshr8h0wp9va28-libdrm-2.4.110-dev"),("builder","/nix/store/rbjx88kxglgayf26b0gl2p9k5v725bnd-bash-5.1-p16/bin/bash"),("configureFlags","--with-drivers-path=/run/opengl-driver-32/lib/dri:/usr/lib/dri:/usr/lib32/dri"),("depsBuildBuild",""),("depsBuildBuildPropagated",""),("depsBuildTarget",""),("depsBuildTargetPropagated",""),("depsHostHost",""),("depsHostHostPropagated",""),("depsTargetTarget",""),("depsTargetTargetPropagated",""),("dev","/nix/store/kxfkd49p7dqni76ly5z7sa68q2cvhxgl-libva-minimal-1.8.3-dev"),("doCheck",""),("doInstallCheck",""),("installFlags","dummy_drv_video_ladir=$(out)/lib/dri"),("name","libva-minimal-1.8.3"),("nativeBuildInputs","/nix/store/j7pvybv673rm50g2jkfdlfk0p0hgwndn-hook /nix/store/hmxf69h6n94ycd48hj71ayc4d6h6kgvf-pkg-config-wrapper-0.29.2"),("out","/nix/store/7izzy1kkf1n1p1fb3c8m1n9x87a310pb-libva-minimal-1.8.3"),("outputs","dev out"),("patches",""),("pname","libva-minimal"),("propagatedBuildInputs",""),("propagatedNativeBuildInputs",""),("src","/nix/store/rnjfs2snrhqifr5z2337qzjh021x68sv-source"),("stdenv","/nix/store/7f0ygfmx2ps29s8gx7hz9mcq0sbrypsp-stdenv-linux"),("strictDeps",""),("system","i686-linux"),("version","1.8.3")])

It does indeed indicate that it's meant for an i686 system, which mine is not.

mtoohey31 commented 2 years ago

So the bisect wasn't useful... I left it running with the kernel patches disabled but the problem commit it returned didn't make any sense. I'm re-running it with the kernel patches enabled, but that'll take even longer. In the meantime, all my configuration is here: https://github.com/mtoohey31/infra. The commands I'm running are: nix flake lock --update-input nixpkgs && nixos-rebuild build --flake .#, and that's on my system with the zephyrus hostname, so it should be building .#nixosConfigurations.zephyrus. The encrypted secrets.nix file might make it a pain to get things building, replacing it with something like the following might be enough to fix the issues there:

{
  userscripts = {};
  systems = {
    zephyrus = {
      ssh_port = 12345;
      system_ssh_public_key = "";
      user_ssh_public_key = "";
      username = "username";
      wg_ip = "";
    };
  };
}

(I know encrypting a plaintext file in a git repository isn't super secure, as you can see from the values above though, I'm only using it for security-by-obscurity-type things.)

Also, here's the metadata, if that's of any use:

[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
- system: `"x86_64-linux"`
 - host os: `Linux 5.17.7, NixOS, 22.05 (Quokka), 22.05.20220516.1d7db1b`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.8.1`
 - channels(root): `"nixos-21.11"`
 - nixpkgs: `/nix/store/57zwl7b883kkya60akvg6wssl1qkxwl5-source`
Artturin commented 2 years ago

It's the same bug as https://github.com/NixOS/nixpkgs/issues/86506#issuecomment-623746883

The commit that caused it in your config is https://github.com/mtoohey31/infra/commit/c43c7435e3772a65be302ea43c8e4c2cc370094a

mtoohey31 commented 2 years ago

Ahh, that makes sense, thank you! I'll confirm that was the problem and we can close this in just a minute, after things build sucessfully.

Edit: yep, that fixed it, things are building now! Thanks again!

vcunat commented 2 years ago

OK, moved to the Nix issue.