ammen99 / wf-recorder

MIT License
890 stars 61 forks source link

SPA_POD_BUILDER_INIT issue #285

Open jevy opened 3 weeks ago

jevy commented 3 weeks ago

Was just compiling the latest wf-recorder against pipewire on nix. and got this issue

Running phase: unpackPhase
@nix { "action": "setPhase", "phase": "unpackPhase" }
unpacking source archive /nix/store/mlcvl0v0nwplcbff6l35y37bs7xmp838-source
source root is source
Running phase: patchPhase
@nix { "action": "setPhase", "phase": "patchPhase" }
Running phase: updateAutotoolsGnuConfigScriptsPhase
@nix { "action": "setPhase", "phase": "updateAutotoolsGnuConfigScriptsPhase" }
Running phase: configurePhase
@nix { "action": "setPhase", "phase": "configurePhase" }
mesonConfigurePhase flags: --prefix=/nix/store/j98jqs07jj525kbcdwfxbig0d1j74azf-wf-recorder-0.5.0 --libdir=/nix/store/j98jqs07jj525kbcdwfxbig0d1j74azf-wf-recorder-0.5.0/lib --libexecdir=/nix/store/j98jqs07jj525kbcdwfxbig0d1j74azf-wf-recorder-0.5.0/libexec --bindir=/nix/store/j98jqs07jj525kbcdwfxbig0d1j74azf-wf-recorder-0.5.0/bin --sbindir=/nix/store/j98jqs07jj525kbcdwfxbig0d1j74azf-wf-recorder-0.5.0/sbin --includedir=/nix/store/j98jqs07jj525kbcdwfxbig0d1j74azf-wf-recorder-0.5.0/include --mandir=/nix/store/j98jqs07jj525kbcdwfxbig0d1j74azf-wf-recorder-0.5.0/share/man --infodir=/nix/store/j98jqs07jj525kbcdwfxbig0d1j74azf-wf-recorder-0.5.0/share/info --localedir=/nix/store/j98jqs07jj525kbcdwfxbig0d1j74azf-wf-recorder-0.5.0/share/locale -Dauto_features=enabled -Dwrap_mode=nodownload --buildtype=plain
The Meson build system
Version: 1.5.2
Source dir: /build/source
Build dir: /build/source/build
Build type: native build
Project name: wf-recorder
Project version: 0.5.0
C compiler for the host machine: gcc (gcc 13.3.0 "gcc (GCC) 13.3.0")
C linker for the host machine: gcc ld.bfd 2.43.1
C++ compiler for the host machine: g++ (gcc 13.3.0 "g++ (GCC) 13.3.0")
C++ linker for the host machine: g++ ld.bfd 2.43.1
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program git found: NO
Found pkg-config: YES (/nix/store/946chn5ja4yrvnnc5izwv792cc57xpy8-pkg-config-wrapper-0.29.2/bin/pkg-config) 0.29.2
Run-time dependency wayland-client found: YES 1.23.1
Run-time dependency wayland-protocols found: YES 1.38
Run-time dependency libpulse-simple found: YES 17.0
Run-time dependency libpipewire-0.3 found: YES 1.2.5
Message: Using default audio backend: auto
Run-time dependency libavutil found: YES 59.39.100
Run-time dependency libavcodec found: YES 61.19.100
Run-time dependency libavformat found: YES 61.7.100
Run-time dependency libavdevice found: YES 61.3.100
Run-time dependency libavfilter found: YES 10.4.100
Run-time dependency libswresample found: YES 5.3.100
Run-time dependency threads found: YES
Run-time dependency gbm found: YES 24.2.5
Run-time dependency libdrm found: YES 2.4.123
Configuring config.h using configuration
Program wayland-scanner found: YES (/nix/store/ww53l1gfyxka2n94wllv9kfm0g9m87a4-wayland-scanner-1.23.1-bin/bin/wayland-scanner)
Message: 
----------------
wf-recorder 0.5.0
----------------
Default audio backend: pulse
  - pulse: true
  - pipewire: true
Build targets in project: 2

wf-recorder 0.5.0

  User defined options
    auto_features: enabled
    bindir       : /nix/store/j98jqs07jj525kbcdwfxbig0d1j74azf-wf-recorder-0.5.0/bin
    buildtype    : plain
    includedir   : /nix/store/j98jqs07jj525kbcdwfxbig0d1j74azf-wf-recorder-0.5.0/include
    infodir      : /nix/store/j98jqs07jj525kbcdwfxbig0d1j74azf-wf-recorder-0.5.0/share/info
    libdir       : /nix/store/j98jqs07jj525kbcdwfxbig0d1j74azf-wf-recorder-0.5.0/lib
    libexecdir   : /nix/store/j98jqs07jj525kbcdwfxbig0d1j74azf-wf-recorder-0.5.0/libexec
    localedir    : /nix/store/j98jqs07jj525kbcdwfxbig0d1j74azf-wf-recorder-0.5.0/share/locale
    mandir       : /nix/store/j98jqs07jj525kbcdwfxbig0d1j74azf-wf-recorder-0.5.0/share/man
    prefix       : /nix/store/j98jqs07jj525kbcdwfxbig0d1j74azf-wf-recorder-0.5.0
    sbindir      : /nix/store/j98jqs07jj525kbcdwfxbig0d1j74azf-wf-recorder-0.5.0/sbin
    wrap_mode    : nodownload

Found ninja-1.12.1 at /nix/store/m5d2zsm9252fdr825lahyqxpn2av8136-ninja-1.12.1/bin/ninja
mesonConfigurePhase: enabled\ parallel\ building
Running phase: buildPhase
@nix { "action": "setPhase", "phase": "buildPhase" }
build flags: -j16
[1/20] Generating 'proto/libwl_protos.a.p/xdg-output-unstable-v1-protocol.c'
[2/20] Generating 'proto/libwl_protos.a.p/wlr-screencopy-unstable-v1-protocol.c'
[3/20] Generating 'proto/libwl_protos.a.p/xdg-output-unstable-v1-client-protocol.h'
[4/20] Generating 'proto/libwl_protos.a.p/linux-dmabuf-unstable-v1-protocol.c'
[5/20] Generating 'proto/libwl_protos.a.p/wlr-screencopy-unstable-v1-client-protocol.h'
[6/20] Generating 'wf-recorder.p/xdg-output-unstable-v1-client-protocol.h'
[7/20] Generating 'proto/libwl_protos.a.p/linux-dmabuf-unstable-v1-client-protocol.h'
[8/20] Generating 'wf-recorder.p/linux-dmabuf-unstable-v1-client-protocol.h'
[9/20] Generating 'wf-recorder.p/wlr-screencopy-unstable-v1-client-protocol.h'
[10/20] Compiling C object wf-recorder.p/src_averr.c.o
[11/20] Compiling C object proto/libwl_protos.a.p/meson-generated_wlr-screencopy-unstable-v1-protocol.c.o
[12/20] Compiling C object proto/libwl_protos.a.p/meson-generated_xdg-output-unstable-v1-protocol.c.o
[13/20] Compiling C object proto/libwl_protos.a.p/meson-generated_linux-dmabuf-unstable-v1-protocol.c.o
[14/20] Linking static target proto/libwl_protos.a
[15/20] Compiling C++ object wf-recorder.p/src_audio.cpp.o
[16/20] Compiling C++ object wf-recorder.p/src_pulse.cpp.o
[17/20] Compiling C++ object wf-recorder.p/src_frame-writer.cpp.o
FAILED: wf-recorder.p/src_frame-writer.cpp.o 
g++ -Iwf-recorder.p -I. -I.. -I/nix/store/3336f1n8bj16f9pypnxmkjang2w8vcah-wayland-1.23.1-dev/include -I/nix/store/h0j33vqdmai1jvzlb89ilnkf5vqzn0zn-ffmpeg-7.1-dev/include -I/nix/store/jblzyd8dzz5vwmw6z3p6bzkxxkwffayf-mesa-24.2.5-dev/include -I/nix/store/lp2mk0k2qx41y2hln8vdbi003i434vr3-libdrm-2.4.123-dev/include -I/nix/store/lp2mk0k2qx41y2hln8vdbi003i434vr3-libdrm-2.4.123-dev/include/libdrm -I/nix/store/ipjdmzq8w2vc36lysgsg20f59jdbv673-libpulseaudio-17.0-dev/include -I/nix/store/n4865ip986ymcsiwblm5ff89ybln9nw1-pipewire-1.2.5-dev/include/pipewire-0.3 -I/nix/store/n4865ip986ymcsiwblm5ff89ybln9nw1-pipewire-1.2.5-dev/include/spa-0.2 -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=c++17 '-DWFRECORDER_VERSION="0.5.0"' -Wno-deprecated-declarations -D_REENTRANT -pthread -MD -MQ wf-recorder.p/src_frame-writer.cpp.o -MF wf-recorder.p/src_frame-writer.cpp.o.d -o wf-recorder.p/src_frame-writer.cpp.o -c ../src/frame-writer.cpp
../src/frame-writer.cpp: In member function 'void FrameWriter::init_video_filters(const AVCodec*)':
../src/frame-writer.cpp:374:53: error: 'AVFilterLink' {aka 'struct AVFilterLink'} has no member named 'frame_rate'
  374 |     this->videoCodecCtx->framerate = filter_output->frame_rate; // can be 1/0 if unknown
      |                                                     ^~~~~~~~~~
[18/20] Compiling C++ object wf-recorder.p/src_pipewire.cpp.o
In file included from /nix/store/n4865ip986ymcsiwblm5ff89ybln9nw1-pipewire-1.2.5-dev/include/spa-0.2/spa/param/audio/format-utils.h:12,
                 from ../src/pipewire.cpp:4:
/nix/store/n4865ip986ymcsiwblm5ff89ybln9nw1-pipewire-1.2.5-dev/include/spa-0.2/spa/pod/parser.h: In function 'void spa_pod_parser_init(spa_pod_parser*, const void*, uint32_t)':
/nix/store/n4865ip986ymcsiwblm5ff89ybln9nw1-pipewire-1.2.5-dev/include/spa-0.2/spa/pod/parser.h:36:94: warning: missing initializer for member 'spa_pod_parser_state::flags' [-Wmissing-field-initializers]
   36 | #define SPA_POD_PARSER_INIT(buffer,size)  ((struct spa_pod_parser){ (buffer), (size), 0, {0} })
      |                                                                                              ^
/nix/store/n4865ip986ymcsiwblm5ff89ybln9nw1-pipewire-1.2.5-dev/include/spa-0.2/spa/pod/parser.h:41:19: note: in expansion of macro 'SPA_POD_PARSER_INIT'
   41 |         *parser = SPA_POD_PARSER_INIT(data, size);
      |                   ^~~~~~~~~~~~~~~~~~~
/nix/store/n4865ip986ymcsiwblm5ff89ybln9nw1-pipewire-1.2.5-dev/include/spa-0.2/spa/pod/parser.h:36:94: warning: missing initializer for member 'spa_pod_parser_state::frame' [-Wmissing-field-initializers]
   36 | #define SPA_POD_PARSER_INIT(buffer,size)  ((struct spa_pod_parser){ (buffer), (size), 0, {0} })
      |                                                                                              ^
/nix/store/n4865ip986ymcsiwblm5ff89ybln9nw1-pipewire-1.2.5-dev/include/spa-0.2/spa/pod/parser.h:41:19: note: in expansion of macro 'SPA_POD_PARSER_INIT'
   41 |         *parser = SPA_POD_PARSER_INIT(data, size);
      |                   ^~~~~~~~~~~~~~~~~~~
In file included from /nix/store/n4865ip986ymcsiwblm5ff89ybln9nw1-pipewire-1.2.5-dev/include/spa-0.2/spa/param/audio/format-utils.h:13:
/nix/store/n4865ip986ymcsiwblm5ff89ybln9nw1-pipewire-1.2.5-dev/include/spa-0.2/spa/pod/builder.h: In function 'void spa_pod_builder_init(spa_pod_builder*, void*, uint32_t)':
/nix/store/n4865ip986ymcsiwblm5ff89ybln9nw1-pipewire-1.2.5-dev/include/spa-0.2/spa/pod/builder.h:52:101: warning: missing initializer for member 'spa_pod_builder_state::flags' [-Wmissing-field-initializers]
   52 | #define SPA_POD_BUILDER_INIT(buffer,size)  ((struct spa_pod_builder){ (buffer), (size), 0, {0}, {0} })
      |                                                                                                     ^
/nix/store/n4865ip986ymcsiwblm5ff89ybln9nw1-pipewire-1.2.5-dev/include/spa-0.2/spa/pod/builder.h:79:20: note: in expansion of macro 'SPA_POD_BUILDER_INIT'
   79 |         *builder = SPA_POD_BUILDER_INIT(data, size);
      |                    ^~~~~~~~~~~~~~~~~~~~
