firefox: relax disallowedRequisites to disallowedReferences to fix cuda build#457391
firefox: relax disallowedRequisites to disallowedReferences to fix cuda build#457391GaetanLepage wants to merge 1 commit intoNixOS:masterfrom
Conversation
…da build When cudaSupport is enabled, cudaPackages.cuda_nvcc becomes a transitive dependency of firefox. It adds backendStdenv.cc to its propagatedBuildInputs which violates firefox's disallowedRequisites policy. This breaks firefox when cudaSupport is enabled. I propose to relax the disallowedRequisites assertion and simply migrate to disallowedReferences which ensures that stdenv.cc is not a direct dependency of firefox.
|
Hm. Why are these references in the output though? Do you have a list of matches that break the expectation? I'd not expect gcc-wrapper to be in the final output. |
|
If I understand correctly this happens because nixpkgs/pkgs/development/cuda-modules/packages/cuda_nvcc.nix Lines 24 to 25 in a4c85a9 But I don't know how this propagates through onnxruntime |
|
My preliminary assessment is that we need to revert nvcc's |
|
Not sure if I misunderstand something - but onnxruntime shouldn't depend on nvcc at runtime, should it? As far as I understand cuda_nvcc depending on gcc at runtime is fine, but onnxruntime depending on nvcc at runtime is not, its in |
|
@Janrupf I didn't read the onnxruntime part yet, will follow up |
|
Actually, even now I feel fairly confident that relaxing |
|
I agree, this is an actual issue and not in firefox either. What I'm trying to say is that while firefox reveals the issue and it may have been detected due to a change in the cuda package set, the real issue (again, if I understand correctly) is onnxruntime depending on nvcc at runtime. EDIT: It seems like the hashes for the |
|
Closing as I think we’re all in agreement that this isn’t the right move. |
|
|
As a regular NixOS 25.05 (soon 25.11) user who's just trying to get Found this PR by Googling. |
The easiest would be to switch to programs.firefox = {
package = pkgs.firefox.overrideAttrs { disallowedRequisites = [ ]; };
};or if you don't use the environment.systemPackages = [
(pkgs.firefox.overrideAttrs { disallowedRequisites = [ ]; })
]; |
|
@carlthome please also do report your nixpkgs revision and the output of |
When
cudaSupportis enabled,cudaPackages.cuda_nvccbecomes a transitive dependency offirefox.cuda_nvcchasbackendStdenv.ccin itspropagatedBuildInputswhich violatesfirefox'sdisallowedRequisitespolicy.This breaks
firefoxwhencudaSupportis enabled:I propose to relax the
disallowedRequisitesassertion and simply migrate todisallowedReferenceswhich ensures thatstdenv.ccis not a direct dependency offirefox.NOTE: this only became an issue recently (since #437723) because before,
cudaPackages.backendStdenvandstdenvwere differing.Now they are the same, which triggers this error.
cc @mweinelt @booxter
cc @ConnorBaker @SomeoneSerge
Things done
passthru.tests.nixpkgs-reviewon this PR. See nixpkgs-review usage../result/bin/.Add a 👍 reaction to pull requests you find important.