!oeFELgatfbdiAEkJAY:nixos.org

Nix Zürich

115 Members
https://zurich.nix.ug/ - Next ZHF event 23-24 November 202428 Servers

Load older messages


SenderMessageTime
15 Nov 2025
@sECuRE:matrix.orgzekjurthe issue i’m running into is that i can enter the failing build container, but then i don’t know what command to run in there. functions like “postPatch” or “genericBuild” are not available somehow11:41:18
@kirelagin:matrix.orgkirelagin zekjur: usually you just ran phases manually one by one e.g. eval "${unpackPhase:-unpackPhase}" 11:42:31
@sECuRE:matrix.orgzekjurthanks, but this is what i get: sudo /nix/store/sikvbjrwks8hpbyglk76cn6iq3zvn0lp-attach/bin/attach 4486029 bash-5.3# eval "${unpackPhase:-unpackPhase}" bash: unpackPhase: command not found bash-5.3# 11:43:14
@kirelagin:matrix.orgkirelagin wait, sorry, I guess I am confused, I am not really sure what you are talking about when you say “containers”. Is this different from like nix develop? The build phase scripts are just passed as environment variables to the build (form the derivation), so, I guess, if you just attach to the namespace, you do not get the env (but you can probably source it somehow?) 11:44:42
@gabyx:matrix.orggabyx Fabio Lenherr: Can I add you here as a reviewer? https://github.com/NixOS/nixpkgs/pull/461889 11:45:49
@sECuRE:matrix.orgzekjur

in a current nixpkgs checkout, i modified frigate like so:

