mpv-player / mpv-build

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

Confused about dependencies in build instructions. #214

Closed irthomasthomas closed 1 year ago

irthomasthomas commented 1 year ago

This section confuses me. I want to build mpv with all the features, and I thought mpv-build would do that. But then below it says: "Here is an incomplete list of essential dependencies... If they are missing, these features will be disabled silently. This includes some dependencies which could be considered essential."

So, I am not sure how I am supposed to proceed in order to build all essential dependencies to get a fully featured mpv build. Any help is appreciated.

Dependencies Essential dependencies (incomplete list):

gcc or clang, yasm, git autoconf/autotools (for libass) meson, ninja (libplacebo) X development headers (xlib, X extensions, vdpau, GL, Xv, ...) Audio output development headers (libasound, pulseaudio) fribidi, freetype, fontconfig development headers (for libass) libjpeg OpenSSL or GnuTLS development headers if you want to open https links (this is also needed to make youtube-dl interaction work) youtube-dl (at runtime) if you want to play Youtube videos directly (a builtin mpv script will call it) libx264/libmp3lame/libfdk-aac if you want to use encoding (you have to add these options explicitly to the ffmpeg options, as ffmpeg won't autodetect these libraries; see next section) Note: most dependencies are optional and autodetected. If they're missing, these features will be disabled silently. This includes some dependencies which could be considered essential.

CounterPillow commented 1 year ago

mpv-build includes libass, libplacebo and ffmpeg. Any dependency beyond that is up to you to install. You can see what is used on e.g. Debian here: https://github.com/mpv-player/mpv-build/blob/master/debian/control#L6

irthomasthomas commented 1 year ago

@CounterPillow I see, thanks. Would you be able to help me run down a build problem? I installed all the packages from that link, and I also did apt-get build-dep mpv, but it's building without GLSL:

Build type: native build Project name: libplacebo Project version: 6.266.0 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 C++ compiler for the host machine: c++ (gcc 11.3.0 "c++ (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0") C++ linker for the host machine: c++ ld.bfd 2.38 Host machine cpu family: x86_64 Host machine cpu: x86_64 Compiler for C supports arguments -Wincompatible-pointer-types: YES Compiler for C supports link arguments -Wl,--exclude-libs=ALL: YES Library m found: YES Program python3 found: YES (/usr/bin/python3) Run-time dependency threads found: YES Header "pthread.h" has symbol "pthread_condattr_setclock" with dependency threads: YES Found pkg-config: /usr/bin/pkg-config (0.29.2) Run-time dependency libunwind found: YES 1.3.2 Library execinfo found: NO Checking for function "backtrace_symbols" with dependency -lexecinfo: YES Check usable header "dbghelp.h" : NO Library dl found: YES Run-time dependency shaderc found: NO (tried pkgconfig, pkgconfig, pkgconfig and system) Library glslang-default-resource-limits found: NO Library SPIRV found: NO Library SPIRV found: NO Check usable header "d3d11.h" : NO Check usable header "d3d11_4.h" : NO Check usable header "dxgi1_6.h" : NO Run-time dependency spirv-cross-c-shared found: YES 0.44.0 Library version found: NO Library dl found: YES Run-time dependency vulkan found: YES 1.3.204 Run-time dependency lcms2 found: YES 2.15 src/meson.build:144: WARNING: Building without any GLSL compiler (shaderc, glslang), but with APIs required that require one (vulkan, d3d11). This build is very likely to be very limited in functionality!

CounterPillow commented 1 year ago

Install glslang-dev. If it still doesn't work, then your distro's glslang is too old.

Dudemanguy commented 1 year ago

User was just missing glslang as noted.