/nix/store/n4865ip986ymcsiwblm5ff89ybln9nw1-pipewire-1.2.5-dev/include/spa-0.2/spa/pod/builder.h:52:101: warning: missing initializer for member 'spa_pod_builder_state::frame' [-Wmissing-field-initializers]
   52 | #define SPA_POD_BUILDER_INIT(buffer,size)  ((struct spa_pod_builder){ (buffer), (size), 0, {0}, {0} })
      |                                                                                                     ^
/nix/store/n4865ip986ymcsiwblm5ff89ybln9nw1-pipewire-1.2.5-dev/include/spa-0.2/spa/pod/builder.h:79:20: note: in expansion of macro 'SPA_POD_BUILDER_INIT'
   79 |         *builder = SPA_POD_BUILDER_INIT(data, size);
      |                    ^~~~~~~~~~~~~~~~~~~~
/nix/store/n4865ip986ymcsiwblm5ff89ybln9nw1-pipewire-1.2.5-dev/include/spa-0.2/spa/pod/builder.h:52:101: warning: missing initializer for member 'spa_callbacks::data' [-Wmissing-field-initializers]
   52 | #define SPA_POD_BUILDER_INIT(buffer,size)  ((struct spa_pod_builder){ (buffer), (size), 0, {0}, {0} })
      |                                                                                                     ^
/nix/store/n4865ip986ymcsiwblm5ff89ybln9nw1-pipewire-1.2.5-dev/include/spa-0.2/spa/pod/builder.h:79:20: note: in expansion of macro 'SPA_POD_BUILDER_INIT'
   79 |         *builder = SPA_POD_BUILDER_INIT(data, size);
      |                    ^~~~~~~~~~~~~~~~~~~~
../src/pipewire.cpp: In member function 'virtual void PipeWireReader::start()':
/nix/store/n4865ip986ymcsiwblm5ff89ybln9nw1-pipewire-1.2.5-dev/include/spa-0.2/spa/pod/builder.h:52:101: warning: missing initializer for member 'spa_pod_builder_state::flags' [-Wmissing-field-initializers]
   52 | #define SPA_POD_BUILDER_INIT(buffer,size)  ((struct spa_pod_builder){ (buffer), (size), 0, {0}, {0} })
      |                                                                                                     ^
../src/pipewire.cpp:191:32: note: in expansion of macro 'SPA_POD_BUILDER_INIT'
  191 |     struct spa_pod_builder b = SPA_POD_BUILDER_INIT(buffer, sizeof(buffer));
      |                                ^~~~~~~~~~~~~~~~~~~~
/nix/store/n4865ip986ymcsiwblm5ff89ybln9nw1-pipewire-1.2.5-dev/include/spa-0.2/spa/pod/builder.h:52:101: warning: missing initializer for member 'spa_pod_builder_state::frame' [-Wmissing-field-initializers]
   52 | #define SPA_POD_BUILDER_INIT(buffer,size)  ((struct spa_pod_builder){ (buffer), (size), 0, {0}, {0} })
      |                                                                                                     ^
../src/pipewire.cpp:191:32: note: in expansion of macro 'SPA_POD_BUILDER_INIT'
  191 |     struct spa_pod_builder b = SPA_POD_BUILDER_INIT(buffer, sizeof(buffer));
      |                                ^~~~~~~~~~~~~~~~~~~~
/nix/store/n4865ip986ymcsiwblm5ff89ybln9nw1-pipewire-1.2.5-dev/include/spa-0.2/spa/pod/builder.h:52:101: warning: missing initializer for member 'spa_callbacks::data' [-Wmissing-field-initializers]
   52 | #define SPA_POD_BUILDER_INIT(buffer,size)  ((struct spa_pod_builder){ (buffer), (size), 0, {0}, {0} })
      |                                                                                                     ^
../src/pipewire.cpp:191:32: note: in expansion of macro 'SPA_POD_BUILDER_INIT'
  191 |     struct spa_pod_builder b = SPA_POD_BUILDER_INIT(buffer, sizeof(buffer));
      |                                ^~~~~~~~~~~~~~~~~~~~
[19/20] Compiling C++ object wf-recorder.p/src_main.cpp.o
ninja: build stopped: subcommand failed.
soreau commented 3 weeks ago

It looks like you need latest wf-recorder with this commit. The rest of the output are warnings related to pipewire. You can disable pipewire with -Dpipewire=disabled if you would like.