mpv-player / mpv-build

🔨 Helper scripts to compile mpv on Linux
http://mpv.io
403 stars 104 forks source link

Can't build with meson #207

Closed hrzhu closed 1 year ago

hrzhu commented 1 year ago

I got a warning saying building mpv with waf is deprecated so I tried to build with meson. This is the command I use to build mpv CFLAGS="-march=native -O2" CXXFLAGS="-march=native -O2" BUILDSYSTEM=meson ./rebuild -j16 I need to install some additional dependencies like nettle-dev, liblz4-dev, libzstd-dev and libacl1-dev which I don't need when building with waf. The build still failed.

FAILED: mpv 
cc  -o mpv mpv.p/audio_aframe.c.o mpv.p/audio_chmap.c.o mpv.p/audio_chmap_sel.c.o mpv.p/audio_decode_ad_lavc.c.o mpv.p/audio_decode_ad_spdif.c.o mpv.p/audio_filter_af_drop.c.o mpv.p/audio_filter_af_format.c.o mpv.p/audio_filter_af_lavcac3enc.c.o mpv.p/audio_filter_af_scaletempo.c.o mpv.p/audio_filter_af_scaletempo2.c.o mpv.p/audio_filter_af_scaletempo2_internals.c.o mpv.p/audio_fmt-conversion.c.o mpv.p/audio_format.c.o mpv.p/audio_out_ao.c.o mpv.p/audio_out_ao_lavc.c.o mpv.p/audio_out_ao_null.c.o mpv.p/audio_out_ao_pcm.c.o mpv.p/audio_out_buffer.c.o mpv.p/common_av_common.c.o mpv.p/common_av_log.c.o mpv.p/common_codecs.c.o mpv.p/common_common.c.o mpv.p/common_encode_lavc.c.o mpv.p/common_msg.c.o mpv.p/common_playlist.c.o mpv.p/common_recorder.c.o mpv.p/common_stats.c.o mpv.p/common_tags.c.o mpv.p/common_version.c.o mpv.p/demux_codec_tags.c.o mpv.p/demux_cue.c.o mpv.p/demux_cache.c.o mpv.p/demux_demux.c.o mpv.p/demux_demux_cue.c.o mpv.p/demux_demux_disc.c.o mpv.p/demux_demux_edl.c.o mpv.p/demux_demux_lavf.c.o mpv.p/demux_demux_mf.c.o mpv.p/demux_demux_mkv.c.o mpv.p/demux_demux_mkv_timeline.c.o mpv.p/demux_demux_null.c.o mpv.p/demux_demux_playlist.c.o mpv.p/demux_demux_raw.c.o mpv.p/demux_demux_timeline.c.o mpv.p/demux_ebml.c.o mpv.p/demux_packet.c.o mpv.p/demux_timeline.c.o mpv.p/filters_f_async_queue.c.o mpv.p/filters_f_autoconvert.c.o mpv.p/filters_f_auto_filters.c.o mpv.p/filters_f_decoder_wrapper.c.o mpv.p/filters_f_demux_in.c.o mpv.p/filters_f_hwtransfer.c.o mpv.p/filters_f_lavfi.c.o mpv.p/filters_f_output_chain.c.o mpv.p/filters_f_swresample.c.o mpv.p/filters_f_swscale.c.o mpv.p/filters_f_utils.c.o mpv.p/filters_filter.c.o mpv.p/filters_frame.c.o mpv.p/filters_user_filters.c.o mpv.p/input_cmd.c.o mpv.p/input_event.c.o mpv.p/input_input.c.o mpv.p/input_ipc.c.o mpv.p/input_keycodes.c.o mpv.p/misc_bstr.c.o mpv.p/misc_charset_conv.c.o mpv.p/misc_dispatch.c.o mpv.p/misc_json.c.o mpv.p/misc_natural_sort.c.o mpv.p/misc_node.c.o mpv.p/misc_random.c.o mpv.p/misc_rendezvous.c.o mpv.p/misc_thread_pool.c.o mpv.p/misc_thread_tools.c.o mpv.p/options_m_config_core.c.o mpv.p/options_m_config_frontend.c.o mpv.p/options_m_option.c.o mpv.p/options_m_property.c.o mpv.p/options_options.c.o mpv.p/options_parse_commandline.c.o mpv.p/options_parse_configfile.c.o mpv.p/options_path.c.o mpv.p/player_audio.c.o mpv.p/player_client.c.o mpv.p/player_command.c.o mpv.p/player_configfiles.c.o mpv.p/player_external_files.c.o mpv.p/player_loadfile.c.o mpv.p/player_main.c.o mpv.p/player_misc.c.o mpv.p/player_osd.c.o mpv.p/player_playloop.c.o mpv.p/player_screenshot.c.o mpv.p/player_scripting.c.o mpv.p/player_sub.c.o mpv.p/player_video.c.o mpv.p/stream_cookies.c.o mpv.p/stream_stream.c.o mpv.p/stream_stream_avdevice.c.o mpv.p/stream_stream_cb.c.o mpv.p/stream_stream_concat.c.o mpv.p/stream_stream_edl.c.o mpv.p/stream_stream_file.c.o mpv.p/stream_stream_lavf.c.o mpv.p/stream_stream_memory.c.o mpv.p/stream_stream_mf.c.o mpv.p/stream_stream_null.c.o mpv.p/stream_stream_slice.c.o mpv.p/sub_ass_mp.c.o mpv.p/sub_dec_sub.c.o mpv.p/sub_draw_bmp.c.o mpv.p/sub_filter_sdh.c.o mpv.p/sub_img_convert.c.o mpv.p/sub_lavc_conv.c.o mpv.p/sub_osd.c.o mpv.p/sub_osd_libass.c.o mpv.p/sub_sd_ass.c.o mpv.p/sub_sd_lavc.c.o mpv.p/video_csputils.c.o mpv.p/video_decode_vd_lavc.c.o mpv.p/video_filter_refqueue.c.o mpv.p/video_filter_vf_format.c.o mpv.p/video_filter_vf_sub.c.o mpv.p/video_fmt-conversion.c.o mpv.p/video_hwdec.c.o mpv.p/video_image_loader.c.o mpv.p/video_image_writer.c.o mpv.p/video_img_format.c.o mpv.p/video_mp_image.c.o mpv.p/video_mp_image_pool.c.o mpv.p/video_out_aspect.c.o mpv.p/video_out_bitmap_packer.c.o mpv.p/video_out_dither.c.o mpv.p/video_out_dr_helper.c.o mpv.p/video_out_filter_kernels.c.o mpv.p/video_out_gpu_context.c.o mpv.p/video_out_gpu_error_diffusion.c.o mpv.p/video_out_gpu_hwdec.c.o mpv.p/video_out_gpu_lcms.c.o mpv.p/video_out_gpu_libmpv_gpu.c.o mpv.p/video_out_gpu_osd.c.o mpv.p/video_out_gpu_ra.c.o mpv.p/video_out_gpu_shader_cache.c.o mpv.p/video_out_gpu_spirv.c.o mpv.p/video_out_gpu_user_shaders.c.o mpv.p/video_out_gpu_utils.c.o mpv.p/video_out_gpu_video.c.o mpv.p/video_out_gpu_video_shaders.c.o mpv.p/video_out_libmpv_sw.c.o mpv.p/video_out_vo.c.o mpv.p/video_out_vo_gpu.c.o mpv.p/video_out_vo_image.c.o mpv.p/video_out_vo_lavc.c.o mpv.p/video_out_vo_libmpv.c.o mpv.p/video_out_vo_null.c.o mpv.p/video_out_vo_tct.c.o mpv.p/video_out_vo_kitty.c.o mpv.p/video_out_win_state.c.o mpv.p/video_repack.c.o mpv.p/video_sws_utils.c.o mpv.p/osdep_io.c.o mpv.p/osdep_semaphore_osx.c.o mpv.p/osdep_subprocess.c.o mpv.p/osdep_threads.c.o mpv.p/osdep_timer.c.o mpv.p/ta_ta.c.o mpv.p/ta_ta_talloc.c.o mpv.p/ta_ta_utils.c.o mpv.p/input_ipc-unix.c.o mpv.p/osdep_path-unix.c.o mpv.p/osdep_polldev.c.o mpv.p/osdep_subprocess-posix.c.o mpv.p/osdep_terminal-unix.c.o mpv.p/sub_filter_regex.c.o mpv.p/osdep_main-fn-unix.c.o mpv.p/osdep_timer-linux.c.o mpv.p/audio_chmap_avchannel.c.o mpv.p/demux_demux_libarchive.c.o mpv.p/stream_stream_libarchive.c.o mpv.p/player_lua.c.o mpv.p/video_filter_vf_fingerprint.c.o mpv.p/video_zimg.c.o mpv.p/audio_out_ao_alsa.c.o mpv.p/audio_out_ao_jack.c.o mpv.p/audio_out_ao_pulse.c.o mpv.p/audio_out_ao_sndio.c.o mpv.p/video_drmprime.c.o mpv.p/video_out_drm_atomic.c.o mpv.p/video_out_drm_common.c.o mpv.p/video_out_drm_prime.c.o mpv.p/video_out_hwdec_hwdec_drmprime.c.o mpv.p/video_out_hwdec_hwdec_drmprime_overlay.c.o mpv.p/video_out_vo_drm.c.o mpv.p/video_out_placebo_ra_pl.c.o mpv.p/video_out_placebo_utils.c.o mpv.p/video_out_vo_gpu_next.c.o mpv.p/video_out_gpu_next_context.c.o mpv.p/video_out_wayland_common.c.o mpv.p/video_out_vo_wlshm.c.o mpv.p/video_out_vo_x11.c.o mpv.p/video_out_x11_common.c.o mpv.p/video_out_vo_xv.c.o mpv.p/video_out_present_sync.c.o mpv.p/video_out_opengl_context_drm_egl.c.o mpv.p/video_out_opengl_context_wayland.c.o mpv.p/video_out_opengl_context_x11egl.c.o mpv.p/video_out_opengl_egl_helpers.c.o mpv.p/video_filter_vf_gpu.c.o mpv.p/video_out_opengl_common.c.o mpv.p/video_out_opengl_context.c.o mpv.p/video_out_opengl_formats.c.o mpv.p/video_out_opengl_libmpv_gl.c.o mpv.p/video_out_opengl_ra_gl.c.o mpv.p/video_out_opengl_utils.c.o mpv.p/video_out_vulkan_context.c.o mpv.p/video_out_vulkan_context_display.c.o mpv.p/video_out_vulkan_utils.c.o mpv.p/video_out_vulkan_context_wayland.c.o mpv.p/video_out_vulkan_context_xlib.c.o mpv.p/video_filter_vf_vavpp.c.o mpv.p/video_vaapi.c.o mpv.p/video_out_vo_vaapi.c.o mpv.p/video_out_hwdec_hwdec_vaapi.c.o mpv.p/video_out_hwdec_dmabuf_interop_gl.c.o mpv.p/video_out_hwdec_dmabuf_interop_pl.c.o mpv.p/video_out_vo_dmabuf_wayland.c.o mpv.p/video_out_hwdec_dmabuf_interop_wl.c.o mpv.p/video_out_wldmabuf_context_wldmabuf.c.o mpv.p/video_out_wldmabuf_ra_wldmabuf.c.o mpv.p/video_out_wlbuf_pool.c.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -Wl,-z,noexecstack -rdynamic -march=native -O2 -Wl,--start-group generated/wayland/libprotocols.a /home/h/src/mpv-build/build_libs/lib/libass.a -lm /usr/lib/x86_64-linux-gnu/libfontconfig.a /usr/lib/x86_64-linux-gnu/libuuid.a /usr/lib/x86_64-linux-gnu/libexpat.a /usr/lib/x86_64-linux-gnu/libharfbuzz.a /usr/lib/x86_64-linux-gnu/libglib-2.0.a -pthread /usr/lib/x86_64-linux-gnu/libpcre.a /usr/lib/x86_64-linux-gnu/libfribidi.a /usr/lib/x86_64-linux-gnu/libfreetype.a /usr/lib/x86_64-linux-gnu/libpng16.a /usr/lib/x86_64-linux-gnu/libz.a /usr/lib/x86_64-linux-gnu/libbrotlidec.a /usr/lib/x86_64-linux-gnu/libbrotlicommon.a -L/home/h/src/mpv-build/build_libs/lib -lgraphite2 /home/h/src/mpv-build/build_libs/lib/libavcodec.a /usr/lib/gcc/x86_64-linux-gnu/11/libatomic.a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/liblzma.a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libz.a /home/h/src/mpv-build/build_libs/lib/libswresample.a /home/h/src/mpv-build/build_libs/lib/libavutil.a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libX11.a -L/home/h/src/mpv-build/build_libs/lib -ldav1d -lva -lva-drm -lva-x11 /home/h/src/mpv-build/build_libs/lib/libavfilter.a /home/h/src/mpv-build/build_libs/lib/libswscale.a /home/h/src/mpv-build/build_libs/lib/libpostproc.a /home/h/src/mpv-build/build_libs/lib/libavformat.a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libbz2.a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libssl.a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libcrypto.a -L/home/h/src/mpv-build/build_libs/lib -lva -ldav1d -lva-drm -lva-x11 -L/home/h/src/mpv-build/build_libs/lib -ldav1d -lva -lva-drm -lva-x11 -L/home/h/src/mpv-build/build_libs/lib -lva-drm -lva -lva-x11 -L/home/h/src/mpv-build/build_libs/lib -lva-drm -lva -lva-x11 -L/home/h/src/mpv-build/build_libs/lib -lva-drm -lva -lva-x11 -ldl -lpthread -llcms2 /usr/lib/x86_64-linux-gnu/libarchive.a /usr/lib/x86_64-linux-gnu/libnettle.a /usr/lib/x86_64-linux-gnu/libacl.a /usr/lib/x86_64-linux-gnu/liblzma.a /usr/lib/x86_64-linux-gnu/libzstd.a /usr/lib/x86_64-linux-gnu/liblz4.a /usr/lib/x86_64-linux-gnu/libbz2.a /usr/lib/x86_64-linux-gnu/libxml2.a /home/h/src/mpv-build/build_libs/lib/libavdevice.a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libxcb.a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libxcb-shm.a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libXv.a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libXext.a -L/home/h/src/mpv-build/build_libs/lib -lasound -lsndio -lva -ldav1d -lva-drm -lva-x11 -lrt /usr/lib/x86_64-linux-gnu/libluajit-5.1.a -Wl,-E /usr/lib/x86_64-linux-gnu/libuchardet.a /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a /usr/lib/x86_64-linux-gnu/libzimg.a -lasound -ljack -L/usr/lib/x86_64-linux-gnu/pulseaudio -lpulse -lpulsecommon-15.99 -lsndio /usr/lib/x86_64-linux-gnu/libdrm.a -lgbm /usr/lib/x86_64-linux-gnu/libjpeg.a /home/h/src/mpv-build/build_libs/lib/libplacebo.a /usr/lib/x86_64-linux-gnu/libglslang.a /usr/lib/x86_64-linux-gnu/libMachineIndependent.a /usr/lib/x86_64-linux-gnu/libOSDependent.a /usr/lib/x86_64-linux-gnu/libHLSL.a /usr/lib/x86_64-linux-gnu/libOGLCompiler.a /usr/lib/x86_64-linux-gnu/libGenericCodeGen.a /usr/lib/x86_64-linux-gnu/libSPVRemapper.a /usr/lib/x86_64-linux-gnu/libSPIRV.a /usr/lib/x86_64-linux-gnu/libSPIRV-Tools-opt.a /usr/lib/x86_64-linux-gnu/libSPIRV-Tools.a /usr/lib/x86_64-linux-gnu/libglslang-default-resource-limits.a /usr/lib/gcc/x86_64-linux-gnu/11/libgcc.a -lc -L/home/h/src/mpv-build/build_libs/lib -lvulkan -lgcc_s -llcms2 /usr/lib/x86_64-linux-gnu/libffi.a -lwayland-client -lwayland-cursor -lwayland-client -lxkbcommon /usr/lib/x86_64-linux-gnu/libX11.a /usr/lib/x86_64-linux-gnu/libxcb.a /usr/lib/x86_64-linux-gnu/libXau.a /usr/lib/x86_64-linux-gnu/libXdmcp.a /usr/lib/x86_64-linux-gnu/libXss.a /usr/lib/x86_64-linux-gnu/libXext.a /usr/lib/x86_64-linux-gnu/libXinerama.a /usr/lib/x86_64-linux-gnu/libXpresent.a /usr/lib/x86_64-linux-gnu/libXfixes.a /usr/lib/x86_64-linux-gnu/libXrandr.a /usr/lib/x86_64-linux-gnu/libXrender.a /usr/lib/x86_64-linux-gnu/libXv.a -lEGL -lwayland-egl -lwayland-client -lvulkan -lgcc_s -lva -lva-drm -lva -lva-wayland -lva -lwayland-client -lva-x11 -lva -lwayland-client -Wl,--end-group
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandvideo.o): in function `Wayland_VideoQuit':
(.text+0x1597): undefined reference to `libdecor_unref'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandvideo.o): in function `Wayland_LoadLibdecor':
(.text+0x1d46): undefined reference to `libdecor_new'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `CommitLibdecorFrame.isra.0':
(.text+0x5ad): undefined reference to `libdecor_state_new'
/usr/bin/ld: (.text+0x5be): undefined reference to `libdecor_frame_commit'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `SetMinMaxDimensions':
(.text+0x19aa): undefined reference to `libdecor_frame_set_min_content_size'
/usr/bin/ld: (.text+0x19b9): undefined reference to `libdecor_frame_set_max_content_size'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `decoration_frame_configure':
(.text+0x1f75): undefined reference to `libdecor_configuration_get_window_state'
/usr/bin/ld: (.text+0x2014): undefined reference to `libdecor_configuration_get_content_size'
/usr/bin/ld: (.text+0x2147): undefined reference to `libdecor_state_new'
/usr/bin/ld: (.text+0x2158): undefined reference to `libdecor_frame_commit'
/usr/bin/ld: (.text+0x2160): undefined reference to `libdecor_state_free'
/usr/bin/ld: (.text+0x2196): undefined reference to `libdecor_frame_set_capabilities'
/usr/bin/ld: (.text+0x2261): undefined reference to `libdecor_frame_unset_capabilities'
/usr/bin/ld: (.text+0x22e1): undefined reference to `libdecor_configuration_get_content_size'
/usr/bin/ld: (.text+0x2311): undefined reference to `libdecor_configuration_get_content_size'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_GetWindowWMInfo':
(.text+0x244b): undefined reference to `libdecor_frame_get_xdg_surface'
/usr/bin/ld: (.text+0x2465): undefined reference to `libdecor_frame_get_xdg_toplevel'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_SetWindowModalFor':
(.text+0x2507): undefined reference to `libdecor_frame_set_parent'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_HideWindow':
(.text+0x26ec): undefined reference to `libdecor_frame_set_visibility'
/usr/bin/ld: (.text+0x26fc): undefined reference to `libdecor_frame_set_app_id'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_SetWindowFullscreen':
(.text+0x28f2): undefined reference to `libdecor_frame_set_fullscreen'
/usr/bin/ld: (.text+0x2906): undefined reference to `libdecor_frame_set_capabilities'
/usr/bin/ld: (.text+0x2931): undefined reference to `libdecor_frame_unset_fullscreen'
/usr/bin/ld: (.text+0x2945): undefined reference to `libdecor_frame_unset_capabilities'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_RestoreWindow':
(.text+0x2a01): undefined reference to `libdecor_frame_unset_maximized'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_MaximizeWindow':
(.text+0x2baa): undefined reference to `libdecor_frame_set_maximized'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_MinimizeWindow':
(.text+0x2c41): undefined reference to `libdecor_frame_set_minimized'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_SetWindowSize':
(.text+0x2d94): undefined reference to `libdecor_frame_is_floating'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_SetWindowTitle':
(.text+0x2ea4): undefined reference to `libdecor_frame_set_title'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_ShowWindow':
(.text+0x31d3): undefined reference to `libdecor_frame_set_visibility'
/usr/bin/ld: (.text+0x31e3): undefined reference to `libdecor_frame_set_app_id'
/usr/bin/ld: (.text+0x33fb): undefined reference to `libdecor_decorate'
/usr/bin/ld: (.text+0x3413): undefined reference to `libdecor_frame_set_app_id'
/usr/bin/ld: (.text+0x341c): undefined reference to `libdecor_frame_map'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `CommitLibdecorFrame.isra.0':
(.text+0x5cc): undefined reference to `libdecor_state_free'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_SetWindowBordered':
(.text+0x2ab2): undefined reference to `libdecor_frame_set_visibility'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_SetWindowResizable':
(.text+0x2af7): undefined reference to `libdecor_frame_set_capabilities'
/usr/bin/ld: (.text+0x2b11): undefined reference to `libdecor_frame_unset_capabilities'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_audio.o): in function `SDL_AudioInit_REAL':
(.text+0x1f74): undefined reference to `src_new'
/usr/bin/ld: (.text+0x1f8c): undefined reference to `src_process'
/usr/bin/ld: (.text+0x1f9a): undefined reference to `src_reset'
/usr/bin/ld: (.text+0x1fa8): undefined reference to `src_delete'
/usr/bin/ld: (.text+0x1fb6): undefined reference to `src_strerror'
/usr/bin/ld: (.text+0x1fc4): undefined reference to `src_simple'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_x11dyn.o): in function `SDL_X11_LoadSymbols':
(.text+0x10c4): undefined reference to `XIBarrierReleasePointer'
/usr/bin/ld: (.text+0x12ac): undefined reference to `XcursorImageCreate'
/usr/bin/ld: (.text+0x12c4): undefined reference to `XcursorImageDestroy'
/usr/bin/ld: (.text+0x12dc): undefined reference to `XcursorImageLoadCursor'
/usr/bin/ld: (.text+0x1368): undefined reference to `XIQueryDevice'
/usr/bin/ld: (.text+0x1376): undefined reference to `XIFreeDeviceInfo'
/usr/bin/ld: (.text+0x1384): undefined reference to `XISelectEvents'
/usr/bin/ld: (.text+0x1392): undefined reference to `XIGrabTouchBegin'
/usr/bin/ld: (.text+0x13aa): undefined reference to `XIUngrabTouchBegin'
/usr/bin/ld: (.text+0x13b8): undefined reference to `XIQueryVersion'
/usr/bin/ld: (.text+0x13c6): undefined reference to `XIGetSelectedEvents'
/usr/bin/ld: (.text+0x13d4): undefined reference to `XIGetClientPointer'
/usr/bin/ld: (.text+0x13e2): undefined reference to `XIWarpPointer'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylanddyn.o): in function `SDL_WAYLAND_LoadSymbols':
(.text+0xaa0): undefined reference to `libdecor_unref'
/usr/bin/ld: (.text+0xaae): undefined reference to `libdecor_new'
/usr/bin/ld: (.text+0xabc): undefined reference to `libdecor_decorate'
/usr/bin/ld: (.text+0xaca): undefined reference to `libdecor_frame_unref'
/usr/bin/ld: (.text+0xad8): undefined reference to `libdecor_frame_set_title'
/usr/bin/ld: (.text+0xae6): undefined reference to `libdecor_frame_set_app_id'
/usr/bin/ld: (.text+0xaf4): undefined reference to `libdecor_frame_set_max_content_size'
/usr/bin/ld: (.text+0xb02): undefined reference to `libdecor_frame_set_min_content_size'
/usr/bin/ld: (.text+0xb10): undefined reference to `libdecor_frame_resize'
/usr/bin/ld: (.text+0xb1e): undefined reference to `libdecor_frame_move'
/usr/bin/ld: (.text+0xb2c): undefined reference to `libdecor_frame_commit'
/usr/bin/ld: (.text+0xb3a): undefined reference to `libdecor_frame_set_minimized'
/usr/bin/ld: (.text+0xb48): undefined reference to `libdecor_frame_set_maximized'
/usr/bin/ld: (.text+0xb56): undefined reference to `libdecor_frame_unset_maximized'
/usr/bin/ld: (.text+0xb64): undefined reference to `libdecor_frame_set_fullscreen'
/usr/bin/ld: (.text+0xb72): undefined reference to `libdecor_frame_unset_fullscreen'
/usr/bin/ld: (.text+0xb80): undefined reference to `libdecor_frame_set_capabilities'
/usr/bin/ld: (.text+0xb8e): undefined reference to `libdecor_frame_unset_capabilities'
/usr/bin/ld: (.text+0xb9c): undefined reference to `libdecor_frame_has_capability'
/usr/bin/ld: (.text+0xbaa): undefined reference to `libdecor_frame_set_visibility'
/usr/bin/ld: (.text+0xbb8): undefined reference to `libdecor_frame_is_visible'
/usr/bin/ld: (.text+0xbc6): undefined reference to `libdecor_frame_is_floating'
/usr/bin/ld: (.text+0xbd4): undefined reference to `libdecor_frame_set_parent'
/usr/bin/ld: (.text+0xbe2): undefined reference to `libdecor_frame_get_xdg_surface'
/usr/bin/ld: (.text+0xbf0): undefined reference to `libdecor_frame_get_xdg_toplevel'
/usr/bin/ld: (.text+0xbfe): undefined reference to `libdecor_frame_map'
/usr/bin/ld: (.text+0xc0c): undefined reference to `libdecor_state_new'
/usr/bin/ld: (.text+0xc1a): undefined reference to `libdecor_state_free'
/usr/bin/ld: (.text+0xc28): undefined reference to `libdecor_configuration_get_content_size'
/usr/bin/ld: (.text+0xc36): undefined reference to `libdecor_configuration_get_window_state'
/usr/bin/ld: (.text+0xc44): undefined reference to `libdecor_dispatch'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandevents.o): in function `pointer_handle_button':
(.text+0x1d16): undefined reference to `libdecor_frame_resize'
/usr/bin/ld: (.text+0x1d33): undefined reference to `libdecor_frame_move'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandevents.o): in function `Wayland_WaitEventTimeout':
(.text+0x2ff6): undefined reference to `libdecor_dispatch'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandevents.o): in function `Wayland_PumpEvents':
(.text+0x30ed): undefined reference to `libdecor_dispatch'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
Dudemanguy commented 1 year ago

It appears you have enabled sdl2 and are missing several development files or something for it.

hrzhu commented 1 year ago

I see sdl2 disabled when I invoke meson configure. Does it mean sdl2 is disabled by default? I have libsdl2-dev installed and I can build sdl2 support with waf if I explicitly enable sdl2. Anyway, I don't need sdl2 audio/video backend or gamepad control for mpv. I just expect it to compile successfully with meson. How can I explicitly tell meson to disable sdl2?

Dudemanguy commented 1 year ago

sdl2 is definitely disabled by default. It would be -Dsdl2=disabled to explicitly disable it in meson at least.

hrzhu commented 1 year ago

Build still fails after I add -Dsdl2=disabled -Dsdl2-audio=disabled -Dsdl2-gamepad=disabled -Dsdl2-video=disabled. Same error messages.

Using mpv options: --prefix=/usr -Dsdl2=disabled -Dsdl2-audio=disabled -Dsdl2-gamepad=disabled -Dsdl2-video=disabled
The Meson build system
Version: 1.0.0
Source dir: /home/h/src/mpv-build/mpv
Build dir: /home/h/src/mpv-build/mpv/build
Build type: native build
Project name: mpv
Project version: 0.35.0-UNKNOWN
C compiler for the host machine: cc (gcc 11.3.0 "cc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0")
C linker for the host machine: cc ld.bfd 2.38
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program python3 found: YES (/home/h/.pyenv/versions/3.10.9@playground/bin/python3)
Found pkg-config: /usr/bin/pkg-config (0.29.2)
WARNING: Static library 'dav1d' not found for dependency 'libavcodec', may not be statically linked
WARNING: Static library 'va' not found for dependency 'libavcodec', may not be statically linked
WARNING: Static library 'va-drm' not found for dependency 'libavcodec', may not be statically linked
WARNING: Static library 'va-x11' not found for dependency 'libavcodec', may not be statically linked
Run-time dependency libavcodec found: YES 59.56.100
WARNING: Static library 'va' not found for dependency 'libavfilter', may not be statically linked
WARNING: Static library 'dav1d' not found for dependency 'libavfilter', may not be statically linked
WARNING: Static library 'va-drm' not found for dependency 'libavfilter', may not be statically linked
WARNING: Static library 'va-x11' not found for dependency 'libavfilter', may not be statically linked
Run-time dependency libavfilter found: YES 8.54.100
WARNING: Static library 'dav1d' not found for dependency 'libavformat', may not be statically linked
WARNING: Static library 'va' not found for dependency 'libavformat', may not be statically linked
WARNING: Static library 'va-drm' not found for dependency 'libavformat', may not be statically linked
WARNING: Static library 'va-x11' not found for dependency 'libavformat', may not be statically linked
Run-time dependency libavformat found: YES 59.35.100
WARNING: Static library 'va-drm' not found for dependency 'libavutil', may not be statically linked
WARNING: Static library 'va' not found for dependency 'libavutil', may not be statically linked
WARNING: Static library 'va-x11' not found for dependency 'libavutil', may not be statically linked
Run-time dependency libavutil found: YES 57.44.100
WARNING: Static library 'va-drm' not found for dependency 'libswresample', may not be statically linked
WARNING: Static library 'va' not found for dependency 'libswresample', may not be statically linked
WARNING: Static library 'va-x11' not found for dependency 'libswresample', may not be statically linked
Run-time dependency libswresample found: YES 4.9.100
WARNING: Static library 'va-drm' not found for dependency 'libswscale', may not be statically linked
WARNING: Static library 'va' not found for dependency 'libswscale', may not be statically linked
WARNING: Static library 'va-x11' not found for dependency 'libswscale', may not be statically linked
Run-time dependency libswscale found: YES 6.8.112
WARNING: Static library 'graphite2' not found for dependency 'libass', may not be statically linked
Run-time dependency libass found: YES 0.17.0
Run-time dependency threads found: YES
Compiler for C supports arguments -Werror=implicit-function-declaration: YES 
Compiler for C supports arguments -Wno-error=deprecated-declarations: YES 
Compiler for C supports arguments -Wno-error=unused-function: YES 
Compiler for C supports arguments -Wempty-body: YES 
Compiler for C supports arguments -Wdisabled-optimization: YES 
Compiler for C supports arguments -Wstrict-prototypes: YES 
Compiler for C supports arguments -Wno-format-zero-length: YES 
Compiler for C supports arguments -Wno-redundant-decls: YES 
Compiler for C supports arguments -Wvla: YES 
Compiler for C supports arguments -Wno-format-truncation: YES 
Compiler for C supports arguments -Wimplicit-fallthrough: YES 
Compiler for C supports arguments -fno-math-errno: YES 
Compiler for C supports arguments -Wformat -Werror=format-security: YES 
Compiler for C supports link arguments -Wl,-z,noexecstack: YES 
Compiler for C supports link arguments -Wl,--nxcompat,--no-seh,--dynamicbase: NO 
Library dl found: YES
Checking for function "dlopen" with dependency -ldl: YES 
Compiler for C supports link arguments -rdynamic: YES 
Run-time dependency appleframeworks found: NO (tried framework)
Library windowsapp skipped: feature uwp disabled
Checking for function "glob" : YES 
Header "sys/vt.h" has symbol "VT_GETMODE" : YES 
Checking if "glibc-thread-name check" compiles: YES 
Checking for function "fstatfs" : NO 
Checking for function "fstatfs" : YES 
Checking if "vector check" compiles: YES 
Program /home/h/src/mpv-build/mpv/TOOLS/docutils-wrapper.py found: YES (/home/h/src/mpv-build/mpv/TOOLS/docutils-wrapper.py)
Program /home/h/src/mpv-build/mpv/TOOLS/file2string.py found: YES (/home/h/src/mpv-build/mpv/TOOLS/file2string.py)
Program /home/h/src/mpv-build/mpv/TOOLS/matroska.py found: YES (/home/h/src/mpv-build/mpv/TOOLS/matroska.py)
Program /home/h/src/mpv-build/mpv/version.py found: YES (/home/h/src/mpv-build/mpv/version.py)
Dependency libcdio_paranoia skipped: feature cdda disabled
Dependency dvdnav skipped: feature dvdnav disabled
Dependency dvdread skipped: feature dvdnav disabled
Run-time dependency iconv found: YES
Found CMake: /usr/bin/cmake (3.22.1)
Run-time dependency mujs found: NO (tried pkgconfig and cmake)
WARNING: Static library 'lcms2' not found for dependency 'lcms2', may not be statically linked
Run-time dependency lcms2 found: YES 2.12
Run-time dependency libarchive found: YES 3.6.0
WARNING: Static library 'asound' not found for dependency 'libavdevice', may not be statically linked
WARNING: Static library 'sndio' not found for dependency 'libavdevice', may not be statically linked
WARNING: Static library 'va' not found for dependency 'libavdevice', may not be statically linked
WARNING: Static library 'dav1d' not found for dependency 'libavdevice', may not be statically linked
WARNING: Static library 'va-drm' not found for dependency 'libavdevice', may not be statically linked
WARNING: Static library 'va-x11' not found for dependency 'libavdevice', may not be statically linked
Run-time dependency libavdevice found: YES 59.8.101
Run-time dependency libbluray found: NO (tried pkgconfig and cmake)
Library m found: YES
Library rt found: YES
Run-time dependency lua found: NO (tried pkgconfig and cmake)
Run-time dependency lua52 found: NO (tried pkgconfig and cmake)
Run-time dependency lua5.2 found: NO (tried pkgconfig and cmake)
Run-time dependency lua-5.2 found: NO (tried pkgconfig and cmake)
Run-time dependency luajit found: YES 2.1.0-beta3
Run-time dependency rubberband found: NO (tried pkgconfig and cmake)
Dependency sdl2 skipped: feature sdl2 disabled
Library atomic found: YES
Header "stdatomic.h" has symbol "atomic_int" with dependency -latomic: YES 
Run-time dependency uchardet found: YES 0.0.7
Run-time dependency vapoursynth found: NO (tried pkgconfig and cmake)
Run-time dependency vapoursynth-script found: NO (tried pkgconfig and cmake)
Run-time dependency zimg found: YES 3.0.3
Run-time dependency zlib found: YES 1.2.11
WARNING: Static library 'asound' not found for dependency 'alsa', may not be statically linked
Run-time dependency alsa found: YES 1.2.6.1
Run-time dependency appleframeworks found: NO (tried framework)
Header "AudioToolbox/AudioToolbox.h" has symbol "kAudioUnitSubType_RemoteIO" : NO 
Run-time dependency appleframeworks found: NO (tried framework)
WARNING: Static library 'jack' not found for dependency 'jack', may not be statically linked
Run-time dependency jack found: YES 1.9.20
Dependency openal skipped: feature openal disabled
Library OpenSLES found: NO
Header "sys/soundcard.h" has symbol "SNDCTL_DSP_SETPLAYVOL" : NO 
Run-time dependency libpipewire-0.3 found: NO (tried pkgconfig and cmake)
WARNING: Static library 'pulse' not found for dependency 'libpulse', may not be statically linked
WARNING: Static library 'pulsecommon-15.99' not found for dependency 'libpulse', may not be statically linked
Run-time dependency libpulse found: YES 15.99.1
WARNING: Static library 'sndio' not found for dependency 'sndio', may not be statically linked
Run-time dependency sndio found: YES 1.8.0
Header "audioclient.h" has symbol "IAudioClient" : NO 
Run-time dependency caca found: NO (tried pkgconfig and cmake)
Check usable header "d3d9.h" skipped: feature direct3d disabled
Run-time dependency libdrm found: YES 2.4.113
WARNING: Static library 'gbm' not found for dependency 'gbm', may not be statically linked
Run-time dependency gbm found: YES 22.2.5
Run-time dependency libjpeg found: YES 2.1.2
WARNING: Static library 'vulkan' not found for dependency 'libplacebo', may not be statically linked
WARNING: Static library 'gcc_s' not found for dependency 'libplacebo', may not be statically linked
WARNING: Static library 'lcms2' not found for dependency 'libplacebo', may not be statically linked
Run-time dependency libplacebo found: YES 5.235.0
Message: libplacebo v4.202+ found! Enabling vo_gpu_next.
Run-time dependency shaderc found: NO (tried pkgconfig, pkgconfig, pkgconfig and system)
Run-time dependency libsixel found: NO (tried pkgconfig and cmake)
Checking for function "shm_open" : YES 
Run-time dependency spirv-cross-c-shared found: NO (tried pkgconfig and cmake)
WARNING: Static library 'wayland-client' not found for dependency 'wayland-client', may not be statically linked
Run-time dependency wayland-client found: YES 1.20.0
WARNING: Static library 'wayland-cursor' not found for dependency 'wayland-cursor', may not be statically linked
WARNING: Static library 'wayland-client' not found for dependency 'wayland-cursor', may not be statically linked
Run-time dependency wayland-cursor found: YES 1.20.0
Run-time dependency wayland-protocols found: YES 1.25
WARNING: Static library 'xkbcommon' not found for dependency 'xkbcommon', may not be statically linked
Run-time dependency xkbcommon found: YES 1.4.0
Check usable header "linux/input-event-codes.h" : YES 
Program wayland-scanner found: YES (/usr/bin/wayland-scanner)
Checking for function "memfd_create" : YES 
Run-time dependency x11 found: YES 1.7.5
Run-time dependency xscrnsaver found: YES 1.2.3
Run-time dependency xext found: YES 1.3.4
Run-time dependency xinerama found: YES 1.1.4
Run-time dependency xpresent found: YES 1.0.0
Run-time dependency xrandr found: YES 1.5.2
Run-time dependency xv found: YES 1.0.11
Dependency GL skipped: feature gl-x11 disabled
WARNING: Static library 'EGL' not found for dependency 'egl', may not be statically linked
Run-time dependency egl found: YES 1.5
Library EGL skipped: feature egl-android disabled
WARNING: Static library 'wayland-egl' not found for dependency 'wayland-egl', may not be statically linked
WARNING: Static library 'wayland-client' not found for dependency 'wayland-egl', may not be statically linked
Run-time dependency wayland-egl found: YES 18.1.0
Dependency /opt/vc/lib/pkgconfig/brcmegl.pc skipped: feature rpi disabled
WARNING: Static library 'vulkan' not found for dependency 'vulkan', may not be statically linked
WARNING: Static library 'gcc_s' not found for dependency 'vulkan', may not be statically linked
Run-time dependency vulkan found: YES 1.3.204
Run-time dependency ffnvcodec found: NO (tried pkgconfig and cmake)
Header "OpenGLES/ES3/glext.h" has symbol "GL_RGB32F" : NO 
Dependency /opt/vc/lib/pkgconfig/mmal.pc skipped: feature rpi-mmal disabled
WARNING: Static library 'va' not found for dependency 'libva', may not be statically linked
Run-time dependency libva found: YES 1.14.0
WARNING: Static library 'va-drm' not found for dependency 'libva-drm', may not be statically linked
WARNING: Static library 'va' not found for dependency 'libva-drm', may not be statically linked
Run-time dependency libva-drm found: YES 1.14.0
WARNING: Static library 'va-wayland' not found for dependency 'libva-wayland', may not be statically linked
WARNING: Static library 'va' not found for dependency 'libva-wayland', may not be statically linked
WARNING: Static library 'wayland-client' not found for dependency 'libva-wayland', may not be statically linked
Run-time dependency libva-wayland found: YES 1.14.0
WARNING: Static library 'va-x11' not found for dependency 'libva-x11', may not be statically linked
WARNING: Static library 'va' not found for dependency 'libva-x11', may not be statically linked
Run-time dependency libva-x11 found: YES 1.14.0
Run-time dependency vdpau found: NO (tried pkgconfig and cmake)
Program /home/h/src/mpv-build/mpv/TOOLS/macos-sdk-version.py found: YES (/home/h/src/mpv-build/mpv/TOOLS/macos-sdk-version.py)
Program xcrun found: NO
Checking if "macos-touchbar check" compiles: NO 
Program rst2man.py found: YES (/home/h/.pyenv/versions/3.10.9@playground/bin/rst2man.py)
Program rst2html rst2html.py skipped: feature html-build disabled
Program rst2pdf skipped: feature pdf-build disabled
Configuring config.h using configuration
Message: List of enabled features: alsa av-channel-layout build-date cplayer cplugins dmabuf-interop-gl dmabuf-interop-pl dmabuf-wayland drm drm-is-kms egl egl-drm egl-helpers egl-x11 ffmpeg gbm gl gl-wayland glibc-thread-name glob glob-posix gpl iconv jack jpeg jpegxl lcms2 libarchive libass libavdevice libdl libm libplacebo libplacebo-next librt linux-fstatfs luajit manpage-build memfd_create noexecstack posix posix_shm pulse sndio stdatomic threads uchardet vaapi vaapi-drm vaapi-egl vaapi-libplacebo vaapi-wayland vaapi-x-egl vaapi-x11 vector vt.h vulkan wayland wayland_protocols_1_24 x11 xv zimg zlib
Build targets in project: 33

mpv 0.35.0-UNKNOWN

    d3d11        : NO
    gpu-next     : YES
    javascript   : NO
    libmpv       : NO
    lua          : YES
    opengl       : YES
    vulkan       : YES
    wayland      : YES
    x11          : YES

  User defined options
    buildtype    : release
    prefer_static: true
    prefix       : /usr
    sdl2         : disabled
    sdl2-audio   : disabled
    sdl2-gamepad : disabled
    sdl2-video   : disabled

Found ninja-1.10.1 at /usr/bin/ninja
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /usr/bin/ninja -C /home/h/src/mpv-build/mpv/build -j 16
ninja: Entering directory `/home/h/src/mpv-build/mpv/build'
[271/271] Linking target mpv
[271/271] Linking target mpv
FAILED: mpv 
cc  -o mpv mpv.p/audio_aframe.c.o mpv.p/audio_chmap.c.o mpv.p/audio_chmap_sel.c.o mpv.p/audio_decode_ad_lavc.c.o mpv.p/audio_decode_ad_spdif.c.o mpv.p/audio_filter_af_drop.c.o mpv.p/audio_filter_af_format.c.o mpv.p/audio_filter_af_lavcac3enc.c.o mpv.p/audio_filter_af_scaletempo.c.o mpv.p/audio_filter_af_scaletempo2.c.o mpv.p/audio_filter_af_scaletempo2_internals.c.o mpv.p/audio_fmt-conversion.c.o mpv.p/audio_format.c.o mpv.p/audio_out_ao.c.o mpv.p/audio_out_ao_lavc.c.o mpv.p/audio_out_ao_null.c.o mpv.p/audio_out_ao_pcm.c.o mpv.p/audio_out_buffer.c.o mpv.p/common_av_common.c.o mpv.p/common_av_log.c.o mpv.p/common_codecs.c.o mpv.p/common_common.c.o mpv.p/common_encode_lavc.c.o mpv.p/common_msg.c.o mpv.p/common_playlist.c.o mpv.p/common_recorder.c.o mpv.p/common_stats.c.o mpv.p/common_tags.c.o mpv.p/common_version.c.o mpv.p/demux_codec_tags.c.o mpv.p/demux_cue.c.o mpv.p/demux_cache.c.o mpv.p/demux_demux.c.o mpv.p/demux_demux_cue.c.o mpv.p/demux_demux_disc.c.o mpv.p/demux_demux_edl.c.o mpv.p/demux_demux_lavf.c.o mpv.p/demux_demux_mf.c.o mpv.p/demux_demux_mkv.c.o mpv.p/demux_demux_mkv_timeline.c.o mpv.p/demux_demux_null.c.o mpv.p/demux_demux_playlist.c.o mpv.p/demux_demux_raw.c.o mpv.p/demux_demux_timeline.c.o mpv.p/demux_ebml.c.o mpv.p/demux_packet.c.o mpv.p/demux_timeline.c.o mpv.p/filters_f_async_queue.c.o mpv.p/filters_f_autoconvert.c.o mpv.p/filters_f_auto_filters.c.o mpv.p/filters_f_decoder_wrapper.c.o mpv.p/filters_f_demux_in.c.o mpv.p/filters_f_hwtransfer.c.o mpv.p/filters_f_lavfi.c.o mpv.p/filters_f_output_chain.c.o mpv.p/filters_f_swresample.c.o mpv.p/filters_f_swscale.c.o mpv.p/filters_f_utils.c.o mpv.p/filters_filter.c.o mpv.p/filters_frame.c.o mpv.p/filters_user_filters.c.o mpv.p/input_cmd.c.o mpv.p/input_event.c.o mpv.p/input_input.c.o mpv.p/input_ipc.c.o mpv.p/input_keycodes.c.o mpv.p/misc_bstr.c.o mpv.p/misc_charset_conv.c.o mpv.p/misc_dispatch.c.o mpv.p/misc_json.c.o mpv.p/misc_natural_sort.c.o mpv.p/misc_node.c.o mpv.p/misc_random.c.o mpv.p/misc_rendezvous.c.o mpv.p/misc_thread_pool.c.o mpv.p/misc_thread_tools.c.o mpv.p/options_m_config_core.c.o mpv.p/options_m_config_frontend.c.o mpv.p/options_m_option.c.o mpv.p/options_m_property.c.o mpv.p/options_options.c.o mpv.p/options_parse_commandline.c.o mpv.p/options_parse_configfile.c.o mpv.p/options_path.c.o mpv.p/player_audio.c.o mpv.p/player_client.c.o mpv.p/player_command.c.o mpv.p/player_configfiles.c.o mpv.p/player_external_files.c.o mpv.p/player_loadfile.c.o mpv.p/player_main.c.o mpv.p/player_misc.c.o mpv.p/player_osd.c.o mpv.p/player_playloop.c.o mpv.p/player_screenshot.c.o mpv.p/player_scripting.c.o mpv.p/player_sub.c.o mpv.p/player_video.c.o mpv.p/stream_cookies.c.o mpv.p/stream_stream.c.o mpv.p/stream_stream_avdevice.c.o mpv.p/stream_stream_cb.c.o mpv.p/stream_stream_concat.c.o mpv.p/stream_stream_edl.c.o mpv.p/stream_stream_file.c.o mpv.p/stream_stream_lavf.c.o mpv.p/stream_stream_memory.c.o mpv.p/stream_stream_mf.c.o mpv.p/stream_stream_null.c.o mpv.p/stream_stream_slice.c.o mpv.p/sub_ass_mp.c.o mpv.p/sub_dec_sub.c.o mpv.p/sub_draw_bmp.c.o mpv.p/sub_filter_sdh.c.o mpv.p/sub_img_convert.c.o mpv.p/sub_lavc_conv.c.o mpv.p/sub_osd.c.o mpv.p/sub_osd_libass.c.o mpv.p/sub_sd_ass.c.o mpv.p/sub_sd_lavc.c.o mpv.p/video_csputils.c.o mpv.p/video_decode_vd_lavc.c.o mpv.p/video_filter_refqueue.c.o mpv.p/video_filter_vf_format.c.o mpv.p/video_filter_vf_sub.c.o mpv.p/video_fmt-conversion.c.o mpv.p/video_hwdec.c.o mpv.p/video_image_loader.c.o mpv.p/video_image_writer.c.o mpv.p/video_img_format.c.o mpv.p/video_mp_image.c.o mpv.p/video_mp_image_pool.c.o mpv.p/video_out_aspect.c.o mpv.p/video_out_bitmap_packer.c.o mpv.p/video_out_dither.c.o mpv.p/video_out_dr_helper.c.o mpv.p/video_out_filter_kernels.c.o mpv.p/video_out_gpu_context.c.o mpv.p/video_out_gpu_error_diffusion.c.o mpv.p/video_out_gpu_hwdec.c.o mpv.p/video_out_gpu_lcms.c.o mpv.p/video_out_gpu_libmpv_gpu.c.o mpv.p/video_out_gpu_osd.c.o mpv.p/video_out_gpu_ra.c.o mpv.p/video_out_gpu_shader_cache.c.o mpv.p/video_out_gpu_spirv.c.o mpv.p/video_out_gpu_user_shaders.c.o mpv.p/video_out_gpu_utils.c.o mpv.p/video_out_gpu_video.c.o mpv.p/video_out_gpu_video_shaders.c.o mpv.p/video_out_libmpv_sw.c.o mpv.p/video_out_vo.c.o mpv.p/video_out_vo_gpu.c.o mpv.p/video_out_vo_image.c.o mpv.p/video_out_vo_lavc.c.o mpv.p/video_out_vo_libmpv.c.o mpv.p/video_out_vo_null.c.o mpv.p/video_out_vo_tct.c.o mpv.p/video_out_vo_kitty.c.o mpv.p/video_out_win_state.c.o mpv.p/video_repack.c.o mpv.p/video_sws_utils.c.o mpv.p/osdep_io.c.o mpv.p/osdep_semaphore_osx.c.o mpv.p/osdep_subprocess.c.o mpv.p/osdep_threads.c.o mpv.p/osdep_timer.c.o mpv.p/ta_ta.c.o mpv.p/ta_ta_talloc.c.o mpv.p/ta_ta_utils.c.o mpv.p/input_ipc-unix.c.o mpv.p/osdep_path-unix.c.o mpv.p/osdep_polldev.c.o mpv.p/osdep_subprocess-posix.c.o mpv.p/osdep_terminal-unix.c.o mpv.p/sub_filter_regex.c.o mpv.p/osdep_main-fn-unix.c.o mpv.p/osdep_timer-linux.c.o mpv.p/audio_chmap_avchannel.c.o mpv.p/demux_demux_libarchive.c.o mpv.p/stream_stream_libarchive.c.o mpv.p/player_lua.c.o mpv.p/video_filter_vf_fingerprint.c.o mpv.p/video_zimg.c.o mpv.p/audio_out_ao_alsa.c.o mpv.p/audio_out_ao_jack.c.o mpv.p/audio_out_ao_pulse.c.o mpv.p/audio_out_ao_sndio.c.o mpv.p/video_drmprime.c.o mpv.p/video_out_drm_atomic.c.o mpv.p/video_out_drm_common.c.o mpv.p/video_out_drm_prime.c.o mpv.p/video_out_hwdec_hwdec_drmprime.c.o mpv.p/video_out_hwdec_hwdec_drmprime_overlay.c.o mpv.p/video_out_vo_drm.c.o mpv.p/video_out_placebo_ra_pl.c.o mpv.p/video_out_placebo_utils.c.o mpv.p/video_out_vo_gpu_next.c.o mpv.p/video_out_gpu_next_context.c.o mpv.p/video_out_wayland_common.c.o mpv.p/video_out_vo_wlshm.c.o mpv.p/video_out_vo_x11.c.o mpv.p/video_out_x11_common.c.o mpv.p/video_out_vo_xv.c.o mpv.p/video_out_present_sync.c.o mpv.p/video_out_opengl_context_drm_egl.c.o mpv.p/video_out_opengl_context_wayland.c.o mpv.p/video_out_opengl_context_x11egl.c.o mpv.p/video_out_opengl_egl_helpers.c.o mpv.p/video_filter_vf_gpu.c.o mpv.p/video_out_opengl_common.c.o mpv.p/video_out_opengl_context.c.o mpv.p/video_out_opengl_formats.c.o mpv.p/video_out_opengl_libmpv_gl.c.o mpv.p/video_out_opengl_ra_gl.c.o mpv.p/video_out_opengl_utils.c.o mpv.p/video_out_vulkan_context.c.o mpv.p/video_out_vulkan_context_display.c.o mpv.p/video_out_vulkan_utils.c.o mpv.p/video_out_vulkan_context_wayland.c.o mpv.p/video_out_vulkan_context_xlib.c.o mpv.p/video_filter_vf_vavpp.c.o mpv.p/video_vaapi.c.o mpv.p/video_out_vo_vaapi.c.o mpv.p/video_out_hwdec_hwdec_vaapi.c.o mpv.p/video_out_hwdec_dmabuf_interop_gl.c.o mpv.p/video_out_hwdec_dmabuf_interop_pl.c.o mpv.p/video_out_vo_dmabuf_wayland.c.o mpv.p/video_out_hwdec_dmabuf_interop_wl.c.o mpv.p/video_out_wldmabuf_context_wldmabuf.c.o mpv.p/video_out_wldmabuf_ra_wldmabuf.c.o mpv.p/video_out_wlbuf_pool.c.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -Wl,-z,noexecstack -rdynamic -march=native -O2 -Wl,--start-group generated/wayland/libprotocols.a /home/h/src/mpv-build/build_libs/lib/libass.a -lm /usr/lib/x86_64-linux-gnu/libfontconfig.a /usr/lib/x86_64-linux-gnu/libuuid.a /usr/lib/x86_64-linux-gnu/libexpat.a /usr/lib/x86_64-linux-gnu/libharfbuzz.a /usr/lib/x86_64-linux-gnu/libglib-2.0.a -pthread /usr/lib/x86_64-linux-gnu/libpcre.a /usr/lib/x86_64-linux-gnu/libfribidi.a /usr/lib/x86_64-linux-gnu/libfreetype.a /usr/lib/x86_64-linux-gnu/libpng16.a /usr/lib/x86_64-linux-gnu/libz.a /usr/lib/x86_64-linux-gnu/libbrotlidec.a /usr/lib/x86_64-linux-gnu/libbrotlicommon.a -L/home/h/src/mpv-build/build_libs/lib -lgraphite2 /home/h/src/mpv-build/build_libs/lib/libavcodec.a /usr/lib/gcc/x86_64-linux-gnu/11/libatomic.a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/liblzma.a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libz.a /home/h/src/mpv-build/build_libs/lib/libswresample.a /home/h/src/mpv-build/build_libs/lib/libavutil.a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libX11.a -L/home/h/src/mpv-build/build_libs/lib -ldav1d -lva -lva-drm -lva-x11 /home/h/src/mpv-build/build_libs/lib/libavfilter.a /home/h/src/mpv-build/build_libs/lib/libswscale.a /home/h/src/mpv-build/build_libs/lib/libpostproc.a /home/h/src/mpv-build/build_libs/lib/libavformat.a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libbz2.a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libssl.a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libcrypto.a -L/home/h/src/mpv-build/build_libs/lib -lva -ldav1d -lva-drm -lva-x11 -L/home/h/src/mpv-build/build_libs/lib -ldav1d -lva -lva-drm -lva-x11 -L/home/h/src/mpv-build/build_libs/lib -lva-drm -lva -lva-x11 -L/home/h/src/mpv-build/build_libs/lib -lva-drm -lva -lva-x11 -L/home/h/src/mpv-build/build_libs/lib -lva-drm -lva -lva-x11 -ldl -lpthread -llcms2 /usr/lib/x86_64-linux-gnu/libarchive.a /usr/lib/x86_64-linux-gnu/libnettle.a /usr/lib/x86_64-linux-gnu/libacl.a /usr/lib/x86_64-linux-gnu/liblzma.a /usr/lib/x86_64-linux-gnu/libzstd.a /usr/lib/x86_64-linux-gnu/liblz4.a /usr/lib/x86_64-linux-gnu/libbz2.a /usr/lib/x86_64-linux-gnu/libxml2.a /home/h/src/mpv-build/build_libs/lib/libavdevice.a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libxcb.a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libxcb-shm.a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libXv.a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libXext.a -L/home/h/src/mpv-build/build_libs/lib -lasound -lsndio -lva -ldav1d -lva-drm -lva-x11 -lrt /usr/lib/x86_64-linux-gnu/libluajit-5.1.a -Wl,-E /usr/lib/x86_64-linux-gnu/libuchardet.a /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a /usr/lib/x86_64-linux-gnu/libzimg.a -lasound -ljack -L/usr/lib/x86_64-linux-gnu/pulseaudio -lpulse -lpulsecommon-15.99 -lsndio /usr/lib/x86_64-linux-gnu/libdrm.a -lgbm /usr/lib/x86_64-linux-gnu/libjpeg.a /home/h/src/mpv-build/build_libs/lib/libplacebo.a /usr/lib/x86_64-linux-gnu/libglslang.a /usr/lib/x86_64-linux-gnu/libMachineIndependent.a /usr/lib/x86_64-linux-gnu/libOSDependent.a /usr/lib/x86_64-linux-gnu/libHLSL.a /usr/lib/x86_64-linux-gnu/libOGLCompiler.a /usr/lib/x86_64-linux-gnu/libGenericCodeGen.a /usr/lib/x86_64-linux-gnu/libSPVRemapper.a /usr/lib/x86_64-linux-gnu/libSPIRV.a /usr/lib/x86_64-linux-gnu/libSPIRV-Tools-opt.a /usr/lib/x86_64-linux-gnu/libSPIRV-Tools.a /usr/lib/x86_64-linux-gnu/libglslang-default-resource-limits.a /usr/lib/gcc/x86_64-linux-gnu/11/libgcc.a -lc -L/home/h/src/mpv-build/build_libs/lib -lvulkan -lgcc_s -llcms2 /usr/lib/x86_64-linux-gnu/libffi.a -lwayland-client -lwayland-cursor -lwayland-client -lxkbcommon /usr/lib/x86_64-linux-gnu/libX11.a /usr/lib/x86_64-linux-gnu/libxcb.a /usr/lib/x86_64-linux-gnu/libXau.a /usr/lib/x86_64-linux-gnu/libXdmcp.a /usr/lib/x86_64-linux-gnu/libXss.a /usr/lib/x86_64-linux-gnu/libXext.a /usr/lib/x86_64-linux-gnu/libXinerama.a /usr/lib/x86_64-linux-gnu/libXpresent.a /usr/lib/x86_64-linux-gnu/libXfixes.a /usr/lib/x86_64-linux-gnu/libXrandr.a /usr/lib/x86_64-linux-gnu/libXrender.a /usr/lib/x86_64-linux-gnu/libXv.a -lEGL -lwayland-egl -lwayland-client -lvulkan -lgcc_s -lva -lva-drm -lva -lva-wayland -lva -lwayland-client -lva-x11 -lva -lwayland-client -Wl,--end-group
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandvideo.o): in function `Wayland_VideoQuit':
(.text+0x1597): undefined reference to `libdecor_unref'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandvideo.o): in function `Wayland_LoadLibdecor':
(.text+0x1d46): undefined reference to `libdecor_new'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `CommitLibdecorFrame.isra.0':
(.text+0x5ad): undefined reference to `libdecor_state_new'
/usr/bin/ld: (.text+0x5be): undefined reference to `libdecor_frame_commit'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `SetMinMaxDimensions':
(.text+0x19aa): undefined reference to `libdecor_frame_set_min_content_size'
/usr/bin/ld: (.text+0x19b9): undefined reference to `libdecor_frame_set_max_content_size'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `decoration_frame_configure':
(.text+0x1f75): undefined reference to `libdecor_configuration_get_window_state'
/usr/bin/ld: (.text+0x2014): undefined reference to `libdecor_configuration_get_content_size'
/usr/bin/ld: (.text+0x2147): undefined reference to `libdecor_state_new'
/usr/bin/ld: (.text+0x2158): undefined reference to `libdecor_frame_commit'
/usr/bin/ld: (.text+0x2160): undefined reference to `libdecor_state_free'
/usr/bin/ld: (.text+0x2196): undefined reference to `libdecor_frame_set_capabilities'
/usr/bin/ld: (.text+0x2261): undefined reference to `libdecor_frame_unset_capabilities'
/usr/bin/ld: (.text+0x22e1): undefined reference to `libdecor_configuration_get_content_size'
/usr/bin/ld: (.text+0x2311): undefined reference to `libdecor_configuration_get_content_size'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_GetWindowWMInfo':
(.text+0x244b): undefined reference to `libdecor_frame_get_xdg_surface'
/usr/bin/ld: (.text+0x2465): undefined reference to `libdecor_frame_get_xdg_toplevel'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_SetWindowModalFor':
(.text+0x2507): undefined reference to `libdecor_frame_set_parent'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_HideWindow':
(.text+0x26ec): undefined reference to `libdecor_frame_set_visibility'
/usr/bin/ld: (.text+0x26fc): undefined reference to `libdecor_frame_set_app_id'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_SetWindowFullscreen':
(.text+0x28f2): undefined reference to `libdecor_frame_set_fullscreen'
/usr/bin/ld: (.text+0x2906): undefined reference to `libdecor_frame_set_capabilities'
/usr/bin/ld: (.text+0x2931): undefined reference to `libdecor_frame_unset_fullscreen'
/usr/bin/ld: (.text+0x2945): undefined reference to `libdecor_frame_unset_capabilities'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_RestoreWindow':
(.text+0x2a01): undefined reference to `libdecor_frame_unset_maximized'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_MaximizeWindow':
(.text+0x2baa): undefined reference to `libdecor_frame_set_maximized'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_MinimizeWindow':
(.text+0x2c41): undefined reference to `libdecor_frame_set_minimized'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_SetWindowSize':
(.text+0x2d94): undefined reference to `libdecor_frame_is_floating'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_SetWindowTitle':
(.text+0x2ea4): undefined reference to `libdecor_frame_set_title'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_ShowWindow':
(.text+0x31d3): undefined reference to `libdecor_frame_set_visibility'
/usr/bin/ld: (.text+0x31e3): undefined reference to `libdecor_frame_set_app_id'
/usr/bin/ld: (.text+0x33fb): undefined reference to `libdecor_decorate'
/usr/bin/ld: (.text+0x3413): undefined reference to `libdecor_frame_set_app_id'
/usr/bin/ld: (.text+0x341c): undefined reference to `libdecor_frame_map'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `CommitLibdecorFrame.isra.0':
(.text+0x5cc): undefined reference to `libdecor_state_free'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_SetWindowBordered':
(.text+0x2ab2): undefined reference to `libdecor_frame_set_visibility'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandwindow.o): in function `Wayland_SetWindowResizable':
(.text+0x2af7): undefined reference to `libdecor_frame_set_capabilities'
/usr/bin/ld: (.text+0x2b11): undefined reference to `libdecor_frame_unset_capabilities'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_audio.o): in function `SDL_AudioInit_REAL':
(.text+0x1f74): undefined reference to `src_new'
/usr/bin/ld: (.text+0x1f8c): undefined reference to `src_process'
/usr/bin/ld: (.text+0x1f9a): undefined reference to `src_reset'
/usr/bin/ld: (.text+0x1fa8): undefined reference to `src_delete'
/usr/bin/ld: (.text+0x1fb6): undefined reference to `src_strerror'
/usr/bin/ld: (.text+0x1fc4): undefined reference to `src_simple'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_x11dyn.o): in function `SDL_X11_LoadSymbols':
(.text+0x10c4): undefined reference to `XIBarrierReleasePointer'
/usr/bin/ld: (.text+0x12ac): undefined reference to `XcursorImageCreate'
/usr/bin/ld: (.text+0x12c4): undefined reference to `XcursorImageDestroy'
/usr/bin/ld: (.text+0x12dc): undefined reference to `XcursorImageLoadCursor'
/usr/bin/ld: (.text+0x1368): undefined reference to `XIQueryDevice'
/usr/bin/ld: (.text+0x1376): undefined reference to `XIFreeDeviceInfo'
/usr/bin/ld: (.text+0x1384): undefined reference to `XISelectEvents'
/usr/bin/ld: (.text+0x1392): undefined reference to `XIGrabTouchBegin'
/usr/bin/ld: (.text+0x13aa): undefined reference to `XIUngrabTouchBegin'
/usr/bin/ld: (.text+0x13b8): undefined reference to `XIQueryVersion'
/usr/bin/ld: (.text+0x13c6): undefined reference to `XIGetSelectedEvents'
/usr/bin/ld: (.text+0x13d4): undefined reference to `XIGetClientPointer'
/usr/bin/ld: (.text+0x13e2): undefined reference to `XIWarpPointer'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylanddyn.o): in function `SDL_WAYLAND_LoadSymbols':
(.text+0xaa0): undefined reference to `libdecor_unref'
/usr/bin/ld: (.text+0xaae): undefined reference to `libdecor_new'
/usr/bin/ld: (.text+0xabc): undefined reference to `libdecor_decorate'
/usr/bin/ld: (.text+0xaca): undefined reference to `libdecor_frame_unref'
/usr/bin/ld: (.text+0xad8): undefined reference to `libdecor_frame_set_title'
/usr/bin/ld: (.text+0xae6): undefined reference to `libdecor_frame_set_app_id'
/usr/bin/ld: (.text+0xaf4): undefined reference to `libdecor_frame_set_max_content_size'
/usr/bin/ld: (.text+0xb02): undefined reference to `libdecor_frame_set_min_content_size'
/usr/bin/ld: (.text+0xb10): undefined reference to `libdecor_frame_resize'
/usr/bin/ld: (.text+0xb1e): undefined reference to `libdecor_frame_move'
/usr/bin/ld: (.text+0xb2c): undefined reference to `libdecor_frame_commit'
/usr/bin/ld: (.text+0xb3a): undefined reference to `libdecor_frame_set_minimized'
/usr/bin/ld: (.text+0xb48): undefined reference to `libdecor_frame_set_maximized'
/usr/bin/ld: (.text+0xb56): undefined reference to `libdecor_frame_unset_maximized'
/usr/bin/ld: (.text+0xb64): undefined reference to `libdecor_frame_set_fullscreen'
/usr/bin/ld: (.text+0xb72): undefined reference to `libdecor_frame_unset_fullscreen'
/usr/bin/ld: (.text+0xb80): undefined reference to `libdecor_frame_set_capabilities'
/usr/bin/ld: (.text+0xb8e): undefined reference to `libdecor_frame_unset_capabilities'
/usr/bin/ld: (.text+0xb9c): undefined reference to `libdecor_frame_has_capability'
/usr/bin/ld: (.text+0xbaa): undefined reference to `libdecor_frame_set_visibility'
/usr/bin/ld: (.text+0xbb8): undefined reference to `libdecor_frame_is_visible'
/usr/bin/ld: (.text+0xbc6): undefined reference to `libdecor_frame_is_floating'
/usr/bin/ld: (.text+0xbd4): undefined reference to `libdecor_frame_set_parent'
/usr/bin/ld: (.text+0xbe2): undefined reference to `libdecor_frame_get_xdg_surface'
/usr/bin/ld: (.text+0xbf0): undefined reference to `libdecor_frame_get_xdg_toplevel'
/usr/bin/ld: (.text+0xbfe): undefined reference to `libdecor_frame_map'
/usr/bin/ld: (.text+0xc0c): undefined reference to `libdecor_state_new'
/usr/bin/ld: (.text+0xc1a): undefined reference to `libdecor_state_free'
/usr/bin/ld: (.text+0xc28): undefined reference to `libdecor_configuration_get_content_size'
/usr/bin/ld: (.text+0xc36): undefined reference to `libdecor_configuration_get_window_state'
/usr/bin/ld: (.text+0xc44): undefined reference to `libdecor_dispatch'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandevents.o): in function `pointer_handle_button':
(.text+0x1d16): undefined reference to `libdecor_frame_resize'
/usr/bin/ld: (.text+0x1d33): undefined reference to `libdecor_frame_move'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandevents.o): in function `Wayland_WaitEventTimeout':
(.text+0x2ff6): undefined reference to `libdecor_dispatch'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a(SDL_waylandevents.o): in function `Wayland_PumpEvents':
(.text+0x30ed): undefined reference to `libdecor_dispatch'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
hrzhu commented 1 year ago

Well, I just found out that I have to explicitly enable sdl2 or leave sdl2 disabled by default and uninstall libsdl2-dev to make mpv compile successfully with meson. This is definitely not a usual user would expect.

Dudemanguy commented 1 year ago

I'm not sure what's going on here. You shouldn't need sdl2 headers if you don't have it enabled (at least I don't). I presume something links to it transitively (perhaps ffmpeg), but it shouldn't matter. The difference presumably is from how meson and waf handle static linking; if you don't link statically (i.e. no prefer_static does it work)?

hrzhu commented 1 year ago

Build fails if I add -Dprefer_static=false in mpv_options and it yields much much more errors.

Dudemanguy commented 1 year ago

Can you post a full output from meson-logs? Something's very wrong somewhere.

Adamadamko commented 1 year ago

Build fails i know whats wrong

Adamadamko commented 1 year ago

ياحرامي

hrzhu commented 1 year ago

https://pastebin.ubuntu.com/p/WcyVp4c9yM/ This is a build with -Dprefer_static=false

https://pastebin.ubuntu.com/p/3Twfx8RgPn/ This is a build with -Dprefer_static=true

Both (failed) builds were done with sdl2-disabled and libsdl2-dev installed.

Dudemanguy commented 1 year ago

Could you post the compile_commands.json as well?

hrzhu commented 1 year ago

https://pastebin.ubuntu.com/p/CpvMZWqt4K/

Dudemanguy commented 1 year ago

Sorry just one more. What about build.ninja? So far everything looks normal to me.

hrzhu commented 1 year ago

Here it is. https://pastebin.ubuntu.com/p/hrqcMG8NWm/plain/

Dudemanguy commented 1 year ago

I'm stupid but I just realized a few things. The libdecor stuff is actually a separate library and not from SDL2 directly (from libdecor). The XcursorImageCreate and so on is X11 of course. src_delete is from libsamplerate. Now when I look at your linking command, two of these appear to be statically linked (libsamplerate doesn't appear in your linking command at all):

/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libX11.a

For me, they aren't. No static library exists on my system so it falls back to dynamic linking for those things (including libsamplerate). It's possible that waf didn't try to do this for whatever reason. I wish I could confirm this, but I have no idea how to get the linker output from waf (not even -vvv appears to have it). That being said, I still would have expected just normal dynamic linking to work. What happens if you just try to compile mpv from master normally without any of these scripts?

hrzhu commented 1 year ago

hmm, I don't know how to add mpv-build/build_libs/include to pkg-config file search path. If I use my system provided libass and ffmpeg headers, I can successfully build mpv without libplacebo support. No more errors when linking target mpv.

Dudemanguy commented 1 year ago

I suspect if you install those additional headers, it would work but it's not clear to me why they are required now for you.

hrzhu commented 1 year ago

I thought you want me to try run

meson setup build
meson compile -C build
meson install -C build

directly in mpv directory to compile mpv. meson setup build complains it doesn't find those headers.

Dudemanguy commented 1 year ago

Well yeah that's what I meant. Dynamically linking with your system libraries works fine, but the static build does not. mpv-build statically links to ffmpeg, libass, and libplacebo from their master branches by default.

Dudemanguy commented 1 year ago

Should be fixed now thanks to 3ec52b9c80bc900a5c2aa409aaa6cad515d5ea5f. Feel free to reopen if that's not the case.