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

isStatic has no non-function representation, but nix-env --meta assumes one exists #212925

Closed
ghost opened this issue Jan 27, 2023 · 0 comments · Fixed by #212939
Closed

isStatic has no non-function representation, but nix-env --meta assumes one exists #212925

ghost opened this issue Jan 27, 2023 · 0 comments · Fixed by #212939
Labels
0.kind: bug Something is broken

Comments

@ghost
Copy link

ghost commented Jan 27, 2023

I am working on this bug. First reported here.

The root cause of the problem is that there is no "pattern" (see lib/system/inspect.nix) representation for isStatic. It is special, unlike all the other platform predicates. It is this way because pkgsStatic exists, and because

stdenv.hostPlatform.config == pkgsStatic.stdenv.hostPlatform.config

... in other words, "static-ness" is not represented in the gnu-config triple for a platform.

Right now we try to pretend that you can reconstruct all the pattern-representable aspects of a hostPlatform from its config. That isn't really true, because of isStatic and useLLVM, and it's getting more untrue as time goes on. The long-term solution is to stop pretending.

I have a possible short-term fix that I'm testing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.kind: bug Something is broken
Projects
None yet
Development

Successfully merging a pull request may close this issue.

0 participants