nix-community / raspberry-pi-nix

NixOS modules to aid in configuring NixOS for raspberry pi products
MIT License
144 stars 34 forks source link

libcamera build error, gen-py-controls.py not found #37

Closed dschaub closed 4 weeks ago

dschaub commented 1 month ago

Hello! We're actually seeing the same build error as in #27, but opening a new issue since their request was different. We are trying to use libcamera, so we're wondering what could be causing this build error. Here's the failure again:

[186/209] Generating src/py/libcamera/py_gen_controls with a custom command
FAILED: src/py/libcamera/py_controls_generated.cpp
/build/source/src/py/libcamera/gen-py-controls.py --mode controls -o src/py/libcamera/py_controls_generated.cpp -t ../src/py/libcamera/py_controls_generated.cpp.in ../src/py/libcamera/../../libcamera/control_ids_draft.yaml ../src/py/libcamera/../../libcamera/control_ids_core.yaml ../src/py/libcamera/../../libcamera/control_ids_rpi.yaml
/bin/sh: /build/source/src/py/libcamera/gen-py-controls.py: not found

(Likely coming from this meson.build.)

We've tried making sure we're on the same version of nixpkgs, and we've tried on multiple machines. This error is while building against master (specifically b4ad649, but also on the new commits as of this morning). We've tried building v0.3.2 and got a different error, but we were interested in the Pi 5 updates and the fixes to libcamera that were merged a few weeks ago.

Happy to provide any more details that can help! Thanks!

dschaub commented 1 month ago

Here's the complete build log, if it helps:


