-
-
Notifications
You must be signed in to change notification settings - Fork 14.9k
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: lldb_19 #380196
Comments
forgot to ping the eeam; @NixOS/llvm |
It seems |
I reproduced this on raspberrypi (aarch64) with home-manager setup.
full logs are here... |
i mean adding more checks and be stricter is good, but what i don't get is why can't we make sure it doesn't cause regressions before merging it? this feels very reckless to me... (like, there is tooling to figure out what derivations have stopped building, and we would have to fix them sooner or later anyway. why can't we fix them before merging?) related: #370750 |
That PR introduced a change which is very large. Building every package which is affected wouldn't be practical. There's a reason why staging exists. It's meant to help iron out issues but not every single issue. According to |
I guess it didn't cause enough build failures to be noticed :/ |
@RossComputerGuy staging exists to catch failures like this, no? we knew this build failed in staging: https://hydra.nixos.org/build/287121996/log/tail why didn't we just grep the failed builds for "noBrokenSymlinks"? why have hydra and do all these expensive builds if no one even cares? |
Yes, it would
Doesn't help when nobody is constantly watching.
That would be very computationally heavy and isn't really possible. |
It wouldn't even take half an hour to search through tens of GBs of logs, there are only 11k failed drvs. and you've already spent much longer than that to build all of them. did anyone even think to try? Rust builds the entirety of |
I believe the logs are in sqlite, not a plain text file. |
If you care, you're welcome to help with the staging process (join #staging:nixos.org), and watch for failed builds. It's a balance of how long do we hold back important changes (some of which are security fixes) for the small remaining number of build regressions, so the more people who are working on those regressions, the fewer they will be. |
A bit offtopic but it would be nice to have a way for Hydra to ping the package maintainer(s) if the package that they're maintaining has a build failure. That way, we can catch it as soon as possible. |
I believe that's been done before and it resulted in a lot of emails. Also, people would likely end up just ignoring the notification. Anyway, further discussion on this matter should move to Matrix. |
Conversation aside (though I find it interesting and relevant fwiw), does anyone know how to fix it? lldb is a dependency of jetbrains ides, so they are broken atm. |
A workaround for it is to disable the broken symlink checking behavior: nixpkgs.overlays = [
(final: prev: {
lldb = prev.lldb.overrideAttrs {
dontCheckForBrokenSymlinks = true;
};
})
]; (I only tested it for other packages, and lldb is taking a while to build locally) |
i'd love to help, but i have too many commitments right now and if i take on more i'll just end up doing none of them. but besides manpower, i (looking from outside) feel like there might be a tooling problem? if it was easy to query "what did noBrokenSymlinks break", then someone probably would have done that.
if you do this, make sure you override the right one. for me it was
did it send an email each time a drv was rebuilt? then i can imagine it being super annoying. maybe it's possible to do something smarter? or maybe manually? e.g. when devs feel staging is mature enough, they can trigger emails to be sent for remaining broken drvs. |
Issues with lldb NixOS/nixpkgs#380196
removing the lib output seems like it would be the easiest thing to do given it already doesn't exist on darwin and both outputs (out, lib) are needed for for lldb to work anyway. diff --git a/pkgs/development/compilers/llvm/common/lldb.nix b/pkgs/development/compilers/llvm/common/lldb.nix
index f4a131c47620..820bd5f21231 100644
--- a/pkgs/development/compilers/llvm/common/lldb.nix
+++ b/pkgs/development/compilers/llvm/common/lldb.nix
@@ -56,7 +56,7 @@ stdenv.mkDerivation (rec {
# LLDB expects to find the path to `bin` relative to `lib` on Darwin. It can’t be patched with the location of
# the `lib` output because that would create a cycle between it and the `out` output.
- outputs = [ "out" "dev" ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ "lib" ];
+ outputs = [ "out" "dev" ];
sourceRoot = lib.optional (lib.versionAtLeast release_version "13") "${src.name}/${pname}";
|
I think the fix which would make sense is to patch this: #380196 (comment) |
disagree given the added maintenance burden for pretty much zero benefit, not to mention that it doesn't work given it creates a cycle which breaks the build. |
here is my attempt at cleaning up the dangling symlink... |
☝ this workaround worked for me, thanks a lot @gepbird |
Remove the `lib` output, so that `/lib` goes to the `out` output instead. This fixes the following error: ERROR: noBrokenSymlinks: the symlink .../lib/python3.12/site-packages/lldb/lldb-argdumper points to a missing target .../bin/lldb-argdumper Fixes NixOS#380196
Remove the `lib` output, so that `/lib` goes to the `out` output instead. This fixes the following error: ERROR: noBrokenSymlinks: the symlink .../lib/python3.12/site-packages/lldb/lldb-argdumper points to a missing target .../bin/lldb-argdumper Fixes NixOS#380196
Nixpkgs version
Steps to reproduce
or for nixos-unstable
Can Hydra reproduce this build failure?
Yes, Hydra can reproduce this build failure.
Link to Hydra build job
https://hydra.nixos.org/build/288035026
Relevant log output
Additional context
lldb-unstable.log
lldb-master.log
System metadata
❯ nix-shell -p nix-info --run "nix-info -m"
"x86_64-linux"
Linux 6.6.60, NixOS, 24.11 (Vicuna), 24.11pre-git
yes
yes
nix-env (Nix) 2.24.10
/nix/store/4r8s42c9mwfvgdlxv0izb1cmlzrsb5nz-source
Notify maintainers
Note for maintainers: Please tag this issue in your pull request description. (i.e.
Resolves #ISSUE
.)I assert that this issue is relevant for Nixpkgs
Is this issue important to you?
Add a 👍 reaction to issues you find important.
The text was updated successfully, but these errors were encountered: