m-ab-s / media-autobuild_suite

This Windows Batchscript helps setup a Mingw-w64 compiler environment for building ffmpeg and other media tools under Windows.
GNU General Public License v3.0
1.53k stars 264 forks source link

Build error libplacebo:: Run-time dependency dovi found: NO #2498

Closed marcusdoc closed 1 year ago

marcusdoc commented 1 year ago

It looks like libplacebo is looking for dovi_tool https://github.com/quietvoid/dovi_tool

How can this be corrected? (my apologies is this is a simple solution; I tried building with the script x2 and both times I had this result) x64 build; most recent version of script

23:55:44   Running git clone for libplacebo...
23:56:06   Running git update for libplacebo...
23:56:06 ┌ libplacebo git  ........................... [Recently updated]
23:56:08 ├ Installing python-mako... done
23:56:13 ├ Installing python-setuptools... done
23:56:46 ├ Running meson...
Likely error (tail of the failed operation logfile):
Run-time dependency vulkan found: YES 1.3.261
Header "vulkan/vulkan_core.h" has symbol "VK_VERSION_1_3" : YES
Run-time dependency lcms2 found: YES 2.15
Run-time dependency dovi found: NO (tried pkgconfig and cmake)
Configuring config.h using configuration
Configuring config_internal.h using configuration

../src/meson.build:217:6: ERROR: Cannot link_whole a custom or Rust target 'ucrt_math.lib' into a static library 'placebo'. Instead, pass individual object files with the "objects:" keyword argument if possible. Meson had to promote link to link_whole because 'placebo' is installed but not 'ucrt_math.lib', and thus has to include objects from 'ucrt_math.lib' to be usable.

A full log can be found at E:/ffmpeg_compile/build/libplacebo-git/build-64bit/meson-logs/meson-log.txt
meson failed. Check E:/ffmpeg_compile/build/libplacebo-git/build-64bit/ab-suite.meson.log
This is required for other packages, so this script will exit.
23:56:55   Creating diagnostics file...

logs.zip

waldonnis commented 1 year ago

I don't think the check for (lib)dovi is fatal and that the error is unrelated, but that's just from looking at the build scripts as I don't include libplacebo in my builds. This error could be caused by the same issue that's affecting highway and other stuff that uses meson for building (see #2497). You can try downgrading meson using the instructions in that bug report and see if that helps.

I do a separate scripted build of dovi_tool/libdovi and hdr10plus_tool periodically and use dovi_tool itself fairly frequently, so this report caught my eye. If you want to include the dovi-related code in libplacebo, it's not difficult to build dovi_tool and libdovi...and quietvoid's build instructions are a good starting point. Just be sure to check the dolby_vision dir too, which is where the library's code and instructions are.

Last I checked, there were no instructions for installing the binary or library, though. I usually just cp the binary where I like it installed, but use cargo cinstall for the library (I just add a --prefix for my preferred install dir prefix). I've never linked anything with the library yet and don't use much Rust stuff otherwise, so I'm not sure if --crt-static is needed as well.

LigH-de commented 1 year ago

You should include libplacebo in the title of this issue.

marcusdoc commented 1 year ago

ok ... did both suggestions in (see https://github.com/m-ab-s/media-autobuild_suite/issues/2497); passed the dovi issue, but libplacebo still problematic

marcusdoc commented 1 year ago

My apologies as I thought the 'dovi' issue was solved, but the meson-log.txt states the following:

Called: `pkgconf --keep-system-libs --keep-system-cflags --modversion dovi` -> 1
stderr:
Package dovi was not found in the pkg-config search path.
Perhaps you should add the directory containing `dovi.pc'
to the PKG_CONFIG_PATH environment variable
Package 'dovi', required by 'virtual:world', not found
-----------
CMake binary for 1 is cached.
Preliminary CMake check failed. Aborting.
Run-time dependency dovi found: NO (tried pkgconfig and cmake)

logs.zip

marcusdoc commented 1 year ago

just hold on ... I'm going to start a completely fresh compile with the modifications from (see https://github.com/m-ab-s/media-autobuild_suite/issues/2497)

marcusdoc commented 1 year ago

(see https://github.com/m-ab-s/media-autobuild_suite/issues/2497) resolves this error closing report

LigH-de commented 1 year ago

I suspect a solution within the automated operation of the suite could be found, avoiding every user manually patching the system... but the linked discoveries will surely be helpful.