Running phase: unpackPhase
unpacking source archive /nix/store/s1j6fzny27m2dnvmbwal3z03bcwlcfi5-source
source root is source
@nix { "action": "setPhase", "phase": "patchPhase" }
Running phase: patchPhase
patching script interpreter paths in utils/
utils/tuning/rkisp1.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3"
utils/tuning/raspberrypi_alsc_only.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3"
utils/tracepoints/analyze-ipa-trace.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3"
utils/tracepoints/gen-tp-header.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3"
utils/ipu3/ipu3-capture.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/1fzg4cl3k2n9yq80vg6y1vcmvx3qm682-bash-5.2p26/bin/bash"
utils/ipu3/ipu3-process.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/1fzg4cl3k2n9yq80vg6y1vcmvx3qm682-bash-5.2p26/bin/bash"
utils/update-mojo.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/1fzg4cl3k2n9yq80vg6y1vcmvx3qm682-bash-5.2p26/bin/sh"
utils/gen-header.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/1fzg4cl3k2n9yq80vg6y1vcmvx3qm682-bash-5.2p26/bin/sh"
utils/update-kernel-headers.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/1fzg4cl3k2n9yq80vg6y1vcmvx3qm682-bash-5.2p26/bin/sh"
utils/abi-compat.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/1fzg4cl3k2n9yq80vg6y1vcmvx3qm682-bash-5.2p26/bin/bash"
utils/gen-controls.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3"
utils/ipc/generate.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3"
utils/ipc/parser.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3"
utils/ipc/extract-docs.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3"
utils/ipc/mojo/public/tools/bindings/mojom_bindings_generator.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python"
utils/ipc/mojo/public/tools/bindings/generate_type_mappings.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python"
utils/ipc/mojo/public/tools/bindings/validate_typemap_config.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python"
utils/ipc/mojo/public/tools/bindings/minify_with_terser.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3"
utils/ipc/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python"
utils/ipc/mojo/public/tools/bindings/concatenate-files.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python"
utils/ipc/mojo/public/tools/run_all_python_unittests.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3"
utils/ipc/mojo/public/tools/mojom/check_stable_mojom_compatibility.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3"
utils/ipc/mojo/public/tools/mojom/check_stable_mojom_compatibility_unittest.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3"
utils/ipc/mojo/public/tools/mojom/mojom_parser.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3"
utils/gen-formats.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3"
utils/hooks/pre-push: interpreter directive changed from "#!/bin/bash" to "/nix/store/1fzg4cl3k2n9yq80vg6y1vcmvx3qm682-bash-5.2p26/bin/bash"
utils/hooks/post-commit: interpreter directive changed from "#!/bin/sh" to "/nix/store/1fzg4cl3k2n9yq80vg6y1vcmvx3qm682-bash-5.2p26/bin/sh"
utils/hooks/pre-commit: interpreter directive changed from "#!/bin/sh" to "/nix/store/1fzg4cl3k2n9yq80vg6y1vcmvx3qm682-bash-5.2p26/bin/sh"
utils/release.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/1fzg4cl3k2n9yq80vg6y1vcmvx3qm682-bash-5.2p26/bin/sh"
utils/gen-ipa-priv-key.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/1fzg4cl3k2n9yq80vg6y1vcmvx3qm682-bash-5.2p26/bin/sh"
utils/rkisp1/gen-csc-table.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3"
utils/rkisp1/rkisp1-capture.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/1fzg4cl3k2n9yq80vg6y1vcmvx3qm682-bash-5.2p26/bin/sh"
utils/checkstyle.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3"
utils/gen-version.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/1fzg4cl3k2n9yq80vg6y1vcmvx3qm682-bash-5.2p26/bin/sh"
utils/semver: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/1fzg4cl3k2n9yq80vg6y1vcmvx3qm682-bash-5.2p26/bin/bash"
utils/gen-ipa-pub-key.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3"
utils/raspberrypi/ctt/ctt_pretty_print_json.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3"
utils/raspberrypi/ctt/convert_tuning.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3"
utils/raspberrypi/ctt/alsc_only.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3"
utils/raspberrypi/ctt/ctt_pisp.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3"
utils/raspberrypi/ctt/ctt_vc4.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3"
utils/raspberrypi/ctt/ctt.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3"
@nix { "action": "setPhase", "phase": "updateAutotoolsGnuConfigScriptsPhase" }
Running phase: updateAutotoolsGnuConfigScriptsPhase
@nix { "action": "setPhase", "phase": "configurePhase" }
Running phase: configurePhase
mesonConfigurePhase flags: --prefix=/nix/store/s82cxw072dgwdgryxjy39g9cz8nfghbi-libcamera-0.2.0 --libdir=/nix/store/s82cxw072dgwdgryxjy39g9cz8nfghbi-libcamera-0.2.0/lib --libexecdir=/nix/store/s82cxw072dgwdgryxjy39g9cz8nfghbi-libcamera-0.2.0/libexec --bindir=/nix/store/s82cxw072dgwdgryxjy39g9cz8nfghbi-libcamera-0.2.0/bin --sbindir=/nix/store/s82cxw072dgwdgryxjy39g9cz8nfghbi-libcamera-0.2.0/sbin --includedir=/nix/store/00imic63hkicd36sq0a69sv5srb5d62j-libcamera-0.2.0-dev/include --mandir=/nix/store/s82cxw072dgwdgryxjy39g9cz8nfghbi-libcamera-0.2.0/share/man --infodir=/nix/store/s82cxw072dgwdgryxjy39g9cz8nfghbi-libcamera-0.2.0/share/info --localedir=/nix/store/s82cxw072dgwdgryxjy39g9cz8nfghbi-libcamera-0.2.0/share/locale -Dauto_features=enabled -Dwrap_mode=nodownload --buildtype=plain --buildtype=release -Dpipelines=rpi/vc4\,rpi/pisp -Dipas=rpi/vc4\,rpi/pisp -Dv4l2=true -Dgstreamer=enabled -Dtest=false -Dlc-compliance=disabled -Dcam=disabled -Dqcam=disabled -Ddocumentation=enabled -Dpycamera=enabled
The Meson build system
Version: 1.4.0
Source dir: /build/source
Build dir: /build/source/build
Build type: native build
Project name: libcamera
Project version: 0.3.0
C compiler for the host machine: gcc (gcc 13.2.0 "gcc (GCC) 13.2.0")
C linker for the host machine: gcc ld.bfd 2.41
C++ compiler for the host machine: g++ (gcc 13.2.0 "g++ (GCC) 13.2.0")
C++ linker for the host machine: g++ ld.bfd 2.41
Host machine cpu family: aarch64
Host machine cpu: aarch64
Header "fcntl.h" has symbol "F_ADD_SEALS" : YES
Header "unistd.h" has symbol "issetugid" : NO
Header "locale.h" has symbol "locale_t" : YES
Header "sys/mman.h" has symbol "memfd_create" : YES
Header "stdlib.h" has symbol "secure_getenv" : YES
Compiler for C supports arguments -Wno-c99-designator: NO
Found pkg-config: YES (/nix/store/fcygv8mslxfn6d37p2kb3r6nc0hmjaq0-pkg-config-wrapper-0.29.2/bin/pkg-config) 0.29.2
Run-time dependency lttng-ust found: YES 2.13.8
Program ./parser.py found: YES (/build/source/utils/ipc/./parser.py)
Program ./generate.py found: YES (/build/source/utils/ipc/./generate.py)
Program ./extract-docs.py found: YES (/build/source/utils/ipc/./extract-docs.py)
Program ./gen-tp-header.py found: YES (/build/source/utils/tracepoints/./gen-tp-header.py)
Configuring version.h using configuration
Program openssl found: YES (/nix/store/84xzrrx5q8rn8x3dh7fn2rr25s950x24-openssl-3.0.13-bin/bin/openssl)
Library atomic found: YES
Run-time dependency threads found: YES
Did not find CMake 'cmake'
Found CMake: NO
Run-time dependency libdw found: NO (tried pkgconfig and cmake)
Run-time dependency libunwind found: NO (tried pkgconfig and cmake)
Header "execinfo.h" has symbol "backtrace" : YES
Library rt found: YES
Run-time dependency libpisp found: YES 1.0.6
Checking for function "dlopen" : YES
Run-time dependency libudev found: YES 255
Run-time dependency yaml-0.1 found: YES 0.2.5
Run-time dependency gnutls found: NO (tried pkgconfig and cmake)
Run-time dependency libcrypto found: YES 3.0.13
Dependency libexif skipped: feature android disabled
Dependency libjpeg skipped: feature android disabled
Dependency libevent_pthreads skipped: feature cam disabled
Dependency libevent_pthreads skipped: feature lc-compliance disabled
Run-time dependency libtiff-4 found: YES 4.6.0
Dependency gtest skipped: feature lc-compliance disabled
Dependency qt5 (modules: Core, Gui, Widgets) skipped: feature qcam disabled
Run-time dependency glib-2.0 found: YES 2.80.2
Run-time dependency gstreamer-video-1.0 found: YES 1.24.2
Run-time dependency gstreamer-allocators-1.0 found: YES 1.24.2
Run-time dependency python3 found: YES 3.11
Run-time dependency pybind11 found: YES 2.12.0
Configuring libcamerify using configuration
Program doxygen found: YES (/nix/store/f3lq46q8b9k8x314sdzmwj9scksd63j5-doxygen-1.10.0/bin/doxygen)
Program dot found: YES (/nix/store/0ml4p56x7ssymf9l6rmm0dyvdl83qnjr-graphviz-10.0.1/bin/dot)
Configuring Doxyfile using configuration
Program sphinx-build-3 found: NO
Program sphinx-build found: YES (/nix/store/kck38fl4pfrgppf8dg2snq6jbhfmm1hr-python3.11-sphinx-7.3.7/bin/sphinx-build)
Configuring config.h using configuration
Program python3 (jinja2, ply, jinja2, yaml) found: YES (/nix/store/czlizmr5dmpxi7ysqknxys82776hldgk-python3-3.11.9/bin/python3) modules: jinja2, ply, jinja2, yaml
Build targets in project: 50

