Closed heitbaum closed 9 months ago
libmpv.so.2.2.0.p/video_out_drm_common.c.o:drm_common.c:function drm_pflip_cb:(.text+0x5f6): error: undefined reference to 'present_sync_update_values'
libmpv.so.2.2.0.p/video_out_drm_common.c.o:drm_common.c:function drm_pflip_cb:(.text+0x602): error: undefined reference to 'present_sync_swap'
libmpv.so.2.2.0.p/video_out_drm_common.c.o:drm_common.c:function vo_drm_init:(.text+0x2238): error: undefined reference to 'mp_present_initialize'
libmpv.so.2.2.0.p/video_out_vo_drm.c.o:vo_drm.c:function get_vsync:(.text+0xc): error: undefined reference to 'present_sync_get_info'
libmpv.so.2.2.0.p/video_out_opengl_context_drm_egl.c.o:context_drm_egl.c:function drm_egl_get_vsync:(.text+0x14f): error: undefined reference to 'present_sync_get_info'
Fixed by https://github.com/mpv-player/mpv/commit/e575ec4fc3654387c7358bd3640877ef32628d2c
/var/media/DATA/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-12.0-devel/install_pkg/libplacebo-6.338.1/usr/lib/libplacebo.a(convert.cc.o):convert.cc:function pl_str_print_float:(.text+0xe28): error: undefined reference to 'std::to_chars(char*, char*, float)'
/var/media/DATA/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-12.0-devel/install_pkg/libplacebo-6.338.1/usr/lib/libplacebo.a(convert.cc.o):convert.cc:function pl_str_parse_float:(.text+0xe4d): error: undefined reference to 'std::from_chars(char const*, char const*, float&, std::chars_format)'
/var/media/DATA/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-12.0-devel/install_pkg/libplacebo-6.338.1/usr/lib/libplacebo.a(convert.cc.o):convert.cc:function pl_str_print_double:(.text+0xe68): error: undefined reference to 'std::to_chars(char*, char*, double)'
/var/media/DATA/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-12.0-devel/install_pkg/libplacebo-6.338.1/usr/lib/libplacebo.a(convert.cc.o):convert.cc:function pl_str_parse_double:(.text+0xe8d): error: undefined reference to 'std::from_chars(char const*, char const*, double&, std::chars_format)'
You need to use g++
to link or manually add your stdlib like to your ldflags -lstdc++
.
libmpv.so.2.2.0.p/video_out_drm_common.c.o:drm_common.c:function drm_pflip_cb:(.text+0x5f6): error: undefined reference to 'present_sync_update_values' libmpv.so.2.2.0.p/video_out_drm_common.c.o:drm_common.c:function drm_pflip_cb:(.text+0x602): error: undefined reference to 'present_sync_swap' libmpv.so.2.2.0.p/video_out_drm_common.c.o:drm_common.c:function vo_drm_init:(.text+0x2238): error: undefined reference to 'mp_present_initialize' libmpv.so.2.2.0.p/video_out_vo_drm.c.o:vo_drm.c:function get_vsync:(.text+0xc): error: undefined reference to 'present_sync_get_info' libmpv.so.2.2.0.p/video_out_opengl_context_drm_egl.c.o:context_drm_egl.c:function drm_egl_get_vsync:(.text+0x14f): error: undefined reference to 'present_sync_get_info'
Fixed by e575ec4
/var/media/DATA/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-12.0-devel/install_pkg/libplacebo-6.338.1/usr/lib/libplacebo.a(convert.cc.o):convert.cc:function pl_str_print_float:(.text+0xe28): error: undefined reference to 'std::to_chars(char*, char*, float)' /var/media/DATA/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-12.0-devel/install_pkg/libplacebo-6.338.1/usr/lib/libplacebo.a(convert.cc.o):convert.cc:function pl_str_parse_float:(.text+0xe4d): error: undefined reference to 'std::from_chars(char const*, char const*, float&, std::chars_format)' /var/media/DATA/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-12.0-devel/install_pkg/libplacebo-6.338.1/usr/lib/libplacebo.a(convert.cc.o):convert.cc:function pl_str_print_double:(.text+0xe68): error: undefined reference to 'std::to_chars(char*, char*, double)' /var/media/DATA/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-12.0-devel/install_pkg/libplacebo-6.338.1/usr/lib/libplacebo.a(convert.cc.o):convert.cc:function pl_str_parse_double:(.text+0xe8d): error: undefined reference to 'std::from_chars(char const*, char const*, double&, std::chars_format)'
You need to use
g++
to link or manually add your stdlib like to your ldflags-lstdc++
.
Thanks. Fixed it with a change to the libplacebo pc file sed 's/^Libs:.*-lplacebo/& -lstdc++/' -i ${INSTALL}/usr/lib/pkgconfig/libplacebo.pc
Building correctly
mpv version and platform versions
If you're not using git master or the latest release, update. Releases are listed here: https://github.com/mpv-player/mpv/releases
Reproduction steps
Describe the reproduction steps as precise as possible. It's very likely that the bug you experience wasn't reproduced by the developer because the workflow differs from your own.
compile 0.37.0 in LibreELEC build host
Expected behavior
Successful compile
errors with std:%3Afrom_chars(char%20const,%20char%20const,%20double&,%20std%3A%3Achars_format) And present_sync_get_info
Actual behavior
Log file
Upload meson-logs/meson-log.txt or meson setup build output to http://ix.io/4MsC or attach it to the github issue, and replace this text with a link to it.
The issue will be closed for ignoring the issue template.