--- i/pkgs/by-name/fr/frigate/package.nix
+++ w/pkgs/by-name/fr/frigate/package.nix
@@ -1,6 +1,7 @@
{
lib,
stdenv,

  • breakpointHook,
    callPackage,
    python313Packages,
    fetchFromGitHub,
    @@ -214,6 +215,8 @@ python3Packages.buildPythonApplication rec {
    pytestCheckHook
    ];

  • nativeBuildInputs = [ breakpointHook ];

  • interpreter crash in onnxruntime on aarch64-linux

    doCheck = !(stdenv.hostPlatform.system == "aarch64-linux");

and then i run nix build .#frigate, which ultimately prints something like:

[1/0/1 built] building frigate-0.16.2 (pytestCheckPhase): sudo /nix/store/sikvbjrwks8hpbyglk76cn6iq3zvn0lp-attach/bin/attach 5167301

that’s what i run

11:46:20
@sECuRE:matrix.orgzekjur *

in a current nixpkgs checkout, i modified frigate like so:

--- i/pkgs/by-name/fr/frigate/package.nix
+++ w/pkgs/by-name/fr/frigate/package.nix
@@ -1,6 +1,7 @@
{
lib,
stdenv,

- breakpointHook,
callPackage,
python313Packages,
fetchFromGitHub,
@@ -214,6 +215,8 @@ python3Packages.buildPythonApplication rec {
pytestCheckHook
\];
- nativeBuildInputs = \[ breakpointHook \];
- # interpreter crash in onnxruntime on aarch64-linux
doCheck = !(stdenv.hostPlatform.system == "aarch64-linux");

and then i run nix build .#frigate, which ultimately prints something like:

[1/0/1 built] building frigate-0.16.2 (pytestCheckPhase): sudo /nix/store/sikvbjrwks8hpbyglk76cn6iq3zvn0lp-attach/bin/attach 5167301

that’s what i run

11:46:35
@sECuRE:matrix.orgzekjur * in a current nixpkgs checkout, i modified frigate like so: https://paste.noname-ev.de/paste/113 and then i run nix build .#frigate, which ultimately prints something like: [1/0/1 built] building frigate-0.16.2 (pytestCheckPhase): sudo /nix/store/sikvbjrwks8hpbyglk76cn6iq3zvn0lp-attach/bin/attach 5167301 that’s what i run 11:47:43
@kirelagin:matrix.orgkirelagin ok, I see, I have never heard of this hook tbh. I usually just do nix devleop and then run phases manually. There used to be a wiki page explaining this (basically, how to troubleshoot failing builds with nix-shell but I can’t see to find it now :/) 11:49:24
@sECuRE:matrix.orgzekjuryeah the wiki page instructions never worked for me 🤷 maybe all my packages are unusual somehow :D11:49:47
@kirelagin:matrix.orgkirelagin @zekjur anyway, what works for me is nix develop .#frigate, then, in the shell, you just do eval "${unpackPhase:-unpackPhase}", then the same with patchPhase, and then you, um, figure out what it does next, because the expression has dontBuild = true so I assume it just runs the tests or something. That’s the traditional way of debugging builds 11:57:25
@kirelagin:matrix.orgkirelagin * zekjur: anyway, what works for me is nix develop .#frigate, then, in the shell, you just do eval "${unpackPhase:-unpackPhase}", then the same with patchPhase, and then you, um, figure out what it does next, because the expression has dontBuild = true so I assume it just runs the tests or something. That’s the traditional way of debugging builds 11:57:33
@kirelagin:matrix.orgkirelagin * zekjur: anyway, what works for me is nix develop .#frigate, then, in the shell, you just do eval "${unpackPhase:-unpackPhase}", then cd in to the directory, then the same with patchPhase, and then you, um, figure out what it does next, because the expression has dontBuild = true so I assume it just runs the tests or something. That’s the traditional way of debugging builds 11:57:58
@sECuRE:matrix.orgzekjurthanks. let me try how far i get with the different phases12:04:28
@sECuRE:matrix.orgzekjur

running eval "${buildPhase:-buildPhase}" results in an entirely different error :(

2.009 × Failed to build installable wheels for some pyproject.toml based projects
2.009 ╰─> nvidia-pyindex

ERROR: failed to solve: process "/bin/sh -c pip3 install -r /requirements.txt" did not complete successfully: exit code: 1

12:05:58
@sECuRE:matrix.orgzekjurokay, so the phase that fails is pytestCheckPhase, but when i run unpackPhase and pytestCheckPhase, i get a different error, too :-/12:24:08
@kirelagin:matrix.orgkirelagin Nix gives you reproducibility they say 12:29:24
@kirelagin:matrix.orgkirelaginOh it segfaults lol12:31:19
@kirelagin:matrix.orgkirelagin Yeah, the easy way to check is /nix/store/ab4v2qp7q426zrizz38d4jfx025xifdf-pytest-check-hook/nix-support/setup-hook: line 23: 541 Segmentation fault – if you look at that line, you’ll see it is the pytestCheckPhase 12:32:01
@sECuRE:matrix.orgzekjurok, so this is failure is a known upstream issue (see https://github.com/blakeblackshear/frigate/discussions/20663), but not sure why i ran into that only this once -.-12:39:26
@sECuRE:matrix.orgzekjurok, i give up. there are too many unknowns for me (not familiar with python apps, frigate dev env instructions are very bare, nix debugging is a mystery)13:02:19
@raphiz:matrix.orgraphizMini-PRs Ready for review: https://github.com/NixOS/nixpkgs/pull/461902 13:06:46
@ners:nixos.devnersPlease vote if you haven't yet.13:06:47
@raphiz:matrix.orgraphizPR ready for Review: https://github.com/NixOS/nixpkgs/pull/46191813:17:37
@john-rodewald:nixos.devjohn-rodewald
In reply to @ners:nixos.dev
Please vote if you haven't yet.
Looks like we’ll do it today.
13:18:56
@bjth:matrix.orgBryan Honofhttps://www.neuhauschocolates.com/en_FI/home13:22:11
@kirelagin:matrix.orgkirelagin

zekjur: I’ve reproduced the failure:

  1. nix develop .#frigate
    in the opened shell:
  2. runPhase unpackPhase && runPhase patchPhase && runPhase installPhase
  3. runPhase pytestCheckPhase <- this segfaults
13:33:02
@kirelagin:matrix.orgkirelaginI’m not really sure what you are going to do with it though, because it is a segfault, so you will probably want to whip out gdb and then, um... get debug builds of CPython and all the packages involved that have C components?13:33:57
@kirelagin:matrix.orgkirelagin Actually, you don’t even need to run any of the tests, just the collection (run pytest --co -q in the shell after going through all the phases) segfaults 13:36:10
@sECuRE:matrix.orgzekjurthank you! that gets me a core dump at least (after ulimit -c unlimited) :) 13:38:14

Show newer messages


Back to Room ListRoom Version: 10