libcamera 0.3.0

  Versions
    Sources                  : 0.3.0

  Paths
    LIBCAMERA_DATA_DIR       : "/nix/store/s82cxw072dgwdgryxjy39g9cz8nfghbi-libcamera-0.2.0/share/libcamera"
    LIBCAMERA_SYSCONF_DIR    : "/nix/store/s82cxw072dgwdgryxjy39g9cz8nfghbi-libcamera-0.2.0/etc/libcamera"
    IPA_PROXY_DIR            : "/nix/store/s82cxw072dgwdgryxjy39g9cz8nfghbi-libcamera-0.2.0/libexec/libcamera"
    IPA_CONFIG_DIR           : "/nix/store/s82cxw072dgwdgryxjy39g9cz8nfghbi-libcamera-0.2.0/etc/libcamera/ipa:/nix/store/s82cxw072dgwdgryxjy39g9cz8nfghbi-libcamera-0.2.0/share/libcamera/ipa"
    IPA_MODULE_DIR           : "/nix/store/s82cxw072dgwdgryxjy39g9cz8nfghbi-libcamera-0.2.0/lib/libcamera"

  Configuration
    SoftISP support          : false
    IPA modules signed with  : libcrypto
    Enabled pipelines        : rpi/vc4
                               rpi/pisp
    Enabled IPA modules      : rpi/vc4
                               rpi/pisp
    Controls files           : control_ids_draft.yaml
                               control_ids_core.yaml
                               control_ids_rpi.yaml
    Properties files         : property_ids_draft.yaml
                               property_ids_core.yaml
    Hotplug support          : YES
    Tracing support          : YES
    Android support          : NO
    GStreamer support        : YES
    Python bindings          : YES
    V4L2 emulation support   : YES
    cam application          : NO
    qcam application         : NO
    lc-compliance application: NO
    Unit tests               : NO

  User defined options
    auto_features            : enabled
    bindir                   : /nix/store/s82cxw072dgwdgryxjy39g9cz8nfghbi-libcamera-0.2.0/bin
    buildtype                : release
    includedir               : /nix/store/00imic63hkicd36sq0a69sv5srb5d62j-libcamera-0.2.0-dev/include
    infodir                  : /nix/store/s82cxw072dgwdgryxjy39g9cz8nfghbi-libcamera-0.2.0/share/info
    libdir                   : /nix/store/s82cxw072dgwdgryxjy39g9cz8nfghbi-libcamera-0.2.0/lib
    libexecdir               : /nix/store/s82cxw072dgwdgryxjy39g9cz8nfghbi-libcamera-0.2.0/libexec
    localedir                : /nix/store/s82cxw072dgwdgryxjy39g9cz8nfghbi-libcamera-0.2.0/share/locale
    mandir                   : /nix/store/s82cxw072dgwdgryxjy39g9cz8nfghbi-libcamera-0.2.0/share/man
    prefix                   : /nix/store/s82cxw072dgwdgryxjy39g9cz8nfghbi-libcamera-0.2.0
    sbindir                  : /nix/store/s82cxw072dgwdgryxjy39g9cz8nfghbi-libcamera-0.2.0/sbin
    wrap_mode                : nodownload
    cam                      : disabled
    documentation            : enabled
    gstreamer                : enabled
    ipas                     : rpi/vc4,rpi/pisp
    lc-compliance            : disabled
    pipelines                : rpi/vc4,rpi/pisp
    pycamera                 : enabled
    qcam                     : disabled
    test                     : false
    v4l2                     : true

Found ninja-1.11.1 at /nix/store/x5xxghxq2w2zpb68wf926bx4d17nhmhq-ninja-1.11.1/bin/ninja
mesonConfigurePhase: enabled\ parallel\ building
@nix { "action": "setPhase", "phase": "buildPhase" }
Running phase: buildPhase

[0/1] Generating src/ipa-priv-key with a custom command
[1/1] Generating src/ipa-priv-key with a custom command
....+......+.....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.+.+...........+.............+......+.....+....+...+........+......+...+.............+.....+....+.....+.+...+.........+..+.+............+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.+...+......+...+.....+.......+...+......+...........+.+..+...+.......+..+..........+...+...+............+.....+......+......+....+..+...+....+.....+......+.....................+.+..+...+....+.....+...+.+..+....+...+......+......+.....+.....................+...+......+.............+.................+....+....................+....+........+...+....+..+.+...+.....+.+........+......+.........+.......+.....+....+..+.......+..+....+..+.......+..+....+.........+...........+....+..................+..+...+...+.......+....................+.......+...+..+.+.........+..+...+..................+..........+..+......+.........+.......+......+.......................+.......+..+.+..+.......+...........+..........+..+...+......+.+........+......+.+........+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
..+.+.....+.........+.+.....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*......+...+...+..........+...+..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
build flags: -j2
[1/209] Compiling C object utils/ipu3/ipu3-pack.p/ipu3-pack.c.o
[2/209] Linking target utils/ipu3/ipu3-pack
[3/209] Compiling C object utils/ipu3/ipu3-unpack.p/ipu3-unpack.c.o
[4/209] Generating utils/ipc/mojom_templates with a custom command
[5/209] Linking target utils/ipu3/ipu3-unpack
[6/209] Generating include/libcamera/internal/tp_header with a custom command
[7/209] Generating include/libcamera/ipa/core_mojom_module with a custom command
[8/209] Generating include/libcamera/control_ids_rpi.yaml_h with a custom command
[9/209] Generating include/libcamera/ipa/core_ipa_interface_h with a custom command
[10/209] Generating include/libcamera/ipa/core_ipa_serializer_h with a custom command
[11/209] Generating include/libcamera/ipa/raspberrypi_mojom_module with a custom command
[12/209] Generating include/libcamera/property_ids_core.yaml_h with a custom command
[13/209] Generating include/libcamera/ipa/raspberrypi_ipa_interface_h with a custom command
[14/209] Generating include/libcamera/ipa/raspberrypi_ipa_serializer_h with a custom command
[15/209] Generating include/libcamera/formats_h with a custom command
[16/209] Generating include/libcamera/gen-header with a custom command
[17/209] Generating include/libcamera/ipa/raspberrypi_proxy_h with a custom command
[18/209] Compiling C++ object src/libcamera/base/libcamera-base.so.0.3.0.p/class.cpp.o
[19/209] Compiling C++ object src/libcamera/base/libcamera-base.so.0.3.0.p/backtrace.cpp.o
[20/209] Compiling C++ object src/libcamera/base/libcamera-base.so.0.3.0.p/bound_method.cpp.o
[21/209] Compiling C++ object src/libcamera/base/libcamera-base.so.0.3.0.p/event_dispatcher.cpp.o
[22/209] Compiling C++ object src/libcamera/base/libcamera-base.so.0.3.0.p/event_notifier.cpp.o
[23/209] Compiling C++ object src/libcamera/base/libcamera-base.so.0.3.0.p/event_dispatcher_poll.cpp.o
[24/209] Compiling C++ object src/libcamera/base/libcamera-base.so.0.3.0.p/flags.cpp.o
[25/209] Compiling C++ object src/libcamera/base/libcamera-base.so.0.3.0.p/file.cpp.o
[26/209] Compiling C++ object src/libcamera/base/libcamera-base.so.0.3.0.p/message.cpp.o
[27/209] Compiling C++ object src/libcamera/base/libcamera-base.so.0.3.0.p/mutex.cpp.o
[28/209] Compiling C++ object src/libcamera/base/libcamera-base.so.0.3.0.p/log.cpp.o
[29/209] Compiling C++ object src/libcamera/base/libcamera-base.so.0.3.0.p/semaphore.cpp.o
[30/209] Compiling C++ object src/libcamera/base/libcamera-base.so.0.3.0.p/object.cpp.o
[31/209] Compiling C++ object src/libcamera/base/libcamera-base.so.0.3.0.p/shared_fd.cpp.o
[32/209] Compiling C++ object src/libcamera/base/libcamera-base.so.0.3.0.p/signal.cpp.o
[33/209] Compiling C++ object src/libcamera/base/libcamera-base.so.0.3.0.p/timer.cpp.o
[34/209] Compiling C++ object src/libcamera/base/libcamera-base.so.0.3.0.p/thread.cpp.o
[35/209] Compiling C++ object src/libcamera/base/libcamera-base.so.0.3.0.p/unique_fd.cpp.o
[36/209] Generating src/libcamera/ipa/ipu3_ipa_interface.cpp with a custom command
[37/209] Generating src/libcamera/ipa/rkisp1_ipa_interface.cpp with a custom command
[38/209] Generating src/libcamera/ipa/raspberrypi_ipa_interface.cpp with a custom command
[39/209] Generating src/libcamera/ipa/soft_ipa_interface.cpp with a custom command
[40/209] Generating src/libcamera/ipa/vimc_ipa_interface.cpp with a custom command
[41/209] Generating src/libcamera/ipa/core_ipa_interface.cpp with a custom command
[42/209] Generating src/libcamera/proxy/raspberrypi_proxy_cpp with a custom command
[43/209] Compiling C++ object src/libcamera/base/libcamera-base.so.0.3.0.p/utils.cpp.o
[44/209] Generating src/libcamera/controls_cpp with a custom command
[45/209] Linking target src/libcamera/base/libcamera-base.so.0.3.0
[46/209] Generating src/libcamera/properties_cpp with a custom command
[47/209] Generating symbol file src/libcamera/base/libcamera-base.so.0.3.0.p/libcamera-base.so.0.3.0.symbols
[48/209] Generating src/libcamera/version.cpp with a custom command
[49/209] Generating src/libcamera/ipa_pub_key_cpp with a custom command
writing RSA key
[50/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/meson-generated_.._controls_ids.cpp.o
[51/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/meson-generated_.._properties_ids.cpp.o
[52/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/meson-generated_.._version.cpp.o
[53/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/meson-generated_.._proxy_raspberrypi_ipa_proxy.cpp.o
[54/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/meson-generated_.._ipa_pub_key.cpp.o
[55/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/byte_stream_buffer.cpp.o
[56/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/bayer_format.cpp.o
[57/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/camera_controls.cpp.o
[58/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/camera_lens.cpp.o
[59/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/camera.cpp.o
[60/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/camera_manager.cpp.o
[61/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/color_space.cpp.o
[62/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/controls.cpp.o
[63/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/control_validator.cpp.o
[64/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/control_serializer.cpp.o
[65/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/converter.cpp.o
[66/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/delayed_controls.cpp.o
[67/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/device_enumerator.cpp.o
[68/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/device_enumerator_sysfs.cpp.o
[69/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/fence.cpp.o
[70/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/dma_buf_allocator.cpp.o
[71/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/framebuffer.cpp.o
[72/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/formats.cpp.o
[73/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/framebuffer_allocator.cpp.o
[74/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/ipa_controls.cpp.o
[75/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/geometry.cpp.o
[76/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/ipa_interface.cpp.o
[77/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/ipa_data_serializer.cpp.o
[78/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/ipa_manager.cpp.o
[79/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/ipa_module.cpp.o
[80/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/ipa_proxy.cpp.o
[81/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/ipc_pipe.cpp.o
[82/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/ipc_pipe_unixsocket.cpp.o
[83/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/ipc_unixsocket.cpp.o
[84/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/mapped_framebuffer.cpp.o
[85/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/media_device.cpp.o
[86/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/orientation.cpp.o
[87/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/media_object.cpp.o
[88/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/pixel_format.cpp.o
[89/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/process.cpp.o
[90/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/pipeline_handler.cpp.o
[91/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/pub_key.cpp.o
[92/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/shared_mem_object.cpp.o
[93/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/source_paths.cpp.o
[94/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/request.cpp.o
[95/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/stream.cpp.o
[96/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/sysfs.cpp.o
[97/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/transform.cpp.o
[98/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/v4l2_pixelformat.cpp.o
[99/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/v4l2_device.cpp.o
[100/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/v4l2_videodevice.cpp.o
[101/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/v4l2_subdevice.cpp.o
[102/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/yaml_parser.cpp.o
[103/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/converter_converter_v4l2_m2m.cpp.o
[104/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/pipeline_rpi_common_delayed_controls.cpp.o
[105/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/pipeline_rpi_common_rpi_stream.cpp.o
[106/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/pipeline_rpi_common_pipeline_base.cpp.o
[107/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/pipeline_rpi_vc4_vc4.cpp.o
[108/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/sensor_camera_sensor.cpp.o
[109/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/sensor_camera_sensor_properties.cpp.o
[110/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/pipeline_rpi_pisp_pisp.cpp.o
[111/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/tracepoints.cpp.o
[112/209] Generating src/libcamera/proxy/worker/raspberrypi_proxy_worker with a custom command
[113/209] Compiling C++ object src/libcamera/libcamera.so.0.3.0.p/device_enumerator_udev.cpp.o
[114/209] Linking target src/libcamera/libcamera.so.0.3.0
[115/209] Generating symbol file src/libcamera/libcamera.so.0.3.0.p/libcamera.so.0.3.0.symbols
[116/209] Compiling C++ object src/ipa/libipa/libipa.a.p/agc_mean_luminance.cpp.o
[117/209] Compiling C++ object src/libcamera/proxy/worker/raspberrypi_ipa_proxy.p/meson-generated_.._raspberrypi_ipa_proxy_worker.cpp.o
[118/209] Compiling C++ object src/ipa/libipa/libipa.a.p/algorithm.cpp.o
[119/209] Linking target src/libcamera/proxy/worker/raspberrypi_ipa_proxy
[120/209] Compiling C++ object src/ipa/libipa/libipa.a.p/exposure_mode_helper.cpp.o
[121/209] Compiling C++ object src/ipa/libipa/libipa.a.p/camera_sensor_helper.cpp.o
[122/209] Compiling C++ object src/ipa/libipa/libipa.a.p/fc_queue.cpp.o
[123/209] Compiling C++ object src/ipa/libipa/libipa.a.p/module.cpp.o
[124/209] Compiling C++ object src/ipa/libipa/libipa.a.p/histogram.cpp.o
[125/209] Compiling C++ object src/ipa/libipa/libipa.a.p/vector.cpp.o
[126/209] Compiling C++ object src/ipa/libipa/libipa.a.p/pwl.cpp.o
[127/209] Linking static target src/ipa/libipa/libipa.a
[128/209] Compiling C++ object src/ipa/rpi/cam_helper/librpi_ipa_cam_helper.a.p/cam_helper_ov5647.cpp.o
[129/209] Compiling C++ object src/ipa/rpi/cam_helper/librpi_ipa_cam_helper.a.p/cam_helper.cpp.o
[130/209] Compiling C++ object src/ipa/rpi/cam_helper/librpi_ipa_cam_helper.a.p/cam_helper_imx219.cpp.o
[131/209] Compiling C++ object src/ipa/rpi/cam_helper/librpi_ipa_cam_helper.a.p/cam_helper_imx290.cpp.o
[132/209] Compiling C++ object src/ipa/rpi/cam_helper/librpi_ipa_cam_helper.a.p/cam_helper_imx296.cpp.o
[133/209] Compiling C++ object src/ipa/rpi/cam_helper/librpi_ipa_cam_helper.a.p/cam_helper_imx477.cpp.o
[134/209] Compiling C++ object src/ipa/rpi/cam_helper/librpi_ipa_cam_helper.a.p/cam_helper_imx519.cpp.o
[135/209] Compiling C++ object src/ipa/rpi/cam_helper/librpi_ipa_cam_helper.a.p/cam_helper_imx708.cpp.o
[136/209] Compiling C++ object src/ipa/rpi/cam_helper/librpi_ipa_cam_helper.a.p/cam_helper_ov64a40.cpp.o
[137/209] Compiling C++ object src/ipa/rpi/cam_helper/librpi_ipa_cam_helper.a.p/cam_helper_ov9281.cpp.o
[138/209] Compiling C++ object src/ipa/rpi/cam_helper/librpi_ipa_cam_helper.a.p/md_parser_smia.cpp.o
[139/209] Linking static target src/ipa/rpi/cam_helper/librpi_ipa_cam_helper.a
[140/209] Compiling C++ object src/ipa/rpi/controller/librpi_ipa_controller.a.p/algorithm.cpp.o
[141/209] Compiling C++ object src/ipa/rpi/controller/librpi_ipa_controller.a.p/controller.cpp.o
[142/209] Compiling C++ object src/ipa/rpi/controller/librpi_ipa_controller.a.p/device_status.cpp.o
[143/209] Compiling C++ object src/ipa/rpi/controller/librpi_ipa_controller.a.p/histogram.cpp.o
[144/209] Compiling C++ object src/ipa/rpi/controller/librpi_ipa_controller.a.p/rpi_af.cpp.o
[145/209] Compiling C++ object src/ipa/rpi/common/librpi_ipa_common.a.p/ipa_base.cpp.o
[146/209] Linking static target src/ipa/rpi/common/librpi_ipa_common.a
[147/209] Compiling C++ object src/ipa/rpi/controller/librpi_ipa_controller.a.p/rpi_agc.cpp.o
[148/209] Compiling C++ object src/ipa/rpi/controller/librpi_ipa_controller.a.p/rpi_agc_channel.cpp.o
[149/209] Compiling C++ object src/ipa/rpi/controller/librpi_ipa_controller.a.p/rpi_alsc.cpp.o
[150/209] Compiling C++ object src/ipa/rpi/controller/librpi_ipa_controller.a.p/rpi_black_level.cpp.o
[151/209] Compiling C++ object src/ipa/rpi/controller/librpi_ipa_controller.a.p/rpi_awb.cpp.o
[152/209] Compiling C++ object src/ipa/rpi/controller/librpi_ipa_controller.a.p/rpi_cac.cpp.o
[153/209] Compiling C++ object src/ipa/rpi/controller/librpi_ipa_controller.a.p/rpi_ccm.cpp.o
[154/209] Compiling C++ object src/ipa/rpi/controller/librpi_ipa_controller.a.p/rpi_contrast.cpp.o
[155/209] Compiling C++ object src/ipa/rpi/controller/librpi_ipa_controller.a.p/rpi_denoise.cpp.o
[156/209] Compiling C++ object src/ipa/rpi/controller/librpi_ipa_controller.a.p/rpi_dpc.cpp.o
[157/209] Compiling C++ object src/ipa/rpi/controller/librpi_ipa_controller.a.p/rpi_geq.cpp.o
[158/209] Compiling C++ object src/ipa/rpi/controller/librpi_ipa_controller.a.p/rpi_lux.cpp.o
[159/209] Compiling C++ object src/ipa/rpi/controller/librpi_ipa_controller.a.p/rpi_hdr.cpp.o
[160/209] Compiling C++ object src/ipa/rpi/controller/librpi_ipa_controller.a.p/rpi_noise.cpp.o
[161/209] Compiling C++ object src/ipa/rpi/controller/librpi_ipa_controller.a.p/rpi_saturation.cpp.o
[162/209] Compiling C++ object src/ipa/rpi/controller/librpi_ipa_controller.a.p/rpi_sdn.cpp.o
[163/209] Compiling C++ object src/ipa/rpi/controller/librpi_ipa_controller.a.p/rpi_sharpen.cpp.o
[164/209] Compiling C++ object src/ipa/rpi/controller/librpi_ipa_controller.a.p/rpi_tonemap.cpp.o
[165/209] Linking static target src/ipa/rpi/controller/librpi_ipa_controller.a
[166/209] Compiling C++ object src/ipa/rpi/vc4/ipa_rpi_vc4.so.p/vc4.cpp.o
[167/209] Linking target src/ipa/rpi/vc4/ipa_rpi_vc4.so
[168/209] Generating src/ipa/rpi/vc4/ipa_rpi_vc4.so.sign with a custom command
[169/209] Compiling C++ object src/apps/common/libapps.a.p/image.cpp.o
[170/209] Compiling C++ object src/ipa/rpi/pisp/ipa_rpi_pisp.so.p/pisp.cpp.o
[171/209] Linking target src/ipa/rpi/pisp/ipa_rpi_pisp.so
[172/209] Generating src/ipa/rpi/pisp/ipa_rpi_pisp.so.sign with a custom command
[173/209] Compiling C++ object src/apps/common/libapps.a.p/ppm_writer.cpp.o
[174/209] Compiling C++ object src/apps/common/libapps.a.p/stream_options.cpp.o
[175/209] Compiling C++ object src/apps/common/libapps.a.p/options.cpp.o
[176/209] Compiling C++ object src/apps/ipa-verify/ipa_verify.p/main.cpp.o
[177/209] Linking target src/apps/ipa-verify/ipa_verify
[178/209] Compiling C++ object src/apps/common/libapps.a.p/dng_writer.cpp.o
[179/209] Linking static target src/apps/common/libapps.a
[180/209] Compiling C++ object src/gstreamer/libgstlibcamera.so.p/gstlibcamera.cpp.o
[181/209] Compiling C++ object src/gstreamer/libgstlibcamera.so.p/gstlibcamera-utils.cpp.o
[182/209] Compiling C++ object src/gstreamer/libgstlibcamera.so.p/gstlibcamerapad.cpp.o
[183/209] Compiling C++ object src/gstreamer/libgstlibcamera.so.p/gstlibcameraallocator.cpp.o
[184/209] Compiling C++ object src/gstreamer/libgstlibcamera.so.p/gstlibcamerapool.cpp.o
[185/209] Compiling C++ object src/gstreamer/libgstlibcamera.so.p/gstlibcameraprovider.cpp.o
[186/209] Generating src/py/libcamera/py_gen_controls with a custom command
FAILED: src/py/libcamera/py_controls_generated.cpp
/build/source/src/py/libcamera/gen-py-controls.py --mode controls -o src/py/libcamera/py_controls_generated.cpp -t ../src/py/libcamera/py_controls_generated.cpp.in ../src/py/libcamera/../../libcamera/control_ids_draft.yaml ../src/py/libcamera/../../libcamera/control_ids_core.yaml ../src/py/libcamera/../../libcamera/control_ids_rpi.yaml
/bin/sh: /build/source/src/py/libcamera/gen-py-controls.py: not found
[187/209] Compiling C++ object src/gstreamer/libgstlibcamera.so.p/gstlibcamerasrc.cpp.o
ninja: build stopped: subcommand failed.```
dschaub commented 1 month ago

Update: the error is because gen-py-controls.py can't find python with just the #!/usr/bin/env python3 shebang, I think. If I modify this line in meson.build to run the script with python3 directly then it works.

I'm fairly new to nix, but I'm still digging around because I know there's a way to patch shebangs...

dschaub commented 1 month ago

Got it! The update that added patching to src/py is recent and still in nixpkgs unstable: https://github.com/NixOS/nixpkgs/commit/8a45e936ac04e33133fe118fa1e3eea3cf2a5980. Whew.

SebTM commented 1 month ago

https://github.com/NixOS/nixpkgs/pull/330393

Opened a backport for the MR updating and fixing the shebang for libcamera on stable - but the overlay (https://github.com/nix-community/raspberry-pi-nix/blob/master/overlays/libcamera.nix#L25) still needs to be updated. Currently (but can be a local issue) with v0.4.0 I don't hit the binary-cache somehow.

tshakah commented 1 month ago

As a consumer of this project's flake, what would be an idiomatic way of overriding it to use the unstable libcamera (without a blanket raspberry-pi-nix.inputs.nixpkgs.follows = unstable), given the MR has been closed?

SebTM commented 1 month ago

The MR does not really matter as the project has an independent overlay which defines the version used, if @dschaub has it already fixed he can share it via MR here or I will have a look when I find some time :)

Following unstable might break a bunch of other stuff as it's not tested against unstable as far as I'm aware.

tshakah commented 4 weeks ago

I believe this can be closed with the merge of https://github.com/nix-community/raspberry-pi-nix/